Grafici e visualizzazione
Chart (Chart.js line, bar, pie, doughnut, radar, polar, bubble, scatter), Gauge, Diagram come SVG inline e Map su Leaflet.
Vedi la famiglia →
Costruisci l'intera app web in Pascal. I componenti HTML lato server generano markup Bootstrap 5, htmx mantiene interattivo ogni clic e i WebSocket inviano aggiornamenti live nella pagina aperta. Niente npm, nessuno step di build JavaScript.
uses
sgcHTML_Component_StatCard, sgcHTML_Component_Chart,
sgcHTML_Component_Grid, sgcHTMX_Engine_Server;
// 1. KPI row, three stat cards
FBody :=
TsgcHTMLComponent_StatCard.Build('Monthly Revenue', '$48,200',
scSuccess, stUp, '12.5%', 'kpiRevenue', sgBlueViolet) +
TsgcHTMLComponent_StatCard.Build('Orders Today', '1,284',
scSuccess, stUp, '4.1%', 'kpiOrders', sgBlueViolet) +
TsgcHTMLComponent_StatCard.Build('Live Users', '312',
scSuccess, stNeutral, 'live', 'kpiUsers', sgBlueViolet);
// 2. Chart
oChart.ChartType := ctBar;
oChart.AddLabel('Mon'); oChart.AddLabel('Tue'); oChart.AddLabel('Wed');
oChart.AddLabel('Thu'); oChart.AddLabel('Fri');
oChart.AddDataset('Orders', [42, 58, 51, 73, 66],
'#7C3AED', 'rgba(124,58,237,.25)', True);
FBody := FBody + oChart.HTML;
// 3. Grid, straight from a dataset
oGrid.ShowSort := True;
oGrid.ShowFilter := True;
oGrid.LoadFromDataSet(qryOrders);
FBody := FBody + oGrid.HTML;
oPage.BodyContent := FBody;
Response := oPage.GetHTML; // full Bootstrap page
// 4. Later, from any thread, push a live KPI
oHTMX.BroadcastFragment(
'<div id="kpiRevenue" hx-swap-oob="true">' +
CurrToStr(FRevenue) + '</div>');
A sinistra: Object Pascal. A destra: la pagina che serve, live nel browser. Gli stessi componenti in C++ Builder e C#.
Componenti HTML lato server per Delphi, C++ Builder e .NET. Grafici, griglie, form, dashboard e chat, generati come markup Bootstrap 5 e mantenuti live da htmx sui WebSocket.
Panoramica del prodotto PrezziOgni widget è una classe nativa. Imposta le sue proprietà, collegalo eventualmente a un TDataSet, poi leggine la proprietà HTML e servi il markup. Grid, DataTable, Chart, Select, TreeView, Scheduler, Timeline e Form si caricano direttamente da un dataset.
Chart (Chart.js line, bar, pie, doughnut, radar, polar, bubble, scatter), Gauge, Diagram come SVG inline e Map su Leaflet.
Vedi la famiglia →Grid con ordinamento, filtri, export CSV e PDF, modifica inline, raggruppamento e scroll virtuale. Più DataTable, Calendar, Scheduler, Timeline, KanbanBoard e Gantt.
Vedi la famiglia →Form con validazione, Edit, Memo, CheckBox, RadioGroup, Select, InputGroup, AutoComplete, DatePicker, FileUpload, RichEditor e Rating.
Vedi la famiglia →NavBar, Sidebar, Breadcrumb, Tabs, Pagination, Toolbar, TreeView, Stepper, Dropdown, ButtonGroup, ListGroup, DashboardLayout e Site.
Vedi la famiglia →Panel, tile KPI StatCard con frecce di tendenza e gradienti, Accordion, Carousel, Image, Avatar e Video.
Vedi la famiglia →Modal, Offcanvas, Popover, Toast, Snackbar, centro Notification con badge dei non letti, Spinner e scheletri Placeholder.
Vedi la famiglia →ChatBox, Chat con messaggi di testo, immagini, file, audio e video, e AIChat con selettore del provider, streaming dei token e citazioni delle fonti RAG.
Vedi la famiglia →Login, pulsanti OAuth SocialLogin per Google, Facebook, Apple, GitHub e Microsoft, OAuthCallback e passkey WebAuthnLogin.
Vedi la famiglia →TsgcHTMLEngine_Server serve le pagine renderizzate, TsgcHTMX_Engine_Server smista le richieste htmx e invia i frammenti, mentre PageBuilder, TemplateBootstrap, ThemeController e ThemeBuilder gestiscono il documento e i temi chiaro o scuro.
Bootstrap 5.3 e htmx sono incorporati, quindi non c'è alcuna chiamata a una CDN a runtime. I testi di interfaccia integrati sono disponibili in 17 lingue e ogni componente codifica per default i suoi contenuti dinamici in HTML, negli attributi, in JavaScript e negli URL.
Non c'è alcuno stato lato client da mantenere sincronizzato, perché non c'è alcuna applicazione lato client. Il tuo codice Pascal o C# possiede la pagina: risponde alla prima richiesta con HTML, risponde a ogni interazione con un frammento e invia nuovi frammenti a ogni browser aperto nel momento in cui i dati cambiano.
Costruisci la pagina con le classi TsgcHTMLComponent_* in Pascal o C#, oppure collegale a un dataset e lascia che generino le righe.
TsgcHTMLEngine_Server risponde alla richiesta dal tuo server HTTP con un documento Bootstrap 5 completo e i suoi asset incorporati.
htmx rimanda l'interazione a OnHTMXRequest. Il tuo handler restituisce solo il frammento che è cambiato e htmx lo sostituisce sul posto.
BroadcastFragment invia un frammento out-of-band sul WebSocket a ogni browser connesso. È thread-safe, quindi un timer in background può chiamarlo direttamente.
Header, menu di navigazione, area contenuti e footer, racchiusi in un template di layout sostituibile. Imposta layout, tema e brand, aggiungi il menu e i contenuti, poi leggi la proprietà HTML e servi la pagina finita.
uses
sgcHTML_Enums, sgcHTML_Component_Site;
oSite := TsgcHTMLComponent_Site.Create(nil);
try
oSite.Layout := slTopNavSidebarLeft;
oSite.Theme.Preset := stpViolet;
oSite.Theme.Mode := stmLight;
oSite.Brand.Text := 'Acme';
oSite.AddMenu('Dashboard', '/', '📊').Active := True;
oSite.AddMenu('Reports', '/reports', '📈');
oSite.AddSection('Overview', '<p>Welcome back.</p>', 'overview');
oSite.AddContent('<div class="alert alert-info">All systems normal</div>');
oSite.Footer.Text := '© 2026 Acme';
Response := oSite.HTML; // the whole site, one component
finally
oSite.Free;
end;
using esegece.sgcWebSockets;
var site = new TsgcHTMLComponent_Site();
site.Layout = TsgcHTMLSiteLayout.slTopNavSidebarLeft;
site.Theme.Preset = TsgcHTMLSiteThemePreset.stpViolet;
site.Theme.Mode = TsgcHTMLSiteThemeMode.stmLight;
site.Brand.Text = "Acme";
site.AddMenu("Dashboard", "/", "📊").Active = true;
site.AddMenu("Reports", "/reports", "📈");
site.AddSection("Overview", "<p>Welcome back.</p>", "overview");
site.AddContent("<div class=\"alert alert-info\">All systems normal</div>");
site.Footer.Text = "© 2026 Acme";
string html = site.GetHTML(); // the whole site, one component
sgcHTML richiede sgcWebSockets Professional o Enterprise ed è incluso nel bundle All-Access.
Le tue pagine sgcHTML hanno bisogno di dati, e quei dati di solito arrivano da un'API. sgcOpenAPI è un unico prodotto per Delphi e C++ Builder: un parser OpenAPI 3.x, un generatore nativo di SDK Pascal, un componente server OpenAPI e una libreria di SDK cloud precompilati che puoi usare subito.
Leggi qualsiasi documento OpenAPI 3.x, in JSON o YAML, in un modello a oggetti fortemente tipizzato che puoi percorrere da codice.
Il parser →Trasforma quella specifica in un client nativo Delphi o C++ Builder, con classi di richiesta e risposta tipizzate, pronto da compilare.
Funzionalità del generatore →Pubblica i tuoi endpoint come openapi.json o openapi.yaml live, costruisci endpoint da una specifica e valida richieste e risposte rispetto a essa.
Il server →Amazon AWS oltre 280, Microsoft Azure oltre 650, Google Cloud oltre 250 e Microsoft Graph oltre 15 servizi, già generati per te.
Sfoglia le API →sgcHTML è il livello UI. Il resto dello stack sta sotto, dal socket alla firma.
WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, WebRTC, IA e oltre 30 integrazioni API. I server HTTP e WebSocket su cui gira sgcHTML.
Scopri di più →Componenti HTML e UI lato server per Delphi, C++ Builder e .NET. Markup Bootstrap 5, interattività htmx, aggiornamenti in tempo reale.
Scopri di più →Parser OpenAPI 3.x, generatore di SDK Pascal, componente server OpenAPI e oltre 1.195 SDK cloud precompilati.
Scopri di più →Firme di documenti (XAdES, PAdES, CAdES, ASiC) e firma del codice (Authenticode, ClickOnce, NuGet, VSIX) con 10 provider di chiavi e 21 profili per paesi UE.
Scopri di più →Windows Hello, sensori di impronte digitali e riconoscimento facciale tramite il Windows Biometric Framework, per Delphi e C++ Builder.
Scopri di più →Suite di componenti Indy TCP/IP potenziata con supporto esteso per i protocolli e ottimizzazioni delle prestazioni per applicazioni enterprise.
Scopri di più →Scelta da sviluppatori Delphi, C++ Builder, Lazarus e .NET che costruiscono applicazioni in tempo reale in tutto il mondo.
La vostra libreria sgcWebSockets è molto utile e semplice da configurare. Continuate così!
sgcWebSockets è straordinario e il vostro supporto è il migliore!
Grazie mille per il vostro aiuto e supporto, adoro i vostri componenti.