ERP
Klienci, produkty, dostawcy i fakturowanie, z wykresami na pulpicie, administracją opartą na rolach i logowaniem kluczem dostępu (passkey).
Otwórz demo na żywo →Twórz kompletne, nowoczesne interfejsy webowe bezpośrednio z Delphi, C++ Builder i .NET. sgcHTML to framework komponentów po stronie serwera ze 110 gotowymi widżetami: wykresy, gridy, formularze, pulpity, czat i wiele więcej. Wiele z nich wiąże się bezpośrednio z TDataSet, renderuje znaczniki Bootstrap 5 i pozostaje interaktywnych dzięki htmx. Ty piszesz w Object Pascal lub C#, a sgcHTML pisze HTML, CSS i JavaScript.
Wolisz nie budować tego samodzielnie? Zbudujemy to za Ciebie →
Klienci, produkty, dostawcy i fakturowanie, z wykresami na pulpicie, administracją opartą na rolach i logowaniem kluczem dostępu. Plik wykonywalny Delphi o rozmiarze 7,7 MB, bez DLL obok, obsługujący kompletny webowy ERP na SQLite.
Pełny ERP z jednego pliku exe
Od nawigacji i siatek danych po wykresy, formularze, nakładki i czat AI: pełne słownictwo Bootstrap 5 jako natywne komponenty. Każdy ma własną stronę z przykładami dla Delphi, C++ Builder i .NET.
NavBar, Sidebar, Breadcrumb, Tabs, Pagination, Toolbar, TreeView, Stepper, Dropdown, ButtonGroup, ListGroup, DashboardLayout, Splitter.
Zobacz komponenty →Grid, Spreadsheet, DataTable, TreeGrid, PivotTable, Calendar, Scheduler, Timeline, ActivityFeed, KanbanBoard, Gantt: z sortowaniem, filtrowaniem, eksportem i powiązaniem ze zbiorem danych.
Zobacz komponenty →Chart (Chart.js), CandlestickChart, Gauge, Heatmap, Sparkline, TreeMap, Diagram (przepływ SVG), Map (Leaflet), QRCode, Barcode: wizualizacje oparte na Twoich własnych zbiorach danych.
Zobacz komponenty →Form, FormBuilder, QueryBuilder, Edit, Memo, CheckBox, RadioGroup, Select, MultiSelect, InputGroup, AutoComplete, DatePicker, TimePicker, ColorPicker, Slider, FileUpload, ImageCropper, FileManager, RichEditor, CodeEditor, Rating, SignaturePad, Transfer.
Zobacz komponenty →Panel, StatCard, Accordion, Carousel, Image, Avatar, Video, Badge, PDFViewer, ReportViewer, ReportDesigner: karty, multimedia i kafelki KPI dla pulpitów.
Zobacz komponenty →Modal, Offcanvas, Popover, Tooltip, Tour, Toast, Snackbar, Notification, Spinner, Placeholder, ContextMenu, ProgressBar, JobProgress, LogViewer: okna dialogowe i powierzchnie statusu.
Zobacz komponenty →ChatBox, Chat (w stylu WhatsApp), AIChat z wyborem dostawcy, strumieniowaniem tokenów i cytowaniem źródeł RAG, Presence dla statusu online na żywo.
Zobacz komponenty →Login, SocialLogin (OAuth), OAuthCallback, WebAuthnLogin (klucze dostępu), UserManagement, RolesPermissions: gotowe procesy logowania i ekrany administracyjne.
Zobacz komponenty →Gauge, LinearGauge, LED, LEDBar, SegmentDisplay, Odometer, AnalogClock, Compass, VUMeter, Knob, ToggleSwitch, PushButton, NumericStepper, StripChart, Oscilloscope, Annunciator, SCADAPanel. Panele sterowni utrzymywane na żywo przez serwer, z powiązaniem MQTT.
Zobacz komponenty →EngineServer, HTMXEngine, PageBuilder, TemplateBootstrap, ThemeController, ThemeBuilder, HTMXFragment, HTMXRouter: elementy niewizualne, które serwują strony i utrzymują je aktywne.
Zobacz komponenty →sgcHTML zamienia istniejący back-end w Delphi, C++ Builder lub .NET w serwer aplikacji webowych. Każdy komponent to natywna klasa, która generuje HTML w Bootstrap 5; htmx utrzymuje stronę interaktywną i aktualizowaną na żywo bez ani jednej linii ręcznie pisanego JavaScript.
Każdy widżet to klasa: TsgcHTMLComponent_Chart, TsgcHTMLComponent_Grid, TsgcHTMLComponent_Form i 86 kolejnych. Ustaw jego właściwości, a następnie odczytaj właściwość HTML, aby uzyskać czyste znaczniki Bootstrap 5 gotowe do udostępnienia.
Umieść TsgcHTMLEngine_Server na dołączonym TsgcHTTPServer (lub, jeśli posiadasz sgcWebSockets Professional, Enterprise albo All-Access, na istniejącym TsgcWebSocketHTTPServer). Żądania trafiają do Twojej procedury OnCommandGet; odpowiadasz stroną zbudowaną z komponentów. Bez zewnętrznego stosu webowego.
sgcHTML nie jest związany z serwerem sgcWebSockets. Serwuj te same strony zbudowane z komponentów z dowolnej aplikacji Embarcadero WebBroker za pomocą TsgcHTMX_Engine_Server_WebBroker. Z sgcWebSockets Professional, Enterprise lub All-Access możesz je też serwować z serwera DataSnap z wypychaniem WebSocket na żywo na tym samym porcie co Twoje punkty końcowe REST.
Dodaj TsgcHTMX_Engine_Server, a kliknięcia, wysyłki formularzy i aktualizacje na żywo trafiają do Twoich procedur obsługi zdarzeń w Pascalu lub C#. Serwer podmienia fragmenty HTML w miejscu. Wrażenie SPA, bez łańcucha budowania JavaScript.
Wypychaj HTML na żywo do każdej połączonej przeglądarki. Pulpity, monitory i okna czatu aktualizują się w chwili zmiany danych, sterowane przez serwer, bez odpytywania. Samodzielny sgcHTML dostarcza aktualizacje przez server-sent events. Z sgcWebSockets Professional, Enterprise lub All-Access silnik działa na TsgcWebSocketHTTPServer i wypycha dane przez WebSocket, a server-sent events służą jako rozwiązanie zapasowe, gdy proxy blokuje WebSockets.
TsgcHTMLTemplate_Bootstrap opakowuje Twoją treść w kompletny responsywny dokument; TsgcHTMLThemeController i TsgcHTMLThemeBuilder zapewniają motywy jasny/ciemny i wspólny arkusz stylów. Bootstrap 5.3 i htmx są wbudowane: bez CDN w czasie działania.
Grid, DataTable, Chart, Select, TreeView, Scheduler, Timeline i Form wiążą się bezpośrednio z TDataSet przez LoadFromDataSet / DataSource. Wskaż komponentowi zapytanie, a wyrenderuje wiersze.
sgcHTML dostarcza wbudowane teksty interfejsu (przyciski, etykiety, komunikaty walidacji) w 17 językach: angielskim, hiszpańskim, francuskim, niemieckim, portugalskim, włoskim, niderlandzkim, szwedzkim, norweskim, polskim, czeskim, tureckim, rosyjskim, chińskim, japońskim, koreańskim i arabskim. Wybierz jeden za pomocą sgcHTMLSetLanguage, a komponenty renderują się w języku odwiedzającego z poprawnymi natywnymi pismami, w tym CJK, cyrylicą i alfabetem arabskim. Języki pisane od prawej do lewej, takie jak arabski i hebrajski, odwracają całą stronę automatycznie: jest renderowana z dir="rtl", ładuje arkusz stylów RTL Bootstrapa i odbija lustrzanie pasek boczny, siatkę, stepery, czat i pozostałe komponenty, bez zmian w kodzie.
Każdy komponent przepuszcza swój dynamiczny tekst, atrybuty, wbudowany JavaScript i adresy URL przez automatyczne kodowanie HTML, atrybutów, JavaScript i URL oraz oczyszczanie adresów URL (sgcHTMLEncode, sgcHTMLAttrEncode, sgcJSEncode, sgcHTMLSanitizeURL), dzięki czemu dane użytkownika nie mogą wyrwać się ze swojego kontekstu i wstrzyknąć skryptu. Ochrona przed XSS i wstrzyknięciami działa bez dodatkowej pracy.
Arabski i hebrajski automatycznie odwracają całą stronę od prawej do lewej: dir="rtl", arkusz stylów RTL Bootstrapa i lustrzane komponenty, bez zmian w kodzie.
Jedna strona po angielsku, arabsku i hebrajsku. Wybierz arabski lub hebrajski, a cały układ obróci się od prawej do lewej, od paska bocznego po grid. Bez zmian w kodzie, tylko język.
Wbudowane teksty interfejsu (przyciski, etykiety, komunikaty walidacji) po angielsku, hiszpańsku, francusku, niemiecku, portugalsku, włosku, niderlandzku, szwedzku, norwesku, polsku, czesku, turecku, rosyjsku, chińsku, japońsku, koreańsku i arabsku. Wybierz język przez sgcHTMLSetLanguage.
Harmonogram Gantta, serie Chart.js, wskaźniki, wykresy iskrowe, mapy drzewa i mapy cieplne powstają w całości z Twojego kodu w Pascalu lub C#. Ty ustawiasz dane, a sgcHTML generuje znaczniki i całe okablowanie po stronie klienta.
Użytkownicy wybierają wymiary, miary i agregację, a tabela krzyżowa jest przebudowywana z TFDQuery. Pomiędzy nie ma warstwy REST, strona czyta bazę danych bezpośrednio w tym samym procesie.
Każdy komponent renderuje responsywne znaczniki Bootstrap 5, więc układ terminala magazynowego to ta sama biblioteka komponentów w szerokości telefonu, a nie osobna baza kodu mobilnego.
Każdy dodatek jest wyłączony, dopóki go nie użyjesz, więc strona, która go nie używa, renderuje się dokładnie tak jak wcześniej. Pełna lista znajduje się w matrycy funkcji.
Narzędzie MCP odpowiada stroną zamiast tekstu, zbudowaną z tych samych komponentów, których używasz na każdej stronie webowej, i renderowaną przez ChatGPT, Claude i VS Code. Wymaga edycji Enterprise lub All-Access albo pakietu sgcAI. Zobacz MCPApp.
Opisz stronę albo przekaż projektantowi zrzut ekranu, a zbuduje ją z Twoich własnych komponentów. Odpowiada na podstawie schematu zbudowanego z Twojego rejestru, więc nie może wskazać klasy, której nie udostępniłeś, a nic nie jest stosowane, dopóki tego nie zaakceptujesz. Wymaga jednostek AI z edycji Enterprise lub All-Access albo pakietu sgcAI. Przeczytaj przewodnik.
Lista, wyszukiwanie, paginacja, formularz, usuwanie i ścieżka zapisu jednej tabeli jako jeden komponent, nad zestawem danych lub nad własnym SQL. Tworzy go kreator w IDE. Zobacz CRUD.
Pytanie zwykłym językiem staje się filtrami, sortowaniami, grupowaniami i wyróżnieniami, zwalidowanymi względem Twoich własnych kolumn, zanim cokolwiek zostanie zastosowane. Działa bez klucza API dzięki wbudowanemu parserowi, a z siedmioma dostawcami, gdy jednostki AI są w Twojej edycji. Zobacz AIAssistant.
Server-Sent Events dla sieci, które blokują WebSockets, Web Push dla przeglądarki, która nie jest uruchomiona, skrzynka powiadomień i tabela preferencji. Web Push wymaga edycji Enterprise lub All-Access. Zobacz WebPush.
Sesje w ciasteczkach, tokeny CSRF, ograniczanie prób logowania i ochrona tras według roli. Parametry ścieżki i filtry metod w trasach, nawigacja w stylu aplikacji jednostronicowej z szablonu strony oraz funkcje pomocnicze do testowania generowanych znaczników. Zobacz Auth.
Jeśli budujesz aplikacje ASP.NET Core MVC lub Razor Pages w stylu Telerik albo DevExpress, sgcHTML mówi teraz tym samym językiem. Tag Helpery takie jak <sgc-grid>, <sgc-form>, <sgc-dialog> i <sgc-chart>, oraz ich płynne odpowiedniki w Html.Sgc()renderują po stronie serwera HTML Bootstrap 5 i komunikują się z Twoimi kontrolerami przez htmx. Nie trzeba uczyć się żadnego frameworka JavaScript ani pisać źródła danych JSON. Warstwa Razor jest dostarczana w pakiecie NuGet esegece.sgcHTML.AspNetCore Pakiet NuGet, wraz z edycją Community.
<sgc-grid> stronicuje, sortuje, filtruje (tekst i zakres), przeszukuje oraz eksportuje do XLSX i PDF po stronie serwera. Kontroler odpowiada wywołaniem this.SgcGrid(request, query), a EF Core zamienia każde kliknięcie na sparametryzowane SQL. push-url zachowuje stronę, sortowanie i filtry w pasku adresu, więc przeładowanie i przycisk Wstecz działają.
<sgc-textbox>, <sgc-select>, <sgc-datepicker>, <sgc-checkbox> i <sgc-autocomplete> wiążą się z Twoim modelem przez asp-for i pokazują błędy ModelState pod każdym polem. <sgc-form hx="true"> wysyła dane przez htmx, a this.SgcRedirect(url) przechodzi dalej po poprawnym zapisie.
Każdy element z atrybutem sgc-dialog="name" ładuje swój adres URL do <sgc-dialog>. Po poprawnym wysłaniu formularza this.SgcCloseDialog("edit-order", refresh: "orders") zamyka okno dialogowe i przeładowuje grid: wzorzec edycji w oknie, bez własnego skryptu.
<sgc-chart> renderuje dane statyczne, odpytuje akcję z refresh-every="5s", albo działa w trybie live="true": usługa w tle wywołuje hub.BroadcastChartAsync(...), a każda otwarta przeglądarka rysuje wykres na nowo przez WebSocket sgcHTML. Wykresy Telerik i DevExpress wymagają infrastruktury SignalR do wypychania danych z serwera, w sgcHTML jest to wbudowane.
@* Views/Orders/Index.cshtml, page 1 renders inline from the model *@
@model IQueryable<OrderRow>
<sgc-grid name="orders" key="Id" items="Model"
asp-action="Read" asp-export-action="Export" export="xlsx,pdf"
page-size="15" sortable="true" filterable="true"
searchable="true" push-url="true">
<sgc-column field="Reference" searchable="true" />
<sgc-column field="Customer" searchable="true" />
<sgc-column field="OrderDate" title="Date" format="{0:yyyy-MM-dd}" filter="range" />
<sgc-column field="Total" format="{0:N2}" align="right" filter="range" />
<sgc-column field="Paid" />
</sgc-grid>
// Program.cs
builder.Services.AddControllersWithViews();
builder.Services.AddSgcHtml(o => o.ServeRootPage = false); // the MVC app owns "/"
builder.Services.AddSgcHtmlRazor(); // SgcDataRequest binder, grid state, /sgcHTML.css
// ...
app.UseWebSockets(); // before UseSgcHtml, needed by live charts
app.UseSgcHtml();
app.MapDefaultControllerRoute();
// Controllers/OrdersController.cs
public class OrdersController : Controller
{
private readonly ShopDb FDb;
public OrdersController(ShopDb db) { FDb = db; }
// An IQueryable projection: EF Core turns paging, sort and filters into SQL.
private IQueryable<OrderRow> Rows() =>
FDb.Orders.AsNoTracking().Select(o => new OrderRow
{
Id = o.Id, Reference = o.Reference, Customer = o.Customer.Name,
OrderDate = o.OrderDate, Total = o.Total, Paid = o.Paid
});
public IActionResult Index() => View(Rows());
// Every page, sort, filter and search click of the grid lands here.
public IActionResult Read(SgcDataRequest request) => this.SgcGrid(request, Rows());
// The toolbar export links: the filtered and sorted rows as XLSX or PDF.
public IActionResult Export(SgcDataRequest request) =>
this.SgcGridExport(request, Rows(), "orders");
}
@* The same grid with the fluent builder, the twin of Html.Kendo().Grid<T>() *@
@(Html.Sgc().Grid<OrderRow>("orders")
.Key(o => o.Id)
.Columns(c =>
{
c.Bound(o => o.Reference).Searchable();
c.Bound(o => o.Customer).Searchable();
c.Bound(o => o.OrderDate).Title("Date").Format("{0:yyyy-MM-dd}").Filter(SgcGridFilterKind.Range);
c.Bound(o => o.Total).Format("{0:N2}").Align("right").Filter(SgcGridFilterKind.Range);
c.Bound(o => o.Paid);
})
.Items(Model)
.Read("Read")
.Export(SgcExportFormat.Xlsx, SgcExportFormat.Pdf)
.ExportAction("Export")
.Pageable(15)
.Sortable().Filterable().Searchable().PushUrl())
@* _Layout.cshtml: live="ws" opens the WebSocket that live charts listen to *@
<sgc-scripts live="ws" />
@* The view *@
<sgc-chart name="live-orders" type="line" height="260" live="true">
<sgc-series name="Orders / s" data="new double[] { 0 }" color="#dc3545" />
</sgc-chart>
// builder.Services.AddHostedService<LiveSalesFeed>();
public sealed class LiveSalesFeed : BackgroundService
{
private readonly ISgcHtmlHub FHub;
private readonly Queue<string> FLabels = new Queue<string>();
private readonly Queue<double> FValues = new Queue<double>();
public LiveSalesFeed(ISgcHtmlHub hub) { FHub = hub; }
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
var oRandom = new Random();
while (!stoppingToken.IsCancellationRequested)
{
await Task.Delay(1000, stoppingToken);
FLabels.Enqueue(DateTime.Now.ToString("HH:mm:ss"));
FValues.Enqueue(oRandom.Next(0, 20));
if (FValues.Count > 20) { FLabels.Dequeue(); FValues.Dequeue(); }
// One WebSocket message redraws the chart in every open browser.
await FHub.BroadcastChartAsync("live-orders", FLabels.ToArray(),
new SgcChartSeries("Orders / s", FValues.ToArray(), "#dc3545"));
}
}
}
Przechodzisz z Telerik UI for ASP.NET Core lub DevExpress? [DataSourceRequest] zamienia się w SgcDataRequest, ToDataSourceResult zamienia się w this.SgcGrid(request, query) (albo query.ToSgcDataResult(request) gdy potrzebne są tylko dane), a Html.Kendo().TextBoxFor(m => m.X) zamienia się w Html.Sgc().TextBoxFor(m => m.X). Działające demo MVC, 22.RazorMvc, to przykład zamówień Telerik napisany w sgcHTML na EF Core.
Uruchom serwer HTTP, podłącz silnik htmx i odpowiadaj na żądania stroną zbudowaną z komponentów. To samo API w Delphi, C++ Builder i .NET.
uses
sgcHTTP_Server, sgcHTMX_Engine_Server,
sgcHTML_Template_Bootstrap, sgcHTML_Component_Chart;
// 1. Start a server and attach the htmx engine
// With sgcWebSockets Professional or higher, use TsgcWebSocketHTTPServer for WebSocket push
FServer := TsgcHTTPServer.Create(nil);
FServer.Port := 8080;
FServer.OnCommandGet := HandleGet;
FHTMX := TsgcHTMX_Engine_Server.Create(nil);
FHTMX.Server := FServer;
FHTMX.SSE.Enabled := True; // realtime htmx over server-sent events
FServer.Active := True;
// 2. Build the page from components
function TForm1.BuildDashboard: string;
var
oChart: TsgcHTMLComponent_Chart;
oPage: TsgcHTMLTemplate_Bootstrap;
begin
oChart := TsgcHTMLComponent_Chart.Create(nil);
oPage := TsgcHTMLTemplate_Bootstrap.Create(nil);
try
oChart.ChartType := ctBar;
oChart.AddLabel('Q1'); oChart.AddLabel('Q2'); oChart.AddLabel('Q3');
oChart.AddDataset('Revenue', [1200, 1900, 1500],
'#7C3AED', 'rgba(124,58,237,.25)', True);
oPage.Title := 'Dashboard';
oPage.BodyContent := oChart.HTML; // component -> HTML
Result := oPage.GetHTML; // full Bootstrap document
finally
oPage.Free;
oChart.Free;
end;
end;
// includes: sgcHTTP_Server.hpp, sgcHTMX_Engine_Server.hpp,
// sgcHTML_Template_Bootstrap.hpp, sgcHTML_Component_Chart.hpp
// 1. Start a server and attach the htmx engine
// With sgcWebSockets Professional or higher, use TsgcWebSocketHTTPServer for WebSocket push
FServer = new TsgcHTTPServer(this);
FServer->Port = 8080;
FServer->OnCommandGet = HandleGet;
FHTMX = new TsgcHTMX_Engine_Server(this);
FHTMX->Server = FServer;
FHTMX->SSE->Enabled = true; // realtime htmx over server-sent events
FServer->Active = true;
// 2. Build the page from components
String __fastcall TForm1::BuildDashboard()
{
TsgcHTMLComponent_Chart *oChart = new TsgcHTMLComponent_Chart(NULL);
TsgcHTMLTemplate_Bootstrap *oPage = new TsgcHTMLTemplate_Bootstrap(NULL);
try
{
oChart->ChartType = ctBar;
oChart->AddLabel("Q1"); oChart->AddLabel("Q2"); oChart->AddLabel("Q3");
oChart->AddDataset("Revenue", OPENARRAY(double, (1200, 1900, 1500)),
"#7C3AED", "rgba(124,58,237,.25)", true);
oPage->Title = "Dashboard";
oPage->BodyContent = oChart->HTML; // component -> HTML
return oPage->GetHTML(); // full Bootstrap document
}
__finally
{
delete oPage;
delete oChart;
}
}
using esegece.sgcWebSockets;
// 1. Start a server and attach the htmx engine
var server = new TsgcWebSocketHTTPServer();
server.Port = 8080;
server.OnCommandGet += HandleGet;
var htmx = new TsgcHTMX_Engine_Server();
htmx.Server = server; // realtime htmx over WebSocket
server.Active = true;
// 2. Build the page from components
string BuildDashboard()
{
var chart = new TsgcHTMLComponent_Chart();
chart.ChartType = TsgcHTMLChartType.ctBar;
chart.AddLabel("Q1"); chart.AddLabel("Q2"); chart.AddLabel("Q3");
chart.AddDataset("Revenue", new double[] { 1200, 1900, 1500 },
"#7C3AED", "rgba(124,58,237,.25)", true);
var page = new TsgcHTMLTemplate_Bootstrap();
page.Title = "Dashboard";
page.BodyContent = chart.HTML; // component -> HTML
return page.GetHTML(); // full Bootstrap document
}
Zbuduj kompletny interfejs webowy z Delphi za pomocą komponentów po stronie serwera, znaczników Bootstrap 5 i htmx, bez kroku budowania JavaScript.
Sięgnij po gotowe komponenty, gdy chcesz mieć widżet w jednej linii, albo zejdź do warstwy węzłów, gdy potrzebujesz pełnej kontroli nad znacznikami.
110 widżetów TsgcHTMLComponent_*. Skonfiguruj właściwości, opcjonalnie powiąż zbiór danych, odczytaj HTML. Wiele z nich udostępnia też statyczny pomocnik Build(...) do jednolinijkowego użycia w treści.
Prymitywy, takie jak TsgcHTMLContainer (z flagą Void dla znaczników samozamykających), TsgcHTMLCard, TsgcHTMLForm, TsgcHTMLField, TsgcHTMLButton i TsgcHTMLTable składają się w dowolny układ, a następnie są renderowane przez TsgcHTMLTemplate_Bootstrap. Zestaw węzłów obejmuje także elementy budulcowe Bootstrap, takie jak TsgcHTMLModal, TsgcHTMLOffcanvas, TsgcHTMLAccordion, TsgcHTMLCarousel, TsgcHTMLToast, TsgcHTMLProgress, TsgcHTMLSpinner, TsgcHTMLListGroupNode, TsgcHTMLInputGroup, TsgcHTMLButtonGroupNode, TsgcHTMLRadio, TsgcHTMLBreadcrumb, TsgcHTMLNavbarNode i TsgcHTMLImage.
TsgcHTMLPageBuilder wraz z edytorem działającym w czasie projektowania pozwala składać strony w IDE, podczas gdy TsgcHTMLThemeController zarządza motywami jasny/ciemny w całej aplikacji.
| Cel | Szczegóły |
|---|---|
| Delphi 7 do 13 | Delphi 7, 2007, 2009, 2010, XE do XE8, 10 Seattle do 10.4 Sydney, 11 Alexandria, 12 Athens i 13 Florence. Obsługiwane są Windows, macOS i Linux. |
| C++ Builder | C++ Builder (odpowiadające wersje) |
| .NET | .NET 8, .NET 9, .NET 10, .NET Standard 2.0, na hostach Windows, Linux i macOS, z Razor Tag Helpers dla ASP.NET Core. |
| Hosting | Dołączony TsgcHTTPServer, dowolna aplikacja WebBroker lub ASP.NET Core. Z sgcWebSockets Professional, Enterprise lub All-Access także TsgcWebSocketHTTPServer i serwer DataSnap. |
| Przeglądarka | Zasoby Bootstrap 5 i htmx są wbudowane. Bez CDN w czasie działania. |
sgcHTML to biblioteka po stronie serwera: telefon odbiera HTML przez sieć, więc Android i iOS nie są platformami docelowymi kompilacji.
Każdy ekran poniżej to aplikacja Delphi serwująca własny HTML przez sgcHTML. Bez etapu budowania JavaScript, bez osobnego projektu front-endu. Zaloguj się danymi, które są już wpisane na każdej stronie logowania.
Klienci, produkty, dostawcy i fakturowanie, z wykresami na pulpicie, administracją opartą na rolach i logowaniem kluczem dostępu (passkey).
Otwórz demo na żywo →
Pulpity, katalog raportów, kreator tabel przestawnych ad hoc i widok eksploracji dla 27 000 pozycji zamówień, odpytywanych w procesie.
Otwórz demo na żywo →
Dotykowa kasa z kategoriami, promocjami, wstrzymanymi sprzedażami, obsługą zmian i wyświetlaczem klienta na żywo.
Otwórz demo na żywo →
Przyjęcia, wydania, stany magazynowe, ruchy i inwentaryzacje cykliczne, a także układ terminala ręcznego dla skanerów.
Otwórz demo na żywo →
Tablica dyspozycji, harmonogram Gantta i mapa techników na żywo do planowania inżynierów i zleceń.
Otwórz demo na żywo →
Wyszukiwanie w trakcie pisania, dodawanie, edycja w miejscu i usuwanie, wszystko podmieniane jako fragmenty htmx bez przeładowania strony.
Otwórz demo na żywo →
Metryki serwera wypychane przez WebSocket do fragmentów htmx out-of-band, aktualizujące karty KPI i wykresy w czasie rzeczywistym.
Otwórz demo na żywo →
Jedna strona po angielsku, arabsku i hebrajsku. Wybierz arabski lub hebrajski, a cały układ obróci się od prawej do lewej, od paska bocznego po grid. Bez zmian w kodzie, tylko język.
Otwórz demo na żywo →
Obszar samoobsługowy, w którym klienci widzą własne zamówienia, profil i zgłoszenia do wsparcia za logowaniem.
Otwórz demo na żywo →
Publiczna witryna marketingowa, strona cennika i proces rejestracji przed izolowaną dla każdego najemcy płaszczyzną sterowania.
Otwórz demo na żywo →Grid danych, tabela przestawna i formularz sterowane zwykłym językiem: filtry, sortowania i grupowania dla 26 000 pozycji zamówień, asystent kolumn AI i inteligentne wklejanie. Działa bez klucza API.
Otwórz demo na żywo →Witryna sklepu zbudowana w całości z komponentów sgcHTML, z pływającym asystentem czatu, którego odpowiedzi opierają się na katalogu produktów. Wersja online nie wymaga klucza API LLM.
Otwórz demo na żywo →Aplikacja Delphi renderowana wewnątrz ChatGPT, Claude lub VS Code: narzędzia MCP zwracają strony sgcHTML wyświetlane przez hosta, a ich przyciski nadal tam działają.
Otwórz demo na żywo →Sterownia symulowanej pętli kotła: wskaźniki, wyświetlacze, elementy sterowania operatora, wykresy paskowe i oscyloskop utrzymywane na żywo przez serwer, bez odpytywania.
Otwórz demo na żywo →Symulacja instalacji wody chłodzącej ze zbiornikami, zaworami, pompami i animowanym przepływem, a także wskaźnikami, rejestratorem taśmowym i alarmami, wszystko sterowane przez MQTT. Online działa jako symulowana instalacja.
Otwórz demo na żywo →Dziewięć komponentów, każdy z własnym zdarzeniem serwera: Tabs, Select, Rating, TreeView, Calendar, Scheduler, Stepper, Modal i Toast. Użyj jednego w przeglądarce, a jego procedura obsługi w Delphi odpowie z serwera.
Otwórz demo na żywo →Formularz rejestracyjny z regułami walidacji i maskami wprowadzania. Przeglądarka sprawdza reguły przed wysłaniem, a serwer sprawdza każde pole podczas zmiany oraz cały formularz po jego nadejściu.
Otwórz demo na żywo →Siatka zamówień filtrowana grupami reguł AND / OR lub pytaniem w zwykłym języku angielskim, z kartą pokazującą sparametryzowaną klauzulę SQL WHERE tych samych reguł.
Otwórz demo na żywo →Sale konferencyjne współdzielone przez wszystkich odwiedzających: przeciągaj lub zmieniaj rozmiar wydarzeń w widokach tygodnia, dnia, miesiąca lub osi czasu, z salami jako zasobami i spotkaniami cyklicznymi. Każda otwarta przeglądarka pokazuje zmianę.
Otwórz demo na żywo →Pięć komponentów, po jednej stronie na każdy: przesyłanie plików we fragmentach, edytor tekstu sformatowanego z przesyłaniem obrazów i wzmiankami, edytowalny schemat organizacyjny, mapa na żywo z grupowaniem znaczników oraz siatka z kopiowaniem, wklejaniem i importem.
Otwórz demo na żywo →Portal dokumentów z drzewem folderów, podglądami, przesyłaniem metodą przeciągnij i upuść, paskiem narzędzi dopasowanym do roli każdego użytkownika, e-podpisami, linkami udostępniania i dziennikiem audytu aktualizowanym na żywo.
Otwórz demo na żywo →Konsola SaaS, która wprowadza użytkowników: przewodnik po produkcie przy pierwszym uruchomieniu z podświetleniem, podpowiedzi przy przyciskach, kartach i polach, przewodnik Co nowego oraz lejek wdrożeniowy aktualizowany na żywo.
Otwórz demo na żywo →Konsola administracyjna z konsolą SQL, która uzupełnia schemat i wyświetla wyniki zapytań w siatce, ustawieniami JSON sprawdzanymi na serwerze, fragmentami kodu w siedmiu językach i notatkami Markdown.
Otwórz demo na żywo →Raporty PDF z pasmami, wykresami, kodem QR i kodami kreskowymi, parametrami, podglądem na żywo, pobieraniem PDF, drukowaniem i eksportem do Excela. Nowe zamówienie odświeża każdy otwarty podgląd.
Otwórz demo na żywo →Raporty projektowane w przeglądarce z pasmami, podraportami, tekstem sformatowanym i inspektorem właściwości, a następnie podglądane i drukowane. Zawiera fakturę w sześciu językach, z arabskim drukowanym od prawej do lewej.
Otwórz demo na żywo →Przycinaj, powiększaj, obracaj i prostuj zdjęcia w przeglądarce: awatar z pliku lub z aparatu, skany dokumentów z korekcją perspektywy i obrazy produktów w stałych proporcjach.
Otwórz demo na żywo →Użytkownicy końcowi projektują własne formularze w przeglądarce na podstawie szablonów i publikują je z walidacją, maskami wprowadzania i polami warunkowymi. Odpowiedzi trafiają na żywo do siatki i wykresu.
Otwórz demo na żywo →Arkusze przechowywane na serwerze: budżet zespołu współdzielony na żywo przez każdą przeglądarkę, kalkulator kredytu dla każdego odwiedzającego i sprzedaż z VLOOKUP, ze skrótami klawiszowymi Excela oraz importem i eksportem XLSX.
Otwórz demo na żywo →Każdy klip to nagranie ekranu jednej z tych aplikacji w trakcie rzeczywistego działania, z narracją i napisami. Nic nie pobiera się, zanim nie naciśniesz odtwarzania.
Przegląd 110 komponentów, od siatek i wykresów po tablice Kanban i pola podpisu.
Sortowanie, filtrowanie, stronicowanie, edycja w miejscu, zaznaczanie i powiązanie ze zbiorem danych, wszystko sterowane z Pascala.
Jak podmiana fragmentu zastępuje przeładowanie strony i jak to wygląda w Twoim kodzie Delphi.
Metryki serwera wypychane do fragmentów out-of-band, aktualizujące karty i wykresy w miarę zmian.
Demo punktu sprzedaży czytające bazę danych w tym samym procesie, bez JSON API pośrodku.
Pulpity, kreator tabel przestawnych i widok eksploracji dla 27 000 pozycji zamówień.
Demo magazynu, ekran po ekranie zliczające bibliotekę komponentów, na której się opiera.
Ta sama aplikacja na tablicy w przeglądarce i na telefonie, stale zsynchronizowana.
Jeden plik binarny, jedna baza danych, ścisłe rozdzielenie najemców, pokazane, a nie tylko zadeklarowane.
Samoobsługowe zamówienia, profil i zgłoszenia do wsparcia za logowaniem.
Wyszukiwanie w trakcie pisania, dodawanie, edycja w miejscu i usuwanie, podmieniane jako fragmenty htmx.
Rejestracja, wątki zgłoszeń i zmiany statusu, wszystko renderowane po stronie serwera.
Asystent sklepu odpowiadający na podstawie katalogu produktów, zamiast zmyślać odpowiedź.
Nawigacja, paski boczne i kompozycja stron zbudowane z komponentu Site.
Dodanie wyjścia sgcHTML do istniejącej aplikacji Delphi WebBroker.
Udostępnianie nowoczesnego front-endu z warstwy usług, którą już masz.
Wszystkie licencje obejmują pełny kod źródłowy, 1 rok aktualizacji oraz 70% zniżki na odnowienie.
Zawiera sgcWebSockets Core, bez serwera WebSocket
1 rok aktualizacji
.NET Framework, .NET Core i .NET 5+ (NuGet)
1 rok aktualizacji
Budujemy Twoją aplikację webową za Ciebie.
Trzy pakiety jednorazowe
W sgcCustomization HTML opisujesz potrzebną aplikację, a zespół eSeGeCe buduje ją dla Ciebie z komponentów sgcHTML + sgcWebSockets.
sgcHTML to samodzielny pakiet komponentów. Cena powyżej obejmuje już środowisko uruchomieniowe sgcWebSockets Core, na którym jest zbudowany, więc nie musisz dodawać niczego więcej do zamówienia. Samodzielny sgcHTML serwuje strony przez TsgcHTTPServer i wypycha aktualizacje na żywo przez server-sent events. Serwer WebSocket (TsgcWebSocketHTTPServer) nie jest wliczony. Jest dostępny w sgcWebSockets Professional, Enterprise lub All-Access, gdzie sgcHTML serwuje strony i wypycha aktualizacje także przez WebSocket.
Masz już aplikację webową zbudowaną w IntraWeb, uniGUI, TMS WEB Core, Elevate Web Builder lub D2Bridge? Przewodniki krok po kroku przeprowadzą Cię przez przeniesienie jej do sgcHTML, z mapowaniem pojęć dla każdego frameworka. Dostępny jest także formularz pomocy w migracji, jeśli chcesz, aby nasz zespół pomógł zaplanować przenosiny lub wykonał je za Ciebie.
Otwórz przewodniki migracji →Udostępniaj te same strony zbudowane z komponentów z dowolnej aplikacji Embarcadero WebBroker. Z sgcWebSockets Professional, Enterprise lub All-Access możesz je też serwować z serwera DataSnap z wypychaniem przez WebSocket na tym samym porcie co Twoje punkty końcowe REST.
Hosting na WebBroker i DataSnap →Dzięki sgcCustomization HTML opisujesz aplikację, której potrzebujesz, a zespół eSeGeCe buduje ją dla Ciebie z komponentami sgcHTML + sgcWebSockets. Trzy jednorazowe pakiety od €149, a Ty otrzymujesz kompletny projekt, który możesz skompilować, rozbudować i przestylizować swoimi licencjonowanymi komponentami.
Poznaj sgcCustomization HTML →sgcHTML jest dołączony do wersji próbnej sgcWebSockets All-Access. Jeden instalator, oba produkty.
Wersja próbna działa przez ograniczony czas na jednej stacji roboczej. Zawiera wszystkie komponenty sgcHTML.
Pobierz wersję próbną →Zainstaluj bezpośrednio z nuget.org dla wszystkich docelowych wersji .NET.
Zobacz w NuGet →Nie. Biblioteka generuje znaczniki Bootstrap 5 i atrybuty htmx, a htmx sprawia, że przycisk wysyła dane zwrotnie i podmienia część strony bez przeładowania. Opisujesz interakcję w Pascalu, a atrybuty są generowane za ciebie. Nadal możesz dodać własny skrypt, gdy chcesz, przez CustomHead i BodyEndHTML.
Sam zapisujesz go do odpowiedzi HTTP. HTML to zwykła właściwość typu string, więc wystarczy dowolny serwer. Dostarczane demo używa TsgcWSHTTPServer w kompilacji Professional, a w przeciwnym razie TIdHTTPServer, ustawia ResponseNo := 200 i ContentType := 'text/html; charset=utf-8'i przypisuje tekst do ContentText.
Nie. Samodzielny produkt sgcHTML zawiera środowisko uruchomieniowe sgcWebSockets Core, które serwuje Twoje strony przez TsgcHTTPServer. Aktualizacje na żywo, takie jak PushFragment i BroadcastFragment, docierają do przeglądarki przez server-sent events: ustaw SSE.Enabled := True w silniku htmx lub Template.Transport := htSSE. Komponenty serwera WebSocket, w tym TsgcWebSocketHTTPServer, są dostępne w sgcWebSockets Professional, Enterprise lub All-Access. W jednej z tych edycji silnik wiąże się z TsgcWebSocketHTTPServer, który serwuje strony i obsługuje protokół WebSocket, więc aktualizacje htmx płyną przez WebSocket, a server-sent events służą jako rozwiązanie zapasowe. All-Access zawiera już sgcHTML.
TsgcHTMLComponent_Site, z jednostki sgcHTML_Component_Site.pas. Renderuje kompletną powłokę strony, więc dostajesz nawigację, panel boczny, motyw i obszar treści bez składania ich samodzielnie. Zbuduj go, wywołaj AddMenu i AddContent lub AddSection, a następnie odczytaj właściwość HTML. Dostarczane demo Site robi dokładnie to.
Gdy budujesz stronę z węzłów, tak, ponieważ węzeł zapisuje tekst i go zabezpiecza. Ryzyko pojawia się, gdy omijasz węzły i sam łączysz znaczniki, na przykład przez AddContent z ciągiem zbudowanym z danych użytkownika. Dla wszystkiego, co niesie dane użytkownika, preferuj jednostki węzłów.
Nie, i jest to celowe. SGC_HTML jest zdefiniowany w linii 885 wewnątrz {$IFNDEF ANDROID} w linii 883 i {$IFNDEF IOS} w linii 884, więc w tych środowiskach każda jednostka sgcHTML kompiluje się do pustej jednostki. To biblioteka po stronie serwera: telefon otrzymuje HTML przez sieć, dlatego cel mobilny nie potrzebuje renderera. Obsługiwane są Windows, macOS i Linux.
Pobrany pakiet zawiera ponad piętnaście dem uruchomieniowych w Demos\60.HTML\01.RunTime, w tym panel ERP, helpdesk, punkt sprzedaży, magazyn, aplikację raportów i aplikację serwisu terenowego. Galeria zawiera krótki film każdego z nich.
Uruchom serwer HTTP, podłącz silnik htmx i odpowiadaj na żądania stroną zbudowaną z komponentów.
Szybki start →Przewodnik Getting Started: zaprojektuj stronę na formularzu VCL, uruchamiaj kod Delphi z akcji Surface i przejdź przez sześć dem QuickStart.
Przewodnik Getting Started (PDF, po angielsku) →Połącz sgcHTML z naszymi pozostałymi bibliotekami komponentów dla Delphi, C++ Builder i .NET.
Komponenty klasy korporacyjnej: WebSocket, HTTP/2, MQTT, AMQP, WebRTC oraz AI/LLM. Dodaj do swojej aplikacji sgcHTML komunikację w czasie rzeczywistym i pełny stos sieciowy.
Dowiedz się więcej →Komponenty klienta i serwera QUIC oraz HTTP/3 dla Delphi, C++ Builder i .NET. Serwuj wyrenderowany interfejs sgcHTML przez HTTP/3, aby skrócić czas wczytywania strony w sieciach o zmiennej jakości.
Dowiedz się więcej →Pełny silnik mediów WebRTC dla Delphi i C++ Builder: połączenia audio/wideo, kanały danych i udostępnianie ekranu. Dodatek do sgcWebSockets Enterprise.
Dowiedz się więcej →Podpisy cyfrowe klasy enterprise: XAdES, PAdES, CAdES i ASiC z 10 dostawcami kluczy i 21 profilami krajów UE.
Dowiedz się więcej →Parser OpenAPI 3.0 i generator SDK. Zamień dowolną specyfikację OpenAPI w silnie typowanego klienta Delphi w kilka sekund.
Dowiedz się więcej →Natywne komponenty Windows Hello, odcisku palca i Windows Biometric Framework dla Delphi i C++ Builder.
Dowiedz się więcej →Zaktualizowane komponenty Indy TCP/IP z nowoczesnym TLS, obsługą IPv6 i HTTP/2 dla Delphi 7 do 13.
Dowiedz się więcej →15 komponentów AI, LLM i MCP dla Delphi i C++ Builder. Jeden komponent czatu sięga do OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok i Mistral. Produkt samodzielny, środowisko uruchomieniowe sgcWebSockets Core jest w zestawie.
Dowiedz się więcej →Komponenty klienckie MQTT 3.1.1 i 5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka oraz STOMP dla Delphi i C++ Builder. Produkt samodzielny, środowisko uruchomieniowe sgcWebSockets Core jest w zestawie.
Dowiedz się więcej →Uniwersalna biblioteka kryptograficzna dla Delphi i C++ Builder: szyfry symetryczne i asymetryczne, funkcje skrótu oraz algorytmy post-kwantowe. Bezpłatna od edycji sgcWebSockets Standard wzwyż.
Dowiedz się więcej →Klienci WhatsApp Business Cloud API i Telegram TDLib. Produkt samodzielny, środowisko uruchomieniowe sgcWebSockets Core jest w zestawie.
Dowiedz się więcej →