Auch auf YouTube.

sgcUI 2026.11: sgcChat, KI-Assistent und Team-Chat für Delphi und .NET | eSeGeCe Blog

sgcUI 2026.11: sgcChat, KI-Assistent und Team-Chat für Delphi, C++ Builder und .NET

· Versionen
sgcUI 2026.11: sgcChat, KI-Assistent und Team-Chat für Delphi und .NET
✦  Neue Version · sgcUI 2026.11

Lernen Sie sgcChat kennen.
Ein Chat in Ihrer Anwendung.

Ein KI-Assistent, der seine Antworten als formatiertes Markdown streamt, und ein Team-Chat mit Präsenz, Tippanzeige, Lesebestätigungen und Reaktionen. Native Steuerelemente für Delphi, C++ Builder und .NET.

  • VCL
  • FireMonkey
  • WinForms
  • WPF
  • Avalonia
  • Headless SVG und PNG
Eine Unterhaltung mit einem KI-Assistenten und ein Team-Chat nebeneinander, gezeichnet von sgcChat
16sgcUI-Produkte
4Chat-Steuerelemente
5UI-Frameworks
12Sprachen

Heute veröffentlichen wir sgcUI 2026.11. Die Version bringt ein neues Produkt, sgcChat, das einen KI-Assistenten-Chat und einen Team-Chat in Ihre eigene Anwendung bringt, und sie schließt eine Reihe kleinerer Lücken in der Suite: Instrumente, die Benutzereingaben entgegennehmen, Datenbindung, die dem Dataset in beide Richtungen folgt, ein Dashboard als Webseite, Outlook-Serientermine im Planer, Skripte in Berichten und mehr.

sgcChat ist das sechzehnte sgcUI-Produkt. Es läuft auf VCL und FireMonkey für Delphi und C++ Builder sowie auf WinForms, WPF und Avalonia für .NET und ist in sgcUI Enterprise und All-Access enthalten. Es wird nicht als separates Paket verkauft.

sgcChat: ein KI-Assistent in Ihrer Anwendung

Eine KI-Antwort trifft in kleinen Teilen ein, und Benutzer erwarten, sie schon beim Entstehen zu lesen. TsgcChatAI bindet eine Unterhaltung an einen Provider, sendet den Verlauf und den System-Prompt und zeigt jedes Teilstück als formatiertes Markdown an, sobald es eintrifft. Der Provider läuft in einem Worker-Thread, sodass das Fenster reaktionsfähig bleibt, und das Chat-Panel bietet für jede Antwort Stopp, Neu generieren sowie Bearbeiten und erneut Senden.

Eine Unterhaltung mit einem KI-Assistenten im sgcChat-Panel
Der KI-Assistent im Chat-Panel.

sgcChat bindet Sie nicht an einen einzigen KI-Anbieter. TsgcChatAIProvider_AIChat verbindet sich mit TsgcAIChat von sgcWebSockets, das mit OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok und Mistral spricht. TsgcChatAIProvider_UICore nutzt die KI-Provider-Schicht, die alle sgcUI-Produkte gemeinsam verwenden, und mit TsgcChatAIEventProvider streamen Sie in einem Ereignis aus Ihrem eigenen Backend. So antwortet eine TsgcChatAI-Bindung mit OpenAI:

uses
  SysUtils, Classes,
  // sgcWebSockets
  sgcAI, sgcAI_Chat,
  // sgc
  sgcChat_AI, sgcChatWS_AI;

procedure UseOpenAI(aAI: TsgcChatAI; const aApiKey: string);
var
  oChat: TsgcAIChat;
  oProvider: TsgcChatAIProvider_AIChat;
begin
  oChat := TsgcAIChat.Create(aAI.Owner);
  oChat.Provider := aicpOpenAI;
  oChat.ChatOptions.ApiKey := aApiKey;
  oChat.ChatOptions.Model := 'gpt-4o-mini';

  oProvider := TsgcChatAIProvider_AIChat.Create(aAI.Owner);
  oProvider.Chat := oChat;

  aAI.Model := oChat.ChatOptions.Model;
  aAI.Provider := oProvider;
end;

