sgcUI em cinco minutos

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

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.

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.WinForms
using 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.

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 form
  if aDark then
    sgcUISetApplicationTheme(utDark, True)
  else
    sgcUISetApplicationTheme(sgcUISystemTheme, True);
  // mirrors every open form and the sgcUI controls that follow it
  if 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.

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íte ERP, Factory, Fleet, Markets e Portfolio, compilados e prontos para executar.
Os 17 produtos Standard: 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.
Comparação de recursos O que cada produto faz, lado a lado, para Delphi, C++Builder e .NET.
Ajuda online Instalação, inícios rápidos por produto e por framework, tema do aplicativo e direita para a esquerda.
Preços Standard, Professional e Enterprise, ou qualquer produto avulso.
Baixe a versão de avaliação Instaladores para Delphi e C++Builder, os demos compilados e a lista de pacotes NuGet.

Cada produto tem o seu próprio início rápido, listado na página de primeiros passos.

Um guia Primeiros Passos para cada produto

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.

sgcCharts Um 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.
sgcChat Uma primeira conversa, balões com Markdown, respostas e reações, um bot de eco no painel de chat, temas, e uma aplicação de assistente de IA.
sgcDashboard Um 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.
sgcDiagram Um 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.
sgcEditors Os 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.
sgcGauges Um primeiro medidor radial, escalas e faixas coloridas, alarmes de limite, temas e skins, e um monitor de estação de bombeamento.
sgcGrid Uma 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.
sgcMaps Um primeiro mapa com marcadores, marcadores e rótulos adicionados em código, formas, os eventos do mapa, e um localizador de lojas.
sgcNavigation Uma primeira barra de navegação, um menu criado em código, abas de documentos, temas e estilos, e um pequeno cliente de e-mail.
sgcPDF Um 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.
sgcPivotGrid Uma 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.
sgcPlanner Um 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.
sgcReports Um primeiro relatório, uma lista de dados vinda de um dataset, grupos e totais, exportação e impressão, e uma aplicação de faturamento.
sgcRichEdit Um 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.
sgcToolbar Uma primeira barra de ferramentas, todos os tipos de item, actions e uma barra de status, temas, e um pequeno editor de texto.
sgcWizard Um 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.

Perguntas sobre o início rápido do sgcUI

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.
Ver preços do All-Access

Pronto para criar seu primeiro form com sgcUI?

Baixe a versão de avaliação, execute os demos da suíte e depois solte um grid em um form.