Anche su YouTube.

sgcUI 2026.11: sgcChat, assistente AI e chat di team per Delphi e .NET | Blog eSeGeCe sgcUI 2026.11 aggiunge sgcChat, una chat con assistente AI e una chat di team con visualizzatore Markdown nativo per VCL, FireMonkey, WinForms, WPF e Avalonia, più indicatori di input, data binding bidirezionale, pubblicazione della dashboard e altro in tutta la suite."> sgcUI 2026.11 porta sgcChat, controlli per chat con assistente AI e chat di team con visualizzatore Markdown, e colma le lacune della suite: indicatori di input, binding bidirezionale, dashboard in HTML…">

sgcUI 2026.11: sgcChat, assistente AI e chat di team per Delphi, C++ Builder e .NET

· Versioni
sgcUI 2026.11: sgcChat, assistente AI e chat di team per Delphi e .NET | Blog eSeGeCe
✦  Nuova versione · sgcUI 2026.11

Ecco sgcChat.
Una chat dentro la tua applicazione.

Un assistente AI che trasmette le risposte in streaming come Markdown formattato, e una chat di team con presenza, indicatore di scrittura, conferme di lettura e reazioni. Controlli nativi per Delphi, C++ Builder e .NET.

  • VCL
  • FireMonkey
  • WinForms
  • WPF
  • Avalonia
  • SVG e PNG headless
La conversazione con un assistente AI e una chat di team affiancate, disegnate da sgcChat
16prodotti sgcUI
4controlli chat
5framework UI
12lingue

Oggi rilasciamo sgcUI 2026.11. Aggiunge un nuovo prodotto, sgcChat, che porta una chat con assistente AI e una chat di team dentro la tua applicazione, e colma un elenco di lacune minori in tutta la suite: indicatori che accettano input dell'utente, data binding che segue il dataset in entrambe le direzioni, una dashboard pubblicata come pagina web, le serie ricorrenti di Outlook nel planner, gli script nei report e altro ancora.

sgcChat è il sedicesimo prodotto sgcUI. Funziona su VCL e FireMonkey per Delphi e C++ Builder, e su WinForms, WPF e Avalonia per .NET, ed è incluso in sgcUI Enterprise e All-Access. Non viene venduto come package separato.

sgcChat: un assistente AI nella tua applicazione

Una risposta AI arriva a piccoli pezzi, e gli utenti si aspettano di leggerla mentre viene scritta. TsgcChatAI collega una conversazione a un provider, invia la cronologia e il prompt di sistema, e mostra ogni pezzo come Markdown formattato appena arriva. Il provider gira su un thread di lavoro, quindi la finestra resta reattiva, e il pannello della chat offre stop, rigenerazione e modifica con reinvio per ogni risposta.

La conversazione con un assistente AI nel pannello di sgcChat
L'assistente AI nel pannello della chat.

sgcChat non ti lega a un unico fornitore di AI. TsgcChatAIProvider_AIChat si collega a TsgcAIChat di sgcWebSockets, che dialoga con OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral. TsgcChatAIProvider_UICore usa il livello di provider AI condiviso da tutti i prodotti sgcUI, e TsgcChatAIEventProvider ti permette di trasmettere in streaming dal tuo backend in un evento. Ecco come un binding TsgcChatAI risponde con 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;

Cambia Provider per usare Anthropic, Gemini, DeepSeek, Ollama, Grok o Mistral. La guida di sgcChat contiene la guida rapida completa.

Il dialogo con Claude, OpenAI, Gemini e gli altri provider LLM richiede sgcWebSockets, incluso in All-Access. TsgcChatAIProvider_AIChat si trova nel package bridge sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Senza sgcWebSockets, TsgcChatAIEventProvider permette al tuo codice di chiamare qualsiasi servizio AI.

sgcChat: una chat di team sul tuo server

