sgcUI en cinco minutos

sgcUI son diecisiete productos de interfaz nativa para Delphi, C++Builder y .NET, instalados con un único instalador. Esta página instala la prueba, coloca en un formulario una rejilla con filas en vivo, muestra el mismo código en C++Builder y C#, y después cambia toda la aplicación a modo oscuro y de derecha a izquierda con una llamada para cada uno.

Un instalador, 17 productos
VCL, FireMonkey, WinForms, WPF y Avalonia
Tema oscuro y derecha a izquierda integrados

Instala la prueba

No hay un instalador distinto por producto. Una prueba de Delphi y una de C++Builder instalan los diecisiete productos, y las versiones .NET vienen de NuGet.

1. Ejecuta el instalador

Descarga la prueba para Delphi o para C++Builder y ejecútala. La prueba instala todos los productos en su edición de prueba, con las demos y la ayuda, y no necesita licencia.

2. Elige tus IDE

Elige las versiones de Delphi o C++Builder en las que instalar, desde Delphi 7 y C++Builder 2007 hasta RAD Studio 13. El instalador compila los paquetes de cada una y registra los paquetes de tiempo de diseño en el IDE.

3. Las dependencias son automáticas

sgcGrid, sgcCharts, sgcDashboard y los demás controles se apoyan en sgcUICore, y sgcReports se apoya en sgcPDF. El instalador los compila en ese orden, así que no hay nada que añadir a mano.

4. Comprueba la paleta

Cada producto tiene su propia página en la Paleta de componentes: 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 y SGC Chat.

5. .NET desde NuGet

Añade el paquete de tu framework de interfaz, por ejemplo esegece.sgcGrid.WinForms, esegece.sgcGrid.Wpf o esegece.sgcGrid.Avalonia. Incorpora automáticamente esegece.sgcGrid y esegece.sgcUICore.

6. Community o Registered

Cada producto .NET incluye además un paquete Community gratuito con el sufijo .Community, por ejemplo esegece.sgcGrid.Community. Los paquetes Registered añaden todas las características, el código fuente completo y la licencia comercial. Para Delphi, la edición Community para Delphi gratuita instala solo sgcGrid.

Tu primer formulario sgcUI

Crea una aplicación VCL, suelta un TsgcVCLGrid de la página SGC Grid de la paleta sobre el formulario, haz doble clic en el formulario para obtener FormCreate y escribe las líneas siguientes. Pulsa F9. La misma rejilla en C++Builder y en una aplicación .NET WinForms está en las otras pestañas.

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 recibe los valores en el orden de las columnas. UpdateRow recibe nombres de campo, de modo que un mensaje que solo trae un precio solo modifica el precio, y una clave que todavía no existe se inserta. Las columnas también se pueden añadir en tiempo de diseño con el editor de Columns, y un TsgcGridSource_DataSet de la misma página de la paleta llena la rejilla desde cualquier 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))));
}

C++Builder usa los mismos componentes mediante las cabeceras y bibliotecas que genera el instalador de C++Builder. Los arrays abiertos de Delphi se pasan con la macro OPENARRAY. O prescinde del código, suelta el TsgcVCLGrid en el formulario y define las columnas en el Inspector de objetos.

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);
    }
}

Los nombres de clase siguen a los de Delphi: TsgcWinFormsGrid para WinForms, TsgcWpfGrid para WPF, y los mismos miembros Columns y Data en cada uno. Los paquetes WinForms apuntan a .NET Framework 4.7.2 y a .NET 8, 9 y 10 para Windows.

Un solo interruptor para toda la aplicación

Todos los controles sgcUI siguen por defecto el tema y la dirección de la aplicación. Una llamada los repinta todos en modo oscuro, y otra llamada refleja toda la aplicación para árabe o hebreo.

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;

Ambas funciones están en sgcUICore_Theme. Añade sgcUICore_Theme_VCL (o sgcUICore_Theme_FMX) cuando pases True, para que también se aplique el tema a los controles estándar de tus formularios. sgcUISystemTheme devuelve la elección clara u oscura del sistema operativo. Desde C++Builder, incluye sgcUICore_Theme.hpp y haz las mismas llamadas. Un control cuyo propio Theme sea utLight, utDark o utCustom lo conserva.

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 es una clase estática de esegece.sgcUICore, compartida por WinForms, WPF y Avalonia. Por control, las propiedades estándar siguen funcionando: RightToLeft en WinForms y FlowDirection en WPF y Avalonia.

Demos, productos y documentación

Las demos de la suite son aplicaciones completas que usan muchos productos a la vez. Los fuentes de las demos se incluyen en la prueba, en Demos\Suite.

