Onze nouveaux composants.
Une seule boîte à outils web pour Delphi et .NET.
sgcHTML intègre désormais un tableur, un générateur de formulaires, un concepteur et une visionneuse d'états, un gestionnaire de fichiers, un outil de recadrage d'images, un éditeur de code, un générateur de requêtes et des visites guidées, et le planificateur, la grille, les formulaires et l'accessibilité ont fait un grand bond en avant. Tout est rendu côté serveur et fonctionne sans CDN.
- Delphi
- C++ Builder
- Lazarus
- .NET
- ASP.NET Core

Les applications web créées avec Delphi réclament toujours les mêmes choses : une feuille de calcul pour l'utilisateur, un formulaire que le métier peut modifier sans nouvelle compilation, un état imprimable, un endroit où ranger des documents, une image à recadrer. Jusqu'ici, chacune de ces briques impliquait une bibliothèque JavaScript, un CDN et un peu de code de liaison.
Avec cette série de nouveautés sgcHTML, ce sont désormais des composants. Vous les déposez sur une fiche ou les créez par code, réglez leurs propriétés, gérez leurs événements serveur en Pascal ou en C#, et la page est rendue côté serveur avec Bootstrap et htmx. Les mêmes composants existent en .NET, avec les Tag Helpers ASP.NET Core, et produisent le même balisage.
Une minute, toutes les nouveautés
Les nouveaux composants sgcHTML en direct dans le navigateur. Aussi sur YouTube.

Tableur
Une grille avec formules, directement dans la page. Les utilisateurs saisissent des valeurs et des formules parmi 54 fonctions, de SUM et VLOOKUP à SUMIF, aux dates et à PMT, et le serveur calcule chaque modification et ne renvoie que les cellules modifiées.
- Clavier et presse-papiers qui fonctionnent comme dans Excel, copier-coller compris
- Insertion et suppression de lignes et de colonnes, toutes les références suivent
- Import et export XLSX avec formules et styles
- Synchronisation en direct : chaque navigateur ouvert voit la modification
Spreadsheet1.Sheet.SetCellByName('A14', 'Total');
Spreadsheet1.Sheet.SetCellByName('B14', '=SUM(B2:B13)');
Spreadsheet1.LiveSync := True; // every browser sees the change
Spreadsheet1.SaveToXLSX(oStream); // formulas, styles and widths included

Générateur de formulaires
Laissez vos utilisateurs concevoir leurs propres formulaires. Ils font glisser des champs sur un canevas de 12 colonnes, définissent libellés, options, règles de validation et masques de saisie, ajoutent des champs qui n'apparaissent que si une autre réponse correspond, et prévisualisent le vrai formulaire avant de l'enregistrer.
Le design est la définition JSON d'un Form ordinaire : le formulaire publié conserve donc la validation, les masques et la validation en direct, et GetJSONSchema décrit les données qu'il collecte.
FormBuilder1.Form := Form1; // the form your users design
procedure TPages.FormBuilder1Save(Sender: TObject; const aJSON: string;
var aAccept: Boolean; var aErrorMessage: string);
begin
SaveDesign(aJSON); // store the definition where you like
end;
// on the public page
Form1.LoadFromJSON(LoadDesign);

Moteur, visionneuse et concepteur d'états
Des états à bandes qui s'impriment directement en PDF sans outil de reporting externe : groupes et sous-totaux, graphiques, codes-barres et codes QR, paramètres et sous-états, avec des polices Unicode pour le chinois, le japonais, le coréen, l'arabe et l'hébreu.
La visionneuse affiche l'aperçu, imprime et exporte vers Excel. Le concepteur permet aux développeurs et aux utilisateurs finaux de modifier l'état dans le navigateur, et dans l'EDI Delphi (10.4 et ultérieur) un double clic ouvre ce même concepteur.
Report1.LoadFromGrid(Grid1, 'Customers'); // print a grid in one call
Report1.SaveToStream(oStream); // the PDF

Gestionnaire de fichiers
Un portail documentaire en un seul composant : arborescence de dossiers, détails et vignettes, aperçus d'images, de fichiers PDF et de texte, téléversements par glisser-déposer avec progression, renommage, déplacement, copie et recherche, le tout à la souris ou au clavier.
Sécurisé par défaut : permissions par utilisateur, chaque chemin vérifié côté serveur et fichiers servis via des liens signés qui expirent.

Recadrage d'images
Photos de profil et documents numérisés sans bibliothèque. Le mode photo recadre, zoome, pivote et redresse, avec une forme circulaire pour les avatars. Le mode document déplace quatre coins et corrige la perspective d'un ticket ou d'une page.
Les images proviennent d'un fichier, du presse-papiers ou de la caméra, et le serveur vérifie chaque image avant de l'accepter.

Éditeur de code
CodeMirror 6, intégré à la bibliothèque. SQL avec complétion de vos tables et colonnes, JSON avec validation dans le navigateur et sur le serveur, ainsi que JavaScript, HTML, CSS, XML, Markdown, Python et Pascal, avec repliage, recherche et thèmes qui suivent la page.

Générateur de requêtes
Des règles de filtrage en groupes AND et OR sur les colonnes d'une grille. Les utilisateurs peuvent aussi poser une question en langage naturel et la récupérer sous forme de règles qu'ils peuvent voir et modifier. Votre code reçoit une clause WHERE paramétrée, jamais un texte écrit par l'utilisateur ou par l'IA.
vWhere := QueryBuilder1.GetSQLWhere(oParams); // ':qb1' style parameters only

Info-bulles et visites guidées du produit
Des info-bulles attachées à n'importe quel élément, et des visites guidées qui mettent en lumière chaque étape de votre expérience de première utilisation, avec Précédent, Suivant et Passer, prise en charge du clavier et événements serveur lorsqu'un utilisateur termine ou abandonne.
Et tout le reste s'est amélioré
Essayez-les en ligne
Chaque nouveauté dispose d'une démo en direct que vous pouvez ouvrir tout de suite, sans rien télécharger.
Delphi et .NET, le même résultat
Chaque composant est disponible pour Delphi, C++ Builder et Lazarus, et pour .NET avec des Tag Helpers ASP.NET Core tels que <sgc-spreadsheet>, <sgc-form-builder> and <sgc-report-viewer>. Les deux produisent le même balisage, les composants parlent 17 langues, y compris de droite à gauche, et chaque script et feuille de style est intégré à la bibliothèque, si bien que vos pages ne dépendent jamais d'un CDN.
Créez votre prochaine application web avec sgcHTML
Une boîte à outils de composants rendus côté serveur pour Delphi et .NET, avec les composants que vos utilisateurs attendent.