I servizi di assistenza, i team sul campo e gli strumenti interni hanno bisogno di una chat che i loro utenti sappiano già usare. La vista della chat raggruppa i messaggi di ogni autore con un avatar e un nome, mostra chi è online, assente o occupato, mostra chi sta scrivendo e contrassegna ogni messaggio come inviato, recapitato o letto. Gli utenti rispondono a un messaggio, reagiscono, modificano o eliminano i propri messaggi e inviano allegati con miniature delle immagini e chip dei file.

Una chat di team con avatar, presenza e conferme di lettura in sgcChat
Una chat di team con presenza, indicatore di scrittura e conferme di lettura.

La chat non dipende da un server specifico. TsgcChatEventTransport consegna al tuo codice ogni messaggio, cambio di scrittura, conferma e reazione come frame JSON documentato. Con sgcWebSockets, TsgcChatTransport_WebSocket collega un client e TsgcChatServer_WebSocket inoltra i messaggi tra i client di un canale, tiene la presenza di ogni utente e invia gli ultimi messaggi a chi si unisce più tardi. Il relay gira in un servizio o in un programma console:

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;

Entrambi gli esempi Delphi qui sopra sono copiati senza modifiche dagli esempi della guida di sgcChat, che sono stati compilati con Delphi 13 (Win32) sui sorgenti di sgcUI e sgcWebSockets.

La chat di team via WebSocket richiede sgcWebSockets, incluso in All-Access. TsgcChatTransport_WebSocket e TsgcChatServer_WebSocket si trovano nel package bridge sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Senza sgcWebSockets, TsgcChatEventTransport collega la chat a qualsiasi backend.

sgcChat: un visualizzatore Markdown nativo

Il motore che sta dietro alle bolle della chat è anche un controllo a sé. TsgcVCLMarkdownViewer e TsgcFMXMarkdownViewer mostrano titoli, enfasi, citazioni, elenchi, elenchi di attività, tabelle, link e immagini, ed evidenziano i blocchi di codice di Pascal, C#, C++, JavaScript, Python, JSON, SQL e altri linguaggi. AppendMarkdown aggiunge il testo man mano che arriva, e gli utenti selezionano e copiano il testo o un intero blocco di codice con il suo pulsante di copia. Usalo per note di rilascio, pagine di guida e messaggi scritti in Markdown.

Il visualizzatore Markdown di sgcChat nel tema chiaro
Visualizzatore Markdown, chiaro
Il visualizzatore Markdown di sgcChat nel tema scuro
Visualizzatore Markdown, scuro

sgcChat si integra con il resto della suite

La chat segue i temi chiaro, scuro e Fluent di sgcUI. Una conversazione in arabo o in ebraico viene rispecchiata, e i testi dei controlli sono tradotti nelle 12 lingue di sgcUI. Su Windows, la vista della chat è un elenco di messaggi per gli screen reader, con l'autore e l'ora di ogni messaggio. Il modello della conversazione, il documento Markdown e la vista non dipendono da VCL né da FireMonkey, quindi un servizio può rendere una conversazione o un documento Markdown in SVG o PNG senza finestra, anche su Linux64.

I componenti sono TsgcVCLChatPanel, TsgcVCLChatView, TsgcVCLChatInput e TsgcVCLMarkdownViewer, lo stesso insieme con il prefisso TsgcFMX per FireMonkey, e gli stessi controlli per WinForms, WPF e Avalonia, come TsgcWinFormsChatPanel, TsgcWpfChatPanel e TsgcAvaloniaChatPanel. Le demo coprono un assistente AI, un client di chat di team con il suo server relay e il visualizzatore Markdown, per VCL, FireMonkey, C++ Builder, WinForms, WPF e Avalonia.

sgcChat si vende come parte di sgcUI Enterprise e del bundle All-Access, che include anche sgcWebSockets per il provider AI e il bridge WebSocket. Consulta la pagina di sgcChat e la matrice delle funzionalità.

