sgcUI in cinque minuti

sgcUI è un insieme di quattordici prodotti UI nativi per Delphi, C++Builder e .NET, installati da un unico installer. Questa pagina installa il trial, mette su una form una griglia con righe aggiornate in tempo reale, mostra lo stesso codice in C++Builder e in C#, e poi passa l'intera applicazione al tema scuro e da destra a sinistra con una chiamata ciascuno.

Un installer, 14 prodotti
VCL, FireMonkey, WinForms, WPF e Avalonia
Tema scuro e da destra a sinistra integrati

Installa il trial

Non esiste un installer separato per ogni prodotto. Un trial per Delphi e uno per C++Builder installano tutti e quattordici i prodotti, mentre le versioni .NET arrivano da NuGet.

1. Esegui l'installer

Scarica il trial per Delphi o per C++Builder ed eseguilo. Il trial installa ogni prodotto nella sua edizione trial, con le demo e la guida, e non richiede alcuna licenza.

2. Scegli i tuoi IDE

Scegli le versioni di Delphi o C++Builder in cui installare, da Delphi 7 e C++Builder 2007 fino a RAD Studio 13. L'installer compila i package per ciascuna e registra nell'IDE i package di design-time.

3. Le dipendenze sono automatiche

sgcGrid, sgcCharts, sgcDashboard e gli altri controlli si basano su sgcUICore, e sgcReports si basa su sgcPDF. L'installer li compila in questo ordine, quindi non c'è nulla da aggiungere a mano.

4. Controlla la palette

Ogni prodotto ha la propria pagina nella 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 e sgcReports.

5. .NET da NuGet

Aggiungi il pacchetto per il tuo framework UI, per esempio esegece.sgcGrid.WinForms, esegece.sgcGrid.Wpf o esegece.sgcGrid.Avalonia. Include automaticamente esegece.sgcGrid ed esegece.sgcUICore.

6. Community o Registered

Ogni prodotto .NET include anche un pacchetto Community gratuito con il suffisso .Community, per esempio esegece.sgcGrid.Community. I pacchetti Registered aggiungono tutte le funzionalità, il codice sorgente completo e la licenza commerciale.

La tua prima form sgcUI

Crea un'applicazione VCL, trascina sulla form un TsgcVCLGrid dalla pagina SGC Grid della palette, fai doppio clic sulla form per ottenere FormCreate e scrivi le righe seguenti. Premi F9. La stessa griglia in C++Builder e in un'applicazione .NET WinForms si trova nelle altre schede.

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 riceve i valori nell'ordine delle colonne. UpdateRow riceve i nomi dei campi, quindi un messaggio che contiene solo un prezzo modifica solo il prezzo, e una chiave non ancora esistente viene inserita. Le colonne si possono aggiungere anche in design-time con l'editor Columns, e un TsgcGridSource_DataSet della stessa pagina della palette riempie la griglia da qualsiasi 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 gli stessi componenti tramite gli header e le librerie generati dall'installer di C++Builder. Gli open array di Delphi si passano con la macro OPENARRAY. Oppure salta il codice, trascina il TsgcVCLGrid sulla form e imposta le colonne nell'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);
    }
}

I nomi delle classi seguono quelli di Delphi: TsgcWinFormsGrid per WinForms, TsgcWpfGrid per WPF, con gli stessi membri Columns e Data in ciascuna. I pacchetti WinForms hanno come target .NET Framework 4.7.2 e .NET 8, 9 e 10 per Windows.

Un unico interruttore per l'intera applicazione

Ogni controllo sgcUI segue per impostazione predefinita il tema e la direzione dell'applicazione. Una chiamata li ridisegna tutti in tema scuro e una chiamata specchia l'intera applicazione per l'arabo o l'ebraico.

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;

Entrambe le funzioni si trovano in sgcUICore_Theme. Aggiungi sgcUICore_Theme_VCL (oppure sgcUICore_Theme_FMX) quando passi True, così anche i controlli standard delle tue form vengono tematizzati. sgcUISystemTheme restituisce la scelta chiaro o scuro del sistema operativo. Da C++Builder, includi sgcUICore_Theme.hpp ed esegui le stesse chiamate. Un controllo il cui Theme è utLight, utDark o utCustom mantiene il proprio.

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 è una classe statica in esegece.sgcUICore, condivisa da WinForms, WPF e Avalonia. Per ogni singolo controllo restano valide le proprietà standard: RightToLeft in WinForms e FlowDirection in WPF e Avalonia.

Demo, prodotti e documentazione

Le demo della suite sono applicazioni complete che usano molti prodotti insieme. I sorgenti delle demo sono inclusi nel trial, in Demos\Suite.

Demo della suite ERP, Factory, Fleet, Markets e Portfolio, compilate e pronte da eseguire.
I 14 prodotti Standard: sgcGrid, sgcNavigation, sgcToolbar e sgcEditors. Professional aggiunge sgcCharts, sgcDashboard e sgcGauges. Enterprise aggiunge sgcPivotGrid, sgcPlanner, sgcDiagram, sgcWizard, sgcMaps, sgcPDF e sgcReports.
Confronto delle funzionalità Cosa fa ogni prodotto, affiancati, per Delphi, C++Builder e .NET.
Guida online Installazione, guide rapide per prodotto e per framework, tema dell'applicazione e da destra a sinistra.
Prezzi Standard, Professional ed Enterprise, oppure qualsiasi prodotto singolo.
Scarica il trial Installer per Delphi e C++Builder, le demo compilate e l'elenco dei pacchetti NuGet.

Ogni prodotto ha la propria guida rapida, elencata nella pagina per iniziare.

Domande sulla guida rapida di sgcUI

No. Un unico installer copre tutti e quattordici i prodotti. Il trial installa ogni prodotto e l'installer con licenza mostra una casella per prodotto e abilita quelli inclusi nella tua licenza. I prodotti che ne richiedono un altro, come sgcReports con sgcPDF, lo includono automaticamente.
Da quello che corrisponde alla tua schermata. La maggior parte delle applicazioni parte da sgcGrid per i dati, poi aggiunge sgcCharts o sgcDashboard per la parte visiva e sgcNavigation e sgcToolbar per la struttura. Poiché condividono sgcUICore, condividono un unico tema e un'unica direzione.
Il modello è lo stesso, cambia solo la classe del controllo: TsgcFMXGrid per FireMonkey, TsgcWpfGrid per WPF e TsgcAvaloniaGrid per Avalonia, ciascuna con gli stessi Columns e Data. La guida ha una guida rapida per prodotto e per framework.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto a creare la tua prima form sgcUI?

Scarica il trial, esegui le demo della suite, poi metti una griglia su una form.