Once componentes nuevos.
Un único kit web para Delphi y .NET.
sgcHTML incorpora ahora una hoja de cálculo, un constructor de formularios, un diseñador y visor de informes, un gestor de archivos, un recortador de imágenes, un editor de código, un constructor de consultas y recorridos guiados, y además el planificador, la cuadrícula, los formularios y la accesibilidad han dado un gran salto. Todo se renderiza en el servidor y funciona sin CDN.
- Delphi
- C++ Builder
- Lazarus
- .NET
- ASP.NET Core

Las aplicaciones web creadas con Delphi piden siempre lo mismo: una hoja en la que el usuario pueda calcular, un formulario que el negocio pueda cambiar sin una nueva compilación, un informe que se imprima, un lugar donde guardar documentos, una imagen que recortar. Hasta ahora, cada una de esas cosas significaba una biblioteca JavaScript, un CDN y algo de código de enlace.
Con esta ronda de novedades de sgcHTML, todo eso pasa a ser componentes. Los colocas en un formulario o los creas por código, ajustas sus propiedades, gestionas sus eventos de servidor en Pascal o C#, y la página se renderiza en el servidor con Bootstrap y htmx. Los mismos componentes existen en .NET, con Tag Helpers de ASP.NET Core, y generan el mismo marcado.
Un minuto, todas las novedades
Los nuevos componentes de sgcHTML funcionando en vivo en el navegador. También en YouTube.

Hoja de cálculo
Una cuadrícula con fórmulas, dentro de la propia página. Los usuarios escriben valores y fórmulas con 54 funciones, desde SUM y VLOOKUP hasta SUMIF, fechas y PMT, y el servidor calcula cada cambio y devuelve solo las celdas que han cambiado.
- Teclado y portapapeles que funcionan como en Excel, con copiar y pegar incluidos
- Inserta y elimina filas y columnas, y todas las referencias se actualizan
- Importación y exportación XLSX con fórmulas y estilos
- Sincronización en vivo: cada navegador abierto ve el cambio
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

Constructor de formularios
Deja que tus usuarios diseñen sus propios formularios. Arrastran campos a un lienzo de 12 columnas, definen etiquetas, opciones, reglas de validación y máscaras de entrada, añaden campos que solo se muestran cuando otra respuesta coincide, y previsualizan el formulario real antes de guardarlo.
El diseño es la definición JSON de un Form normal, así que el formulario publicado conserva la validación, las máscaras y la validación en vivo, y GetJSONSchema describe los datos que recoge.
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);

Motor, visor y diseñador de informes
Informes por bandas que se imprimen directamente a PDF sin herramientas externas: grupos y subtotales, gráficos, códigos de barras y códigos QR, parámetros y subinformes, con fuentes Unicode para chino, japonés, coreano, árabe y hebreo.
El visor previsualiza, imprime y exporta a Excel. El diseñador permite a desarrolladores y usuarios finales editar el informe en el navegador, y en el IDE de Delphi (10.4 y posteriores) un doble clic abre el mismo diseñador.
Report1.LoadFromGrid(Grid1, 'Customers'); // print a grid in one call
Report1.SaveToStream(oStream); // the PDF

Gestor de archivos
Un portal de documentos en un solo componente: árbol de carpetas, vista de detalles y miniaturas, vistas previas de imágenes, archivos PDF y texto, subidas con arrastrar y soltar con progreso, renombrar, mover, copiar y buscar, todo con el ratón o el teclado.
Seguro por defecto: permisos por usuario, cada ruta comprobada en el servidor y archivos servidos mediante enlaces firmados que caducan.

Recortador de imágenes
Fotos de perfil y documentos escaneados sin ninguna biblioteca. El modo foto recorta, amplía, rota y endereza, con forma circular para avatares. El modo documento arrastra cuatro esquinas y corrige la perspectiva de un recibo o de una página.
Las imágenes llegan desde un archivo, el portapapeles o la cámara, y el servidor comprueba cada imagen antes de aceptarla.

Editor de código
CodeMirror 6, integrado en la biblioteca. SQL con autocompletado de tus tablas y columnas, JSON con validación en el navegador y en el servidor, y JavaScript, HTML, CSS, XML, Markdown, Python y Pascal, con plegado de código, búsqueda y temas que siguen el estilo de la página.

Constructor de consultas
Reglas de filtro en grupos AND y OR sobre las columnas de una cuadrícula. Los usuarios también pueden hacer una pregunta en lenguaje natural y recibirla convertida en reglas que pueden ver y editar. Tu código recibe una cláusula WHERE parametrizada, nunca texto escrito por el usuario o por la IA.
vWhere := QueryBuilder1.GetSQLWhere(oParams); // ':qb1' style parameters only

Tooltips y tours de producto
Tooltips asociados a cualquier elemento y recorridos guiados que ponen un foco en cada paso de tu experiencia de primer uso, con Atrás, Siguiente y Omitir, compatibilidad con el teclado y eventos de servidor cuando un usuario termina u omite el recorrido.
Y todo lo demás ha mejorado
Pruébalos en línea
Cada novedad tiene una demo en vivo que puedes abrir ahora mismo, sin descargar nada.
Delphi y .NET, el mismo resultado
Todos los componentes están disponibles para Delphi, C++ Builder y Lazarus, y para .NET con Tag Helpers de ASP.NET Core como <sgc-spreadsheet>, <sgc-form-builder> and <sgc-report-viewer>. Ambos generan el mismo marcado, los componentes hablan 17 idiomas, incluidos los de derecha a izquierda, y cada script y hoja de estilos está incrustado en la biblioteca, de modo que tus páginas nunca dependen de un CDN.
Crea tu próxima aplicación web con sgcHTML
Un kit de componentes renderizados en el servidor para Delphi y .NET, con los componentes que tus usuarios esperan.