In tutta la suite: input, dati e output

Il resto della versione colma lacune minori in tutti i prodotti: controlli che accettano input dell'utente, data binding che segue il dataset in entrambe le direzioni e più modi per portare una schermata fuori dall'applicazione.

sgcGauges: indicatori di input e skin

Quattro indicatori di input, TsgcVCLKnobGauge, TsgcVCLSliderGauge, TsgcVCLToggleSwitchGauge e TsgcVCLPushButtonGauge (TsgcFMX su FireMonkey, e gli stessi nomi in WinForms, WPF e Avalonia), permettono all'utente di impostare un valore con il mouse, il tocco, la rotellina o la tastiera. OnUserChange scatta solo per le modifiche fatte dall'utente, e gli screen reader li vedono come cursore, interruttore e pulsante. sgcGauges ora ha sedici tipi di indicatore, contando gli indicatori di serbatoio e di simbolo di processo del pacchetto HMI qui sotto.

Skin dà a ogni indicatore un nuovo aspetto: Classic, Modern, Industrial, ISA101, Dark o una skin tua registrata con sgcGaugesRegisterSkin. TsgcGaugeDataLink mostra un campo del dataset su qualsiasi indicatore e riscrive nel campo le modifiche di un indicatore di input. Vedi le funzionalità di sgcGauges e la guida degli indicatori di input.

Data binding live e bidirezionale

I prodotti seguono un TDataSet di Delphi, o un DataTable in .NET, mentre cambia, e i prodotti di modifica riscrivono le modifiche dell'utente:

sgcDiagram, sgcPivotGrid, sgcGauges e sgcDashboard hanno lo stesso binding in .NET. La matrice delle funzionalità di sgcUI elenca cosa include ogni edizione.

sgcPlanner: serie di Outlook, promemoria di Google e capacità

TsgcPlannerGraphSync ora importa le serie ricorrenti di Outlook come un unico elemento ricorrente con il suo RRULE, le occorrenze modificate come occorrenze modificate e quelle annullate come eccezioni, e rimanda a Outlook le serie create nel planner. TsgcPlannerGoogleSync invia a Google Calendar i promemoria modificati nel planner quando un evento viene aggiornato, e rilegge quelli modificati in Google. Una Capacity per risorsa (1 per una persona a tempo pieno, 0.5 per il part time, 3 per un team di tre) guida la linea della capacità dell'istogramma del carico, ed è letta e scritta come MaxUnits in Microsoft Project XML. Vedi le funzionalità di sgcPlanner.

sgcDashboard: pubblicazione sul web e tile mappa ovunque

SaveToHTML scrive una dashboard come un'unica pagina HTML autonoma. Ogni tile è disegnato come SVG dallo stesso codice che lo stampa, su una griglia CSS che segue i breakpoint della dashboard, e ogni tile ha un titolo e un'alternativa testuale per gli screen reader. Senza un URL di aggiornamento la pagina non contiene alcuno script. In .NET il tile mappa ora esiste anche per WPF e Avalonia, e le mappe compaiono nella stampa, nel PDF e nell'HTML della dashboard. Leggi la guida alla pubblicazione sul web e le funzionalità di sgcDashboard.

sgcMaps: disegna la mappa su qualsiasi canvas

DrawTo su TsgcVCLMap, TsgcFMXMap e sul SgcMapControl di WinForms disegna la vista corrente, con i suoi tile caricati, in un rettangolo di qualsiasi canvas sgcUI, e anche le mappe WPF e Avalonia si rendono su qualsiasi canvas sgcUI. È così che una mappa in un tile della dashboard arriva alla stampa, al PDF e alla pagina HTML. Vedi le funzionalità di sgcMaps.

Transition anima il cambio di pagina con uno scorrimento, una dissolvenza o entrambi, rispecchiati nei layout da destra a sinistra, e ReduceMotion segue l'impostazione di animazione di Windows. Con ShowSummary il wizard aggiunge una pagina finale che elenca i campi e i valori inseriti dall'utente in ogni pagina visitata, con le password mascherate e un link Modifica che torna a ciascuna pagina. Vedi le funzionalità di sgcWizard e la guida alla pagina di riepilogo.

sgcReports: script e anteprima FireMonkey su ogni piattaforma

TsgcReport.Script contiene procedure in un piccolo linguaggio simile a Pascal, memorizzate nella definizione del report e nel JSON. Il report esegue uno script all'avvio e al termine, e prima e dopo la stampa di ogni banda e di ogni elemento, quindi uno script può nascondere una banda o cambiare il testo, il colore del carattere o l'altezza di un elemento per la stampa corrente. I designer di VCL, FireMonkey, WinForms, WPF e Avalonia modificano lo script con un pulsante Check che mostra la riga e la colonna di un errore. L'anteprima FireMonkey funziona su Windows, macOS, iOS e Android, con pan touch e zoom a pinch, e su iOS e Android Stampa e Salva PDF aprono il foglio di condivisione del sistema. Vedi le funzionalità di sgcReports e la guida agli script.

sgcPDF per .NET: modifica delle annotazioni e compilazione dei moduli in WPF e Avalonia

I visualizzatori WPF e Avalonia ora fanno ciò che fa quello WinForms: gli utenti creano, spostano, ridimensionano, modificano ed eliminano le annotazioni con il mouse (AnnotationEditing e AnnotationTool), e con FormFilling compilano campi di testo, caselle di controllo, pulsanti di opzione, caselle combinate e caselle di riepilogo, con Tab che scorre i campi nel loro ordine di tabulazione. Vedi le funzionalità di sgcPDF.

Accessibilità verificata su ogni piattaforma

L'albero UI Automation di ogni demo dei prodotti, l'albero letto da screen reader come Narrator e NVDA, è stato verificato con un client UI Automation su VCL, FireMonkey, WinForms, WPF e Avalonia, e i problemi trovati sono stati corretti. Gli editor VCL ora annunciano l'etichetta del campo invece del suo valore, una barra di navigazione piatta è un elenco anziché un albero, le barre di stato di WinForms e WPF non prendono più il focus della tastiera, le celle della griglia Avalonia non ripetono più il nome della colonna, e i punti dei grafici e gli altri elementi disegnati dei controlli Avalonia riportano la loro posizione sullo schermo.

Smart tag di Visual Studio e XAML

Gli smart tag di tutti i 69 componenti della toolbox WinForms sono stati provati su una design surface: ogni proprietà, editor di raccolte, elenco di origini dati, azione e verbo. In WPF e Avalonia, i tile di sgcDashboard e le skin di sgcGauges si dichiarano in XAML con lo stesso prefisso sgc delle colonne, dei campi e delle serie degli altri prodotti.

sgcEditors: controllo di layout e maschere dati

Il nuovo controllo di layout, TsgcVCLLayoutControl e TsgcFMXLayoutControl (e gli stessi nomi in WinForms, WPF e Avalonia), dispone i controlli di un form in gruppi, gruppi a schede e colonne, con le etichette allineate a un'unica larghezza, divisori che l'utente può trascinare e layout da destra a sinistra. SaveLayout e LoadLayout conservano come JSON la disposizione creata dall'utente. Il controllo di layout è in ogni edizione, Community compresa. Delphi Community non ha un pacchetto in fase di progettazione per sgcEditors, quindi lì si crea nel codice.

La maschera dati si basa su di esso. TsgcVCLDataForm e TsgcFMXDataForm generano una maschera di modifica completa da un TDataSet, o dalle proprietà published di una classe con BindObject, e le maschere dati di WinForms, WPF e Avalonia accettano una DataTable, un elenco o un oggetto. Ogni campo riceve un controllo sgcEditors, le regole del validatore di sgcUICore e un posto in un gruppo o in una scheda, e un navigatore scorre, aggiunge, modifica, elimina e registra i record. Smart Paste compila l'intero record da un testo incollato tramite il livello AI che gli editor già usano, e segna i campi compilati. La maschera dati è nell'edizione Registered, su VCL, FireMonkey, C++Builder, WinForms, WPF e 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;

Vedi le funzionalità di sgcEditors e la guida della maschera dati.

Pacchetto HMI di sgcUI: serbatoi, P&ID, allarmi e un NumPad

Il pacchetto HMI porta le schermate di processo in sgcUI: pannelli operatore, parchi serbatoi, stazioni di pompaggio e altri display d'impianto. Non è un nuovo prodotto. Ogni parte vive nel prodotto che estende e ne segue l'edizione, su VCL e FireMonkey, C++Builder, e WinForms, WPF e Avalonia in .NET. Chiama sgcUIApplyISA101 una volta e ogni controllo sgcUI passa allo schema grigio ISA-101, dove il colore è riservato agli stati anomali e agli allarmi.

L'applicazione resta responsabile dell'impianto: porta i valori dai propri driver, da un database o dal ponte degli indicatori, e decide quando un allarme viene generato. Non c'è un driver OPC UA o Modbus. Gli indicatori di serbatoio e di simbolo di processo, l'elenco allarmi e il NumPad sono in ogni edizione, Community compresa, mentre gli stencil P&ID, gli stati di processo e le tubazioni animate, i feed degli indicatori e il registro delle conferme degli allarmi sono Registered. La demo di suite HMI mette insieme i pezzi su un piccolo parco serbatoi pilotato da un simulatore. Leggi la pagina del pacchetto HMI di sgcUI e la guida del pacchetto HMI.

Pacchetto Realtime UI di sgcUI: presenza, notifiche, feed delle attività e log in tempo reale

Il pacchetto Realtime UI dà a sgcUI i pezzi di una schermata live per Delphi, C++Builder e .NET. Non è un prodotto nuovo. Ogni pezzo vive nel prodotto che estende. sgcUICore aggiunge un modello di presenza con avatar, un gruppo di avatar e un indicatore di presenza. sgcNavigation aggiunge un centro notifiche con toast, una casella raggruppata per giorno e preferenze per categoria e canale, mentre TsgcToolbarBadgeLink di sgcToolbar mostra il numero di non lette su una voce della toolbar o del ribbon. sgcDashboard aggiunge un feed delle attività e un registro di controllo, come controlli autonomi e come riquadri della dashboard, e sgcGrid aggiunge un visualizzatore di log live con livelli, filtri, coda in primo piano, pausa ed esportazione.

Ogni modello riceve un messaggio JSON per ogni modifica. Nell'edizione Registered, le sorgenti live WebSocket, MQTT e SSE del ponte sgcUICoreWS li alimentano da sgcWebSockets senza codice. Ogni controllo arriva con l'edizione del suo prodotto. Senza un server, o in una build Community, l'applicazione aggiorna invece i modelli tramite la loro API. Leggi la pagina del pacchetto Realtime UI di sgcUI.

Guide Getting Started per ogni prodotto

Ogni prodotto sgcUI include ora cinque demo QuickStart per Delphi (VCL) e una guida Getting Started, in HTML accanto alle demo e in PDF. Le demo vanno dal primo form a una piccola applicazione completa, e la guida spiega ogni passaggio. Inizia con la guida di sgcGrid, la guida di sgcCharts o la guida di sgcChat.

Tutte le 16 guide sono elencate nella sezione guide del quick start di sgcUI.

Prova sgcChat e sgcUI 2026.11

Una versione di prova per Delphi e una per C++ Builder installano tutti i 16 prodotti sgcUI.

Domande o suggerimenti? Contattaci, riceverai una risposta dalle persone che hanno scritto il codice.