sgcUI w pięć minut

sgcUI to czternaście natywnych produktów UI dla Delphi, C++Builder i .NET, instalowanych jednym instalatorem. Ta strona instaluje wersję próbną, umieszcza na formularzu siatkę z wierszami na żywo, pokazuje ten sam kod w C++Builder i C#, a następnie przełącza całą aplikację na tryb ciemny i układ od prawej do lewej, każde jednym wywołaniem.

Jeden instalator, 14 produktów
VCL, FireMonkey, WinForms, WPF i Avalonia
Motyw ciemny i układ od prawej do lewej w zestawie

Zainstaluj wersję próbną

Nie ma osobnego instalatora dla każdego produktu. Jedna wersja próbna dla Delphi i jedna dla C++Builder instalują wszystkie czternaście produktów, a wersje .NET pochodzą z NuGet.

1. Uruchom instalator

Pobierz bezpłatną wersję próbną dla Delphi lub C++Builder i uruchom ją. Wersja próbna instaluje każdy produkt w edycji próbnej, z demami i pomocą, i nie wymaga licencji.

2. Wybierz swoje środowiska IDE

Wybierz wersje Delphi lub C++Builder, w których ma się odbyć instalacja, od Delphi 7 i C++Builder 2007 do RAD Studio 13. Instalator kompiluje pakiety dla każdej z nich i rejestruje pakiety czasu projektowania w IDE.

3. Zależności są automatyczne

sgcGrid, sgcCharts, sgcDashboard i pozostałe kontrolki bazują na sgcUICore, a sgcReports bazuje na sgcPDF. Instalator kompiluje je w tej kolejności, więc nie trzeba niczego dodawać ręcznie.

4. Sprawdź paletę

Każdy produkt ma własną stronę palety narzędzi (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 i sgcReports.

5. .NET z NuGet

Dodaj pakiet dla swojego frameworka UI, na przykład esegece.sgcGrid.WinForms, esegece.sgcGrid.Wpf lub esegece.sgcGrid.Avalonia. Pakiet sam pobiera esegece.sgcGrid i esegece.sgcUICore.

6. Community lub Registered

Każdy produkt .NET ma także bezpłatny pakiet Community z przyrostkiem .Community, na przykład esegece.sgcGrid.Community. Pakiety Registered dodają wszystkie funkcje, pełny kod źródłowy i licencję komercyjną.

Twój pierwszy formularz sgcUI

Utwórz aplikację VCL, upuść na formularz komponent TsgcVCLGrid ze strony palety SGC Grid, kliknij formularz dwukrotnie, aby uzyskać FormCreate, i wpisz poniższe linie. Naciśnij F9. Ta sama siatka w C++Builder i w aplikacji .NET WinForms jest na pozostałych kartach.

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 przyjmuje wartości w kolejności kolumn. UpdateRow przyjmuje nazwy pól, więc komunikat niosący tylko cenę zmienia wyłącznie cenę, a klucz, który jeszcze nie istnieje, jest wstawiany. Kolumny można też dodać w czasie projektowania za pomocą edytora Columns, a komponent TsgcGridSource_DataSet z tej samej strony palety wypełnia siatkę z dowolnego 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 używa tych samych komponentów poprzez nagłówki i biblioteki budowane przez instalator C++Builder. Otwarte tablice Delphi przekazuje się za pomocą makra OPENARRAY. Możesz też pominąć kod, upuścić TsgcVCLGrid na formularz i ustawić kolumny w Inspektorze obiektów.

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

Nazwy klas odpowiadają nazwom z Delphi: TsgcWinFormsGrid dla WinForms, TsgcWpfGrid dla WPF, a każda ma te same składowe Columns i Data. Pakiety WinForms celują w .NET Framework 4.7.2 oraz .NET 8, 9 i 10 dla Windows.

Jeden przełącznik dla całej aplikacji

Każda kontrolka sgcUI domyślnie podąża za motywem i kierunkiem aplikacji. Jedno wywołanie przemalowuje je wszystkie w trybie ciemnym, a jedno wywołanie odbija lustrzanie całą aplikację dla języka arabskiego lub hebrajskiego.

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;

Obie funkcje znajdują się w sgcUICore_Theme. Dodaj sgcUICore_Theme_VCL (lub sgcUICore_Theme_FMX), gdy przekazujesz True, aby standardowe kontrolki Twoich formularzy również otrzymały motyw. sgcUISystemTheme zwraca jasny lub ciemny wybór systemu operacyjnego. W C++Builder dołącz sgcUICore_Theme.hpp i wykonaj te same wywołania. Kontrolka, której własna właściwość Theme ma wartość utLight, utDark lub utCustom, zachowuje ją.

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 to klasa statyczna w esegece.sgcUICore, wspólna dla WinForms, WPF i Avalonia. Dla pojedynczej kontrolki nadal działają standardowe właściwości: RightToLeft w WinForms oraz FlowDirection w WPF i Avalonia.

Dema, produkty i dokumentacja

Dema zestawu to kompletne aplikacje, które używają wielu produktów jednocześnie. Źródła dem są w wersji próbnej, w katalogu Demos\Suite.

Dema zestawu ERP, Factory, Fleet, Markets i Portfolio, skompilowane i gotowe do uruchomienia.
14 produktów Standard: sgcGrid, sgcNavigation, sgcToolbar i sgcEditors. Professional dodaje sgcCharts, sgcDashboard i sgcGauges. Enterprise dodaje sgcPivotGrid, sgcPlanner, sgcDiagram, sgcWizard, sgcMaps, sgcPDF i sgcReports.
Porównanie funkcji Co robi każdy produkt, obok siebie, dla Delphi, C++Builder i .NET.
Pomoc online Instalacja, szybkie starty dla każdego produktu i frameworka, motyw aplikacji oraz układ od prawej do lewej.
Cennik Standard, Professional i Enterprise albo dowolny produkt osobno.
Pobierz wersję próbną Instalatory dla Delphi i C++Builder, skompilowane dema i lista pakietów NuGet.

Każdy produkt ma własny szybki start, wymieniony na stronie Pierwsze kroki.

Pytania o szybki start sgcUI

Nie. Jeden instalator obejmuje wszystkie czternaście produktów. Wersja próbna instaluje każdy produkt, a instalator licencjonowany pokazuje po jednym polu wyboru na produkt i włącza te, które obejmuje Twoja licencja. Produkty, które wymagają innego, jak sgcReports wymagający sgcPDF, dołączają go automatycznie.
Od tego, który pasuje do Twojego ekranu. Większość aplikacji zaczyna od sgcGrid dla danych, a potem dodaje sgcCharts lub sgcDashboard dla wizualizacji oraz sgcNavigation i sgcToolbar dla powłoki. Ponieważ współdzielą sgcUICore, mają jeden motyw i jeden kierunek.
Model jest ten sam, zmienia się tylko klasa kontrolki: TsgcFMXGrid dla FireMonkey, TsgcWpfGrid dla WPF i TsgcAvaloniaGrid dla Avalonia, każda z tymi samymi Columns i Data. Pomoc zawiera szybki start dla każdego produktu i każdego frameworka.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, by zbudować swój pierwszy formularz sgcUI?

Pobierz wersję próbną, uruchom dema zestawu, a potem upuść siatkę na formularz.