Ändern Sie Provider, um Anthropic, Gemini, DeepSeek, Ollama, Grok oder Mistral zu verwenden. Die sgcChat-Hilfe enthält den vollständigen Schnellstart.

Die Kommunikation mit Claude, OpenAI, Gemini und den anderen LLM-Providern benötigt sgcWebSockets, das in All-Access enthalten ist. TsgcChatAIProvider_AIChat befindet sich im Bridge-Paket sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Ohne sgcWebSockets kann dein eigener Code mit TsgcChatAIEventProvider jeden KI-Dienst aufrufen.

sgcChat: ein Team-Chat auf Ihrem eigenen Server

Support-Desks, Außendienstteams und interne Tools brauchen einen Chat, den ihre Benutzer bereits zu bedienen wissen. Die Chat-Ansicht gruppiert die Nachrichten jedes Autors mit Avatar und Namen, zeigt an, wer online, abwesend oder beschäftigt ist, zeigt, wer gerade tippt, und markiert jede Nachricht als gesendet, zugestellt oder gelesen. Benutzer antworten auf eine Nachricht, reagieren darauf, bearbeiten oder löschen ihre eigenen Nachrichten und senden Anhänge mit Bildvorschauen und Datei-Chips.

Ein Team-Chat mit Avataren, Präsenz und Lesebestätigungen in sgcChat
Ein Team-Chat mit Präsenz, Tippanzeige und Lesebestätigungen.

Der Chat hängt nicht von einem bestimmten Server ab. TsgcChatEventTransport übergibt jede Nachricht, jede Änderung der Tippanzeige, jede Bestätigung und jede Reaktion als dokumentierten JSON-Frame an Ihren Code. Mit sgcWebSockets verbindet TsgcChatTransport_WebSocket einen Client, und TsgcChatServer_WebSocket leitet die Nachrichten zwischen den Clients eines Kanals weiter, verwaltet die Präsenz jedes Benutzers und sendet die letzten Nachrichten an Benutzer, die später beitreten. Das Relay läuft in einem Dienst oder in einem Konsolenprogramm:

function CreateRelay(aOwner: TComponent; aPort: Integer)
  : TsgcChatServer_WebSocket;
var
  oServer: TsgcWebSocketServer;
begin
  oServer := TsgcWebSocketServer.Create(aOwner);
  oServer.Port := aPort;
  // the relay needs no main thread
  oServer.NotifyEvents := neNoSync;

  Result := TsgcChatServer_WebSocket.Create(aOwner);
  Result.Server := oServer;
  // the last 100 messages of every channel go to late joiners
  Result.HistoryCount := 100;

  oServer.Active := True;
end;

Beide Delphi-Beispiele oben sind unverändert aus den Hilfebeispielen von sgcChat übernommen, die mit Delphi 13 (Win32) gegen die Quellen von sgcUI und sgcWebSockets kompiliert wurden.

Der WebSocket-Team-Chat benötigt sgcWebSockets, das in All-Access enthalten ist. TsgcChatTransport_WebSocket und TsgcChatServer_WebSocket befinden sich im Bridge-Paket sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Ohne sgcWebSockets verbindet TsgcChatEventTransport den Chat mit jedem Backend.

sgcChat: ein nativer Markdown-Viewer

Die Engine hinter den Chat-Blasen ist auch ein eigenes Steuerelement. TsgcVCLMarkdownViewer und TsgcFMXMarkdownViewer zeigen Überschriften, Hervorhebungen, Zitate, Listen, Aufgabenlisten, Tabellen, Links und Bilder an und heben die Codeblöcke von Pascal, C#, C++, JavaScript, Python, JSON, SQL und weiteren Sprachen hervor. AppendMarkdown fügt Text hinzu, sobald er eintrifft, und Benutzer markieren und kopieren den Text oder einen ganzen Codeblock über dessen Kopieren-Schaltfläche. Verwenden Sie ihn für Release Notes, Hilfeseiten und in Markdown verfasste Nachrichten.

Der sgcChat-Markdown-Viewer im hellen Theme
Markdown-Viewer, hell
Der sgcChat-Markdown-Viewer im dunklen Theme
Markdown-Viewer, dunkel

sgcChat passt zum Rest der Suite

Der Chat folgt den Themes Hell, Dunkel und Fluent von sgcUI. Eine Unterhaltung auf Arabisch oder Hebräisch wird gespiegelt, und die Texte der Steuerelemente sind in die 12 sgcUI-Sprachen übersetzt. Unter Windows ist die Chat-Ansicht für Screenreader eine Liste von Nachrichten, mit dem Autor und der Uhrzeit jeder Nachricht. Das Unterhaltungsmodell, das Markdown-Dokument und die Ansicht sind nicht von VCL oder FireMonkey abhängig, sodass ein Dienst eine Unterhaltung oder ein Markdown-Dokument ohne Fenster als SVG oder PNG rendern kann, auch unter Linux64.

Die Komponenten sind TsgcVCLChatPanel, TsgcVCLChatView, TsgcVCLChatInput und TsgcVCLMarkdownViewer, derselbe Satz mit dem Präfix TsgcFMX für FireMonkey und dieselben Steuerelemente für WinForms, WPF und Avalonia, etwa TsgcWinFormsChatPanel, TsgcWpfChatPanel und TsgcAvaloniaChatPanel. Die Demos decken einen KI-Assistenten, einen Team-Chat-Client mit seinem Relay-Server und den Markdown-Viewer ab, für VCL, FireMonkey, C++ Builder, WinForms, WPF und Avalonia.

sgcChat wird als Teil von sgcUI Enterprise und des All-Access-Pakets verkauft, das auch sgcWebSockets für den KI-Provider und die WebSocket-Bridge enthält. Siehe die sgcChat-Seite und die Funktionsmatrix.

In der ganzen Suite: Eingabe, Daten und Ausgabe

Der Rest der Version schließt kleinere Lücken in den Produkten: Steuerelemente, die Benutzereingaben entgegennehmen, Datenbindung, die dem Dataset in beide Richtungen folgt, und mehr Wege, einen Bildschirm aus der Anwendung herauszubringen.

sgcGauges: Eingabe-Instrumente und Skins

Vier Eingabe-Instrumente, TsgcVCLKnobGauge, TsgcVCLSliderGauge, TsgcVCLToggleSwitchGauge und TsgcVCLPushButtonGauge (TsgcFMX in FireMonkey und dieselben Namen in WinForms, WPF und Avalonia), lassen den Benutzer einen Wert mit der Maus, per Touch, mit dem Mausrad oder über die Tastatur festlegen. OnUserChange wird nur bei Änderungen durch den Benutzer ausgelöst, und Screenreader erkennen sie als Schieberegler, Kippschalter und Schaltfläche. sgcGauges hat jetzt sechzehn Instrumenttypen, mit den Tank- und Prozesssymbol-Gauges des HMI-Pakets weiter unten.

Skin gibt jedem Instrument ein neues Aussehen: Classic, Modern, Industrial, ISA101, Dark oder einen eigenen Skin, der mit sgcGaugesRegisterSkin registriert wird. TsgcGaugeDataLink zeigt ein Dataset-Feld auf jedem Instrument an und schreibt die Änderungen eines Eingabe-Instruments in das Feld zurück. Siehe die Funktionen von sgcGauges und die Hilfe zu den Eingabe-Instrumenten.

Live-Datenbindung und Datenbindung in beide Richtungen

Die Produkte folgen einem Delphi-TDataSet oder einer DataTable in .NET, während es sich ändert, und die bearbeitenden Produkte schreiben die Änderungen des Benutzers zurück:

sgcDiagram, sgcPivotGrid, sgcGauges und sgcDashboard haben dieselbe Bindung in .NET. Die sgcUI-Funktionsmatrix listet auf, was jede Edition enthält.

sgcPlanner: Outlook-Serien, Google-Erinnerungen und Kapazität

TsgcPlannerGraphSync übernimmt jetzt Outlook-Serientermine als einen wiederkehrenden Eintrag mit seiner RRULE, geänderte Vorkommen als geänderte Vorkommen und abgesagte als Ausnahmen und sendet im Planer erstellte Serien zurück an Outlook. TsgcPlannerGoogleSync sendet im Planer geänderte Erinnerungen an Google Calendar, wenn ein Termin aktualisiert wird, und liest die in Google geänderten zurück. Eine Capacity pro Ressource (1 für eine Vollzeitkraft, 0,5 für eine Halbzeitkraft, 3 für ein Team aus drei Personen) steuert die Kapazitätslinie des Auslastungshistogramms und wird in Microsoft Project XML als MaxUnits gelesen und geschrieben. Siehe die Funktionen von sgcPlanner.

sgcDashboard: Im Web veröffentlichen und die Karten-Kachel überall

SaveToHTML schreibt ein Dashboard als eine eigenständige HTML-Seite. Jede Kachel wird vom selben Code, der sie druckt, als SVG gezeichnet, auf einem CSS-Raster, das den Breakpoints des Dashboards folgt, und jede Kachel hat eine Überschrift und eine Textalternative für Screenreader. Ohne Refresh-URL enthält die Seite überhaupt kein Skript. In .NET gibt es die Karten-Kachel jetzt auch für WPF und Avalonia, und Karten erscheinen in der Druck-, PDF- und HTML-Ausgabe des Dashboards. Lesen Sie die Hilfe zum Veröffentlichen im Web und die Funktionen von sgcDashboard.

sgcMaps: die Karte auf jedes Canvas zeichnen

DrawTo bei TsgcVCLMap, TsgcFMXMap und dem WinForms-SgcMapControl zeichnet die aktuelle Ansicht mit ihren geladenen Kacheln in ein Rechteck eines beliebigen sgcUI-Canvas, und auch die WPF- und Avalonia-Karten rendern auf jedes sgcUI-Canvas. So gelangt eine Karte in einer Dashboard-Kachel in den Druck, das PDF und die HTML-Seite. Siehe die Funktionen von sgcMaps.

sgcWizard: Übergänge und eine Zusammenfassungsseite

Transition animiert den Seitenwechsel mit einem Slide, einem Fade oder beidem, in Rechts-nach-links-Layouts gespiegelt, und ReduceMotion folgt der Animationseinstellung von Windows. Mit ShowSummary fügt der Assistent eine letzte Seite hinzu, die die Felder und die Werte auflistet, die der Benutzer auf jeder besuchten Seite eingegeben hat, mit maskierten Passwörtern und einem Link Bearbeiten, der zu jeder Seite zurückführt. Siehe die Funktionen von sgcWizard und die Hilfe zur Zusammenfassungsseite.

sgcReports: Skripte und die FireMonkey-Vorschau auf jeder Plattform

TsgcReport.Script enthält Prozeduren in einer kleinen Pascal-ähnlichen Sprache, gespeichert in der Berichtsdefinition und im JSON. Der Bericht führt ein Skript beim Start und beim Ende aus sowie vor und nach dem Drucken jedes Bands und jedes Elements, sodass ein Skript ein Band ausblenden oder den Text, die Schriftfarbe oder die Höhe eines Elements für den aktuellen Druck ändern kann. Die Designer von VCL, FireMonkey, WinForms, WPF und Avalonia bearbeiten das Skript mit einer Schaltfläche Prüfen, die Zeile und Spalte eines Fehlers anzeigt. Die FireMonkey-Vorschau läuft unter Windows, macOS, iOS und Android, mit Touch-Verschieben und Pinch-Zoom, und unter iOS und Android öffnen Drucken und Als PDF speichern das Freigabeblatt des Systems. Siehe die Funktionen von sgcReports und die Hilfe zu Skripten.

sgcPDF für .NET: Annotationen bearbeiten und Formulare ausfüllen in WPF und Avalonia

Die WPF- und Avalonia-Viewer können jetzt, was der WinForms-Viewer kann: Benutzer erstellen, verschieben, ändern, bearbeiten und löschen Annotationen mit der Maus (AnnotationEditing und AnnotationTool), und mit FormFilling füllen sie Textfelder, Kontrollkästchen, Optionsfelder, Kombinationsfelder und Listenfelder aus, wobei die Tabulatortaste in Tabulatorreihenfolge durch die Felder springt. Siehe die Funktionen von sgcPDF.

Barrierefreiheit auf jeder Plattform geprüft

Der UI-Automation-Baum jeder Produkt-Demo, also der Baum, den Screenreader wie Narrator und NVDA lesen, wurde mit einem UI-Automation-Client unter VCL, FireMonkey, WinForms, WPF und Avalonia geprüft, und die gefundenen Probleme wurden behoben. Die VCL-Editoren melden jetzt die Beschriftung des Feldes statt seines Wertes, eine flache Navigationsleiste ist eine Liste statt eines Baums, die WinForms- und WPF-Statusleisten nehmen nicht mehr den Tastaturfokus an, die Zellen des Avalonia-Grids wiederholen ihren Spaltennamen nicht mehr, und die Diagrammpunkte und andere gezeichnete Elemente der Avalonia-Steuerelemente melden ihre Position auf dem Bildschirm.

Visual Studio Smart Tags und XAML

Die Smart Tags aller 69 WinForms-Toolbox-Komponenten wurden auf einer Designfläche getestet: jede Eigenschaft, jeder Collection-Editor, jede Datenquellenliste, jede Aktion und jedes Verb. In WPF und Avalonia werden die Kacheln von sgcDashboard und die Skins von sgcGauges in XAML unter demselben Präfix sgc deklariert wie die Spalten, Felder und Serien der anderen Produkte.

sgcEditors: Layout-Steuerelement und Datenformulare

Das neue Layout-Steuerelement, TsgcVCLLayoutControl und TsgcFMXLayoutControl (und dieselben Namen unter WinForms, WPF und Avalonia), ordnet die Steuerelemente eines Formulars in Gruppen, Gruppen mit Registerkarten und Spalten an, mit auf eine Breite ausgerichteten Beschriftungen, Teilern, die der Benutzer ziehen kann, und Rechts-nach-links-Layouts. SaveLayout und LoadLayout sichern die vom Benutzer erstellte Anordnung als JSON. Das Layout-Steuerelement ist in jeder Edition enthalten, auch in Community. Delphi Community hat kein Design-Time-Paket für sgcEditors, daher wird es dort im Code erzeugt.

Das Datenformular baut darauf auf. TsgcVCLDataForm und TsgcFMXDataForm erzeugen ein vollständiges Bearbeitungsformular aus einem TDataSet oder aus den published-Eigenschaften einer Klasse mit BindObject, und die Datenformulare für WinForms, WPF und Avalonia nehmen eine DataTable, eine Liste oder ein Objekt entgegen. Jedes Feld erhält ein sgcEditors-Steuerelement, die Regeln des sgcUICore-Validators und einen Platz in einer Gruppe oder auf einer Registerkarte, und ein Navigator blättert, fügt hinzu, bearbeitet, löscht und speichert die Datensätze. Smart Paste füllt den ganzen Datensatz aus einem eingefügten Text über die KI-Schicht, die die Editoren bereits verwenden, und markiert die Felder, die es ausgefüllt hat. Das Datenformular ist in der Registered-Edition enthalten, unter VCL, FireMonkey, C++Builder, WinForms, WPF und Avalonia:

uses
  Forms, Controls, DB,
  sgcUICore_AI, sgcEditors_DataForm, sgcEditors_VCL_DataForm;

function CreateCustomerForm(aOwner: TForm; aSource: TDataSource;
  aProvider: TsgcUIAIProvider): TsgcVCLDataForm;
var
  oField: TsgcDataFormField;
begin
  Result := TsgcVCLDataForm.Create(aOwner);
  Result.Parent := aOwner;
  Result.Align := alClient;
  // an open dataset: one field, one editor and one rule per TField
  Result.DataSource := aSource;
  oField := Result.Fields.FindField('EMAIL');
  oField.Kind := edfEmail;
  oField.Required := True;
  oField.Group := 'Contact';
  Result.Fields.FindField('PHONE').Group := 'Contact';
  Result.RebuildEditors;
  // the Smart Paste button of the navigator fills every field from the
  // clipboard; without a provider a local parser reads "Name: value" lines
  Result.Provider := aProvider;
end;

Siehe die sgcEditors-Funktionen und die Hilfe zum Datenformular.

sgcUI HMI-Paket: Tanks, P&ID, Alarme und ein NumPad

Das HMI-Paket bringt Prozessbilder zu sgcUI: Bedienpanels, Tanklager, Pumpstationen und andere Anlagendisplays. Es ist kein neues Produkt. Jeder Baustein steckt in dem Produkt, das er erweitert, und folgt dessen Edition, unter VCL und FireMonkey, C++ Builder sowie WinForms, WPF und Avalonia in .NET. Rufe einmal sgcUIApplyISA101 auf, und jedes sgcUI-Steuerelement wechselt auf das graue ISA-101-Schema, in dem Farbe für abnormale Zustände und Alarme reserviert bleibt.

Die Anwendung behält die Hoheit über die Anlage: Sie holt die Werte aus ihren eigenen Treibern, einer Datenbank oder der Gauge-Brücke, und sie entscheidet, wann ein Alarm ausgelöst wird. Es gibt keinen OPC-UA- oder Modbus-Treiber. Die Tank- und Prozesssymbol-Gauges, die Alarmliste und das NumPad sind in jeder Edition enthalten, auch in Community, während die P&ID-Schablonen, die Prozesszustände und animierten Rohrleitungen, die Gauge-Feeds und das Quittierungsprotokoll für Alarme Registered sind. Die HMI-Suite-Demo fügt die Bausteine auf einem kleinen Tanklager zusammen, das ein Simulator antreibt. Lies die Seite zum sgcUI HMI-Paket und die Hilfe zum HMI-Paket.

sgcUI Realtime-UI-Paket: Präsenz, Benachrichtigungen, Aktivitäts-Feeds und Live-Logs

Das Realtime-UI-Paket gibt sgcUI die Bausteine einer Live-Oberfläche für Delphi, C++Builder und .NET. Es ist kein neues Produkt. Jeder Baustein steckt in dem Produkt, das er erweitert. sgcUICore ergänzt ein Präsenzmodell mit Avataren, einer Avatar-Gruppe und einer Präsenzanzeige. sgcNavigation ergänzt ein Benachrichtigungscenter mit Toasts, einem nach Tagen gruppierten Posteingang und Einstellungen pro Kategorie und Kanal, während TsgcToolbarBadgeLink von sgcToolbar die Zahl der ungelesenen Meldungen an einem Toolbar- oder Ribbon-Eintrag anzeigt. sgcDashboard ergänzt einen Aktivitäts-Feed und einen Audit-Trail, als eigenständige Steuerelemente und als Dashboard-Kacheln, und sgcGrid ergänzt einen Live-Log-Viewer mit Stufen, Filtern, Ende-folgen, Pause und Export.

Jedes Modell nimmt pro Änderung eine JSON-Nachricht entgegen. In der Registered-Edition speisen die Live-Quellen WebSocket, MQTT und SSE der Brücke sgcUICoreWS sie ohne Code aus sgcWebSockets. Jedes Steuerelement kommt mit der Edition seines Produkts. Ohne Server oder in einem Community-Build aktualisiert die Anwendung die Modelle stattdessen über ihre API. Lies die Seite zum sgcUI Realtime-UI-Paket.

Getting-Started-Leitfäden für jedes Produkt

Jedes sgcUI-Produkt enthält jetzt fünf QuickStart-Demos für Delphi (VCL) und einen Getting-Started-Leitfaden, als HTML neben den Demos und als PDF (auf Englisch). Die Demos reichen vom ersten Formular bis zu einer kleinen, vollständigen Anwendung, und der Leitfaden erklärt jeden Schritt. Beginne mit dem sgcGrid-Leitfaden, dem sgcCharts-Leitfaden oder dem sgcChat-Leitfaden.

Alle 16 Leitfäden findest du im Abschnitt Leitfäden des sgcUI-Schnellstarts.

Testen Sie sgcChat und sgcUI 2026.11

Eine Testversion für Delphi und eine für C++ Builder installieren alle 16 sgcUI-Produkte.

Fragen oder Feedback? Nehmen Sie Kontakt auf, Sie erhalten eine Antwort von den Menschen, die den Code geschrieben haben.