Demos de la suite ERP, Factory, Fleet, Markets y Portfolio, compiladas y listas para ejecutar.
Los 17 productos Standard: sgcGrid, sgcNavigation, sgcToolbar y sgcEditors. Professional añade sgcCharts, sgcDashboard y sgcGauges. Enterprise añade sgcPivotGrid, sgcPlanner, sgcDiagram, sgcWizard, sgcMaps, sgcPDF, sgcReports, sgcRichEdit, sgcSpreadsheet y sgcChat.
Comparativa de características Qué hace cada producto, lado a lado, para Delphi, C++Builder y .NET.
Ayuda en línea Instalación, inicios rápidos por producto y framework, tema de la aplicación y derecha a izquierda.
Precios Standard, Professional y Enterprise, o cualquier producto por separado.
Descargar la prueba Instaladores de Delphi y C++Builder, las demos compiladas y la lista de paquetes NuGet.

Cada producto tiene su propio inicio rápido, listado en la página de primeros pasos.

Una guía Getting Started para cada producto

Cada producto sgcUI incluye cinco demos QuickStart para Delphi (VCL), desde el primer formulario hasta una pequeña aplicación completa, y una guía en PDF que las recorre paso a paso.

sgcCharts Un primer gráfico de líneas, títulos, ejes y una leyenda definidos en el Object Inspector, un flujo de datos en vivo, los eventos de clic, cursor en cruz y zoom, y una aplicación de ventas enlazada a un dataset.
sgcChat Una primera conversación, burbujas con Markdown, respuestas y reacciones, un bot de eco en el panel de chat, temas y una aplicación de asistente de IA.
sgcDashboard Un primer cuadro de mando con tarjetas KPI, la cuadrícula de mosaicos de 12 columnas, datos en vivo, temas y un cuadro de mando de ventas con un mosaico de gráfico.
sgcDiagram Un primer diagrama, formas de diagrama de flujo, los eventos de la vista con deshacer, temas y un editor de diagramas de flujo con exportación a JSON, PNG y SVG.
sgcEditors Los primeros editores en un formulario, lectura y escritura de valores, temas, validación y una aplicación de contactos construida sobre un formulario de datos.
sgcGauges Un primer indicador radial, escalas y rangos de colores, alarmas de umbral, temas y skins, y un monitor de estación de bombeo.
sgcGrid Una primera cuadrícula, columnas tipadas, edición en la propia celda, una conexión a un dataset y una aplicación de pedidos con filtros, agrupación y totales.
sgcMaps Un primer mapa con marcadores, marcadores y etiquetas añadidos desde código, formas, los eventos del mapa y un localizador de tiendas.
sgcNavigation Una primera barra de navegación, un menú construido desde código, pestañas de documentos, temas y estilos, y un pequeño cliente de correo.
sgcPDF Un primer PDF de una página, dibujo con fuentes, formas e imágenes, una tabla de varias páginas, un visor de PDF y un generador de facturas.
sgcPivotGrid Una primera tabla dinámica, filas, columnas y valores, totales y reglas de formato, una conexión a un dataset y una aplicación de análisis de ventas.
sgcPlanner Un primer planificador, sus vistas y recursos, citas editadas con el ratón y el teclado, un diagrama de Gantt y un tablero Kanban sobre los mismos datos, y un planificador de equipo.
sgcReports Un primer informe, una lista de datos desde un dataset, grupos y totales, exportación e impresión, y una aplicación de facturación.
sgcRichEdit Un primer documento de texto enriquecido, una barra de formato, estilos, tablas e imágenes, los formatos de archivo y una aplicación de combinación de correspondencia.
sgcToolbar Una primera barra de herramientas, todos los tipos de elemento, acciones y una barra de estado, temas y un pequeño editor de texto.
sgcWizard Un primer asistente de tres páginas, el aspecto de los pasos y los botones, validación y páginas omitidas, temas y transiciones, y una aplicación de incorporación.

Preguntas sobre el inicio rápido de sgcUI

No. Un instalador cubre los diecisiete productos. La prueba instala todos los productos, y el instalador con licencia muestra una casilla por producto y habilita los que tu licencia incluye. Los productos que necesitan otro, como sgcReports y sgcRichEdit con sgcPDF o sgcSpreadsheet con sgcGrid y sgcCharts, lo traen automáticamente.
El que encaje con tu pantalla. La mayoría de aplicaciones empiezan con sgcGrid para los datos, y luego añaden sgcCharts o sgcDashboard para lo visual y sgcNavigation y sgcToolbar para el armazón. Como comparten sgcUICore, comparten un único tema y una única dirección.
El modelo es el mismo, solo cambia la clase del control: TsgcFMXGrid para FireMonkey, TsgcWpfGrid para WPF y TsgcAvaloniaGrid para Avalonia, cada una con los mismos Columns y Data. La ayuda tiene un inicio rápido por producto y por framework.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para crear tu primer formulario sgcUI?

Descarga la prueba, ejecuta las demos de la suite y suelta una rejilla en un formulario.