sgcUI in fünf Minuten

sgcUI sind siebzehn native UI-Produkte für Delphi, C++ Builder und .NET, installiert mit einem einzigen Installer. Diese Seite installiert die Testversion, setzt ein Grid mit Live-Zeilen auf ein Formular, zeigt denselben Code in C++ Builder und C# und stellt dann die ganze Anwendung mit je einem Aufruf auf den dunklen Modus und auf von rechts nach links um.

Ein Installer, 17 Produkte
VCL, FireMonkey, WinForms, WPF und Avalonia
Dunkles Theme und Rechts-nach-links integriert

Installiere die Testversion

Es gibt keinen eigenen Installer pro Produkt. Eine Delphi-Testversion und eine C++ Builder-Testversion installieren alle siebzehn Produkte, und die .NET-Versionen kommen von NuGet.

1. Installer starten

Lade die Testversion herunter, für Delphi oder für C++ Builder, und starte sie. Die Testversion installiert jedes Produkt in seiner Testedition, mit den Demos und der Hilfe, und braucht keine Lizenz.

2. IDEs auswählen

Wähle die Delphi- oder C++ Builder-Versionen, in die installiert werden soll, von Delphi 7 und C++ Builder 2007 bis RAD Studio 13. Der Installer kompiliert die Packages für jede Version und registriert die Design-Time-Packages in der IDE.

3. Abhängigkeiten werden automatisch aufgelöst

sgcGrid, sgcCharts, sgcDashboard und die anderen Steuerelemente bauen auf sgcUICore auf, und sgcReports baut auf sgcPDF auf. Der Installer kompiliert sie in dieser Reihenfolge, also musst du nichts von Hand ergänzen.

4. Palette prüfen

Jedes Produkt bekommt eine eigene Seite in der 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 und SGC Chat.

5. .NET über NuGet

Füge das Package für dein UI-Framework hinzu, zum Beispiel esegece.sgcGrid.WinForms, esegece.sgcGrid.Wpf oder esegece.sgcGrid.Avalonia. Es zieht esegece.sgcGrid und esegece.sgcUICore automatisch mit.

6. Community oder Registered

Jedes .NET-Produkt wird auch als kostenloses Community-Package mit dem Suffix .Community ausgeliefert, zum Beispiel esegece.sgcGrid.Community. Die Registered-Packages enthalten alle Funktionen, den vollständigen Quellcode und die kommerzielle Lizenz. Für Delphi installiert die kostenlose Delphi Community Edition nur sgcGrid.

Dein erstes sgcUI-Formular

Erstelle eine VCL-Anwendung, ziehe ein TsgcVCLGrid von der Palettenseite SGC Grid auf das Formular, doppelklicke auf das Formular, um FormCreate zu erzeugen, und tippe die folgenden Zeilen ein. Drücke F9. Dasselbe Grid in C++ Builder und in einer .NET-WinForms-Anwendung findest du auf den anderen Tabs.

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 nimmt die Werte in der Reihenfolge der Spalten. UpdateRow nimmt Feldnamen, sodass eine Nachricht, die nur einen Preis enthält, auch nur den Preis ändert, und ein Schlüssel, den es noch nicht gibt, eingefügt wird. Die Spalten lassen sich auch zur Entwurfszeit mit dem Columns-Editor hinzufügen, und ein TsgcGridSource_DataSet von derselben Palettenseite füllt das Grid aus jedem 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 verwendet dieselben Komponenten über die Header und Bibliotheken, die der C++ Builder-Installer erzeugt. Delphi-Open-Arrays werden mit dem Makro OPENARRAY übergeben. Oder verzichte auf den Code, ziehe das TsgcVCLGrid auf das Formular und lege die Spalten im Objektinspektor fest.

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

Die Klassennamen folgen denen von Delphi: TsgcWinFormsGrid für WinForms, TsgcWpfGrid für WPF, jeweils mit denselben Membern Columns und Data. Die WinForms-Packages zielen auf .NET Framework 4.7.2 sowie .NET 8, 9 und 10 für Windows.

Ein Schalter für die ganze Anwendung

Jedes sgcUI-Steuerelement folgt standardmäßig dem Theme und der Richtung der Anwendung. Ein Aufruf zeichnet alle im dunklen Modus neu, und ein Aufruf spiegelt die ganze Anwendung für Arabisch oder Hebräisch.

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;

Beide Funktionen befinden sich in sgcUICore_Theme. Füge sgcUICore_Theme_VCL (oder sgcUICore_Theme_FMX) hinzu, wenn du True übergibst, damit auch die Standardsteuerelemente deiner Formulare ein Theme erhalten. sgcUISystemTheme liefert die Hell- oder Dunkel-Einstellung des Betriebssystems. Binde in C++ Builder sgcUICore_Theme.hpp ein und rufe dieselben Funktionen auf. Ein Steuerelement, dessen eigenes Theme utLight, utDark oder utCustom ist, behält es.

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 ist eine statische Klasse in esegece.sgcUICore, die von WinForms, WPF und Avalonia gemeinsam genutzt wird. Pro Steuerelement funktionieren weiterhin die Standardeigenschaften: RightToLeft in WinForms und FlowDirection in WPF und Avalonia.

Demos, Produkte und Dokumentation

Die Suite-Demos sind vollständige Anwendungen, die viele Produkte gleichzeitig nutzen. Die Demo-Quellen sind in der Testversion enthalten, unter Demos\Suite.

Suite-Demos ERP, Factory, Fleet, Markets und Portfolio, kompiliert und sofort lauffähig.
Die 17 Produkte Standard: sgcGrid, sgcNavigation, sgcToolbar und sgcEditors. Professional ergänzt sgcCharts, sgcDashboard und sgcGauges. Enterprise ergänzt sgcPivotGrid, sgcPlanner, sgcDiagram, sgcWizard, sgcMaps, sgcPDF, sgcReports, sgcRichEdit, sgcSpreadsheet und sgcChat.
Funktionsvergleich Was jedes Produkt kann, nebeneinander, für Delphi, C++ Builder und .NET.
Online-Hilfe Installation, Schnellstarts pro Produkt und Framework, Anwendungs-Theme und Rechts-nach-links.
Preise Standard, Professional und Enterprise, oder jedes Produkt einzeln.
Testversion herunterladen Installer für Delphi und C++ Builder, die kompilierten Demos und die Liste der NuGet-Packages.

Jedes Produkt hat seinen eigenen Schnellstart, aufgelistet auf der Seite Erste Schritte.

Ein Getting-Started-Leitfaden für jedes Produkt

Jedes sgcUI-Produkt enthält fünf QuickStart-Demos für Delphi (VCL), vom ersten Formular bis zu einer kleinen, vollständigen Anwendung, und einen PDF-Leitfaden (auf Englisch), der Schritt für Schritt durch sie führt.

sgcCharts Ein erstes Liniendiagramm, Titel, Achsen und eine Legende im Objektinspektor, ein Live-Datenstrom, die Klick-, Fadenkreuz- und Zoom-Ereignisse und eine an ein Dataset gebundene Verkaufsanwendung.
sgcChat Ein erstes Gespräch, Sprechblasen mit Markdown, Antworten und Reaktionen, ein Echo-Bot auf dem Chat-Panel, Themes und eine KI-Assistenten-Anwendung.
sgcDashboard Ein erstes Dashboard mit KPI-Karten, das Kachelraster mit 12 Spalten, Live-Daten, Themes und ein Verkaufs-Dashboard mit einer Diagramm-Kachel.
sgcDiagram Ein erstes Diagramm, Flussdiagramm-Formen, die Ansichtsereignisse mit Rückgängig-Funktion, Themes und ein Flussdiagramm-Editor mit JSON-, PNG- und SVG-Export.
sgcEditors Die ersten Editoren auf einem Formular, Werte lesen und schreiben, Themes, Validierung und eine Kontakte-Anwendung auf Basis eines Datenformulars.
sgcGauges Ein erstes Radial-Messgerät, Skalen und farbige Bereiche, Schwellenwert-Alarme, Themes und Skins und ein Pumpstationsmonitor.
sgcGrid Ein erstes Grid, typisierte Spalten, Bearbeitung direkt in der Zelle, eine Dataset-Verbindung und eine Auftragsanwendung mit Filtern, Gruppierung und Summen.
sgcMaps Eine erste Karte mit Markern, im Code hinzugefügte Marker und Beschriftungen, Formen, die Karten-Ereignisse und ein Filialfinder.
sgcNavigation Eine erste Navigationsleiste, ein im Code erstelltes Menü, Dokument-Registerkarten, Themes und Stile und ein kleiner Mail-Client.
sgcPDF Ein erstes einseitiges PDF, Zeichnen mit Schriften, Formen und Bildern, eine Tabelle über mehrere Seiten, ein PDF-Viewer und ein Rechnungsgenerator.
sgcPivotGrid Ein erstes Pivot-Grid, Zeilen, Spalten und Werte, Summen und Formatregeln, eine Dataset-Verbindung und eine Verkaufsanalyse-Anwendung.
sgcPlanner Ein erster Scheduler, seine Ansichten und Ressourcen, mit Maus und Tastatur bearbeitete Termine, ein Gantt-Diagramm und ein Kanban-Board auf denselben Daten und ein Teamplaner.
sgcReports Ein erster Bericht, eine Datenliste aus einem Dataset, Gruppen und Summen, Export und Druck und eine Rechnungsanwendung.
sgcRichEdit Ein erstes Rich-Text-Dokument, eine Formatierungsleiste, Formatvorlagen, Tabellen und Bilder, die Dateiformate und eine Serienbrief-Anwendung.
sgcToolbar Eine erste Symbolleiste, jede Art von Element, Aktionen und eine Statusleiste, Themes und ein kleiner Texteditor.
sgcWizard Ein erster Assistent mit drei Seiten, das Aussehen der Schritte und Schaltflächen, Validierung und übersprungene Seiten, Themes und Übergänge und eine Onboarding-Anwendung.

Fragen zum sgcUI-Schnellstart

Nein. Ein Installer deckt alle siebzehn Produkte ab. Die Testversion installiert jedes Produkt, und der lizenzierte Installer zeigt ein Kontrollkästchen pro Produkt und aktiviert die, die deine Lizenz umfasst. Produkte, die ein anderes benötigen, etwa sgcReports und sgcRichEdit mit sgcPDF or sgcSpreadsheet on sgcGrid and sgcCharts, bringen es automatisch mit.
Mit dem, das zu deinem Bildschirm passt. Die meisten Anwendungen beginnen mit sgcGrid für die Daten und ergänzen dann sgcCharts or sgcDashboard für die Visualisierung sowie sgcNavigation and sgcToolbar für die Hülle. Weil sie sgcUICore gemeinsam nutzen, teilen sie sich ein Theme und eine Richtung.
Das Modell ist dasselbe, nur die Steuerelementklasse ändert sich: TsgcFMXGrid für FireMonkey, TsgcWpfGrid für WPF und TsgcAvaloniaGrid für Avalonia, jeweils mit denselben Columns und Data. Die Hilfe enthält einen Schnellstart pro Produkt und pro Framework.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit, dein erstes sgcUI-Formular zu bauen?

Lade die Testversion herunter, starte die Suite-Demos und setze dann ein Grid auf ein Formular.