O sgcUI reúne dezessete produtos de interface nativos para Delphi, C++Builder e .NET, instalados por um único instalador. Esta página instala a versão de avaliação, coloca em um form um grid com linhas ao vivo, mostra o mesmo código em C++Builder e C# e, em seguida, muda o aplicativo inteiro para o modo escuro e para a direção da direita para a esquerda, com uma chamada para cada.
Um instalador, 17 produtos
VCL, FireMonkey, WinForms, WPF e Avalonia
Tema escuro e direita para a esquerda integrados
Passo 1
Instale a versão de avaliação
Não há um instalador separado por produto. Uma avaliação para Delphi e outra para C++Builder instalam os dezessete produtos, e as versões .NET vêm do NuGet.
1. Execute o instalador
Baixe a versão de avaliação para Delphi ou para C++Builder e execute-a. A avaliação instala todos os produtos na edição de avaliação, com os demos e a ajuda, e não precisa de licença.
2. Escolha suas IDEs
Escolha as versões do Delphi ou do C++Builder em que instalar, do Delphi 7 e do C++Builder 2007 até o RAD Studio 13. O instalador compila os pacotes de cada uma e registra os pacotes de design-time na IDE.
3. As dependências são automáticas
O sgcGrid, o sgcCharts, o sgcDashboard e os demais controles se baseiam no sgcUICore, e o sgcReports se baseia no sgcPDF. O instalador os compila nessa ordem, então não há nada para adicionar manualmente.
4. Confira a paleta
Cada produto tem a sua própria página na Tool Palette: SGC Grid, SGC Navigation, SGC Toolbar, SGC Editors, SGC Charts, SGC Dashboard, SGC Gauges, SGC PivotGrid, SGC Planner, SGC Diagram, SGC Wizard, SGC Maps, sgcPDF, sgcReports, SGC RichEdit, SGC Spreadsheet e SGC Chat.
5. .NET pelo NuGet
Adicione o pacote do seu framework de interface, por exemplo esegece.sgcGrid.WinForms, esegece.sgcGrid.Wpf ou esegece.sgcGrid.Avalonia. Ele traz esegece.sgcGrid e esegece.sgcUICore automaticamente.
6. Community ou Registered
Todo produto .NET também inclui um pacote Community gratuito, com o sufixo .Community, por exemplo esegece.sgcGrid.Community. Os pacotes Registered adicionam todos os recursos, o código-fonte completo e a licença comercial. No Delphi, a edição Delphi Community gratuita instala somente o sgcGrid.
QuickStart
Seu primeiro form com sgcUI
Crie um aplicativo VCL, solte um TsgcVCLGrid da página SGC Grid da paleta no form, dê um clique duplo no form para obter o FormCreate e digite as linhas abaixo. Pressione F9. O mesmo grid no C++Builder e em um aplicativo .NET WinForms está nas outras abas.
Unit1.pas
uses
SysUtils, Classes, Controls, Forms,
sgcGrid_Columns, sgcGrid_Data, sgcGrid_VCL;
type
TForm1 = class(TForm)
sgcVCLGrid1: TsgcVCLGrid;
procedure FormCreate(Sender: TObject);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
sgcVCLGrid1.Align := alClient;
// the columns: field name, caption and data type
sgcVCLGrid1.Columns.Add('Symbol', 'Symbol');
sgcVCLGrid1.Columns.Add('Price', 'Price', gdtFloat).DisplayFormat := '0.00';
sgcVCLGrid1.Columns.Add('Volume', 'Volume', gdtInteger);
// one row per key, the values in column order
sgcVCLGrid1.Data.AppendRow('MSFT', ['MSFT', 412.5, 1200]);
sgcVCLGrid1.Data.AppendRow('AAPL', ['AAPL', 228.1, 3400]);
// later, from any thread: update a row by key and field name
sgcVCLGrid1.Data.UpdateRow('MSFT', ['Price', 'Volume'], [413.1, 1350]);
end;
AppendRow recebe os valores na ordem das colunas. UpdateRow recebe nomes de campos, então uma mensagem que traz apenas um preço altera somente o preço, e uma chave que ainda não existe é inserida. As colunas também podem ser adicionadas em design-time com o editor Columns, e um TsgcGridSource_DataSet da mesma página da paleta preenche o grid a partir de qualquer TDataSet.
Unit1.cpp
#include <vcl.h>
#include"sgcGrid_Columns.hpp"#include"sgcGrid_Data.hpp"#include"sgcGrid_VCL.hpp"void __fastcall CreateGrid(TForm *Form)
{
TsgcVCLGrid *Grid = new TsgcVCLGrid(Form);
Grid->Parent = Form;
Grid->Align = alClient;
// the columns: field name, caption and data type
Grid->Columns->Add("Symbol", "Symbol", gdtText);
Grid->Columns->Add("Price", "Price", gdtFloat)->DisplayFormat = "0.00";
Grid->Columns->Add("Volume", "Volume", gdtInteger);
// one row per key, the values in column order
Grid->Data->AppendRow("MSFT", OPENARRAY(Variant,
(Variant("MSFT"), Variant(412.5), Variant(1200))));
Grid->Data->AppendRow("AAPL", OPENARRAY(Variant,
(Variant("AAPL"), Variant(228.1), Variant(3400))));
}
O C++Builder usa os mesmos componentes por meio dos headers e das bibliotecas que o instalador do C++Builder gera. Os open arrays do Delphi são passados com a macro OPENARRAY. Ou dispense o código, solte o TsgcVCLGrid no form e defina as colunas no Object Inspector.
Program.cs
// dotnet add package esegece.sgcGrid.WinFormsusing System;
using System.Windows.Forms;
using esegece.sgcGrid;
internal static class Program
{
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Form oForm = new Form { Text = "My first sgcUI form", Width = 640, Height = 360 };
TsgcWinFormsGrid oGrid = new TsgcWinFormsGrid { Dock = DockStyle.Fill };
oGrid.Columns.Add("symbol", "Symbol");
oGrid.Columns.Add("price", "Price", TsgcGridDataType.gdtFloat).DisplayFormat = "0.00";
oGrid.Columns.Add("volume", "Volume", TsgcGridDataType.gdtInteger);
oGrid.Data.AppendRow("MSFT", "MSFT", 412.5, 1200);
oGrid.Data.AppendRow("AAPL", "AAPL", 228.1, 3400);
oGrid.Data.UpdateRow("MSFT", new[] { "price", "volume" }, new object[] { 413.1, 1350 });
oForm.Controls.Add(oGrid);
Application.Run(oForm);
}
}
Os nomes das classes seguem os do Delphi: TsgcWinFormsGrid para WinForms, TsgcWpfGrid para WPF, com os mesmos membros Columns e Data em cada um. Os pacotes WinForms têm como alvo o .NET Framework 4.7.2 e o .NET 8, 9 e 10 para Windows.
Tema e direção
Um único interruptor para o aplicativo inteiro
Todo controle sgcUI segue por padrão o tema e a direção do aplicativo. Uma chamada repinta todos eles no modo escuro, e outra espelha o aplicativo inteiro para árabe ou hebraico.
Theme.pas
uses
Classes,
sgcUICore_Theme, sgcUICore_Theme_VCL;
procedure ApplyAppSettings(aDark, aRightToLeft: Boolean);
begin// every sgcUI control whose Theme is utDefault repaints in the new theme;// True also themes the standard controls of every open formif aDark then
sgcUISetApplicationTheme(utDark, True)
else
sgcUISetApplicationTheme(sgcUISystemTheme, True);
// mirrors every open form and the sgcUI controls that follow itif aRightToLeft then
sgcUISetApplicationBiDiMode(bdRightToLeft)
else
sgcUISetApplicationBiDiMode(bdLeftToRight);
end;
As duas funções ficam em sgcUICore_Theme. Adicione sgcUICore_Theme_VCL (ou sgcUICore_Theme_FMX) quando passar True, para que os controles padrão dos seus forms também recebam o tema. sgcUISystemTheme retorna a escolha clara ou escura do sistema operacional. No C++Builder, inclua sgcUICore_Theme.hpp e faça as mesmas chamadas. Um controle cujo próprio Theme seja utLight, utDark ou utCustom o mantém.
Program.cs
using esegece.sgcUICore;
// follow the light or dark choice of Windows, and theme the forms too
sgcUIApplication.SetTheme(sgcUIApplication.SystemTheme(), true);
// or force dark mode
sgcUIApplication.SetTheme(TsgcUITheme.utDark);
// mirror every open form and the sgcUI controls that follow it
sgcUIApplication.SetRightToLeft(true);
sgcUIApplication é uma classe estática em esegece.sgcUICore, compartilhada por WinForms, WPF e Avalonia. Por controle, as propriedades padrão continuam funcionando: RightToLeft no WinForms e FlowDirection no WPF e no Avalonia.
Próximos passos
Demos, produtos e documentação
Os demos da suíte são aplicativos completos que usam vários produtos ao mesmo tempo. O código-fonte dos demos acompanha a avaliação, em Demos\Suite.
Demos da suíteERP, Factory, Fleet, Markets e Portfolio, compilados e prontos para executar.
Os 17 produtosStandard: sgcGrid, sgcNavigation, sgcToolbar e sgcEditors. A Professional adiciona sgcCharts, sgcDashboard e sgcGauges. A Enterprise adiciona sgcPivotGrid, sgcPlanner, sgcDiagram, sgcWizard, sgcMaps, sgcPDF, sgcReports, sgcRichEdit, sgcSpreadsheet e sgcChat.
Cada produto sgcUI inclui cinco demos QuickStart para Delphi (VCL), do primeiro formulário até uma pequena aplicação completa, e um guia em PDF que as explica passo a passo.
sgcChartsUm primeiro gráfico de linhas, títulos, eixos e legenda definidos no Object Inspector, um feed de dados ao vivo, os eventos de clique, mira e zoom, e uma aplicação de vendas ligada a um dataset.
sgcDashboardUm primeiro dashboard com cartões de KPI, a grade de blocos de 12 colunas, dados ao vivo, temas, e um dashboard de vendas com um bloco de gráfico.
sgcDiagramUm primeiro diagrama, formas de fluxograma, os eventos da view com desfazer, temas, e um editor de fluxogramas com exportação para JSON, PNG e SVG.
sgcEditorsOs primeiros editores em um formulário, leitura e escrita de valores, temas, validação, e uma aplicação de contatos construída sobre um formulário de dados.
sgcGridUma primeira grade, colunas tipadas, edição direta na célula, uma conexão com dataset, e uma aplicação de pedidos com filtros, agrupamento e totais.
sgcPDFUm primeiro PDF de uma página, desenho com fontes, formas e imagens, uma tabela em várias páginas, um visualizador de PDF, e um gerador de faturas.
sgcPivotGridUma primeira grade dinâmica, linhas, colunas e valores, totais e regras de formatação, uma conexão com dataset, e uma aplicação de análise de vendas.
sgcPlannerUm primeiro agendador, suas views e recursos, compromissos editados com o mouse e o teclado, um gráfico de Gantt e um quadro Kanban sobre os mesmos dados, e um planejador de equipe.
sgcRichEditUm primeiro documento de texto formatado, uma barra de formatação, estilos, tabelas e imagens, os formatos de arquivo, e uma aplicação de mala direta.
sgcWizardUm primeiro assistente de três páginas, o visual das etapas e dos botões, validação e páginas ignoradas, temas e transições, e uma aplicação de integração de novos usuários.
Não. Um único instalador cobre os dezessete produtos. A avaliação instala todos os produtos, e o instalador licenciado mostra uma caixa de seleção por produto e habilita os que a sua licença inclui. Os produtos que dependem de outro, como o sgcReports e o sgcRichEdit no sgcPDF ou o sgcSpreadsheet no sgcGrid e no sgcCharts, os trazem automaticamente.
Aquele que corresponde à sua tela. A maioria dos aplicativos começa com o sgcGrid para os dados e depois adiciona o sgcCharts ou o sgcDashboard para a parte visual e o sgcNavigation e o sgcToolbar para o shell. Como compartilham o sgcUICore, compartilham um único tema e uma única direção.
O modelo é o mesmo, muda apenas a classe do controle: TsgcFMXGrid para FireMonkey, TsgcWpfGrid para WPF e TsgcAvaloniaGrid para Avalonia, cada uma com os mesmos Columns e Data. A ajuda tem um início rápido por produto e por framework.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.