sgcUI in fünf Minuten

sgcUI sind vierzehn 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, 14 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 vierzehn 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 und sgcReports.

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.

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 14 Produkte Standard: sgcGrid, sgcNavigation, sgcToolbar und sgcEditors. Professional ergänzt sgcCharts, sgcDashboard und sgcGauges. Enterprise ergänzt sgcPivotGrid, sgcPlanner, sgcDiagram, sgcWizard, sgcMaps, sgcPDF und sgcReports.
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.

Fragen zum sgcUI-Schnellstart

Nein. Ein Installer deckt alle vierzehn 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, wie sgcReports sgcPDF, 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.