Conoce sgcChat.
Un chat dentro de tu aplicación.
Un asistente de IA que muestra sus respuestas como Markdown con formato mientras se generan, y un chat de equipo con presencia, indicador de escritura, acuses de lectura y reacciones. Controles nativos para Delphi, C++ Builder y .NET.
- VCL
- FireMonkey
- WinForms
- WPF
- Avalonia
- SVG y PNG sin ventana
Hoy publicamos sgcUI 2026.11. Incorpora un producto nuevo, sgcChat, que lleva un chat con asistente de IA y un chat de equipo al interior de tu propia aplicación, y cubre una lista de carencias menores en toda la suite: indicadores que aceptan entrada del usuario, un enlace de datos que sigue al conjunto de datos en ambos sentidos, un panel publicado como página web, series recurrentes de Outlook en el planificador, scripts en los informes y más.
sgcChat es el decimosexto producto de sgcUI. Funciona en VCL y FireMonkey para Delphi y C++ Builder, y en WinForms, WPF y Avalonia para .NET, y está incluido en sgcUI Enterprise y en All-Access. No se vende como paquete independiente.
sgcChat: un asistente de IA en tu aplicación
Una respuesta de IA llega en trozos pequeños, y los usuarios esperan leerla mientras se escribe. TsgcChatAI enlaza una conversación con un proveedor, envía el historial y el prompt del sistema, y muestra cada trozo como Markdown con formato en cuanto llega. El proveedor se ejecuta en un hilo de trabajo, de modo que la ventana sigue respondiendo, y el panel de chat ofrece detener, regenerar, y editar y reenviar para cada respuesta.
- Markdown en streaming con un cursor mientras se escribe la respuesta.
- Tarjetas de llamada a herramientas con el nombre de la herramienta, los argumentos, el resultado y un estado de en curso, terminada o con error.
- El historial de la conversación se guarda y se carga en JSON.
sgcChat no te ata a un único proveedor de IA. TsgcChatAIProvider_AIChat se conecta a TsgcAIChat de sgcWebSockets, que habla con OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok y Mistral. TsgcChatAIProvider_UICore usa la capa de proveedores de IA que comparten todos los productos sgcUI, y TsgcChatAIEventProvider te permite hacer streaming desde tu propio backend en un evento. Así responde con OpenAI un enlace TsgcChatAI:
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 para usar Anthropic, Gemini, DeepSeek, Ollama, Grok o Mistral. La ayuda de sgcChat incluye la guía de inicio rápido completa.
Hablar con Claude, OpenAI, Gemini y los demás proveedores de LLM requiere sgcWebSockets, incluido en All-Access. TsgcChatAIProvider_AIChat está en el paquete del puente sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Sin sgcWebSockets, TsgcChatAIEventProvider permite que tu propio código llame a cualquier servicio de IA.
sgcChat: un chat de equipo en tu propio servidor
Los servicios de soporte, los equipos de campo y las herramientas internas necesitan un chat que sus usuarios ya sepan usar. La vista de chat agrupa los mensajes de cada autor con un avatar y un nombre, muestra quién está conectado, ausente u ocupado, muestra quién está escribiendo y marca cada mensaje como enviado, entregado o leído. Los usuarios responden a un mensaje, reaccionan a él, editan o eliminan sus propios mensajes y envían archivos adjuntos con miniaturas de imagen y etiquetas de archivo.
El chat no depende de un servidor concreto. TsgcChatEventTransport entrega a tu código cada mensaje, cambio de escritura, acuse y reacción como una trama JSON documentada. Con sgcWebSockets, TsgcChatTransport_WebSocket conecta a un cliente y TsgcChatServer_WebSocket retransmite los mensajes entre los clientes de un canal, mantiene la presencia de cada usuario y envía los últimos mensajes a los usuarios que se incorporan más tarde. El relay se ejecuta en un servicio o en un programa de consola:
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;
Los dos ejemplos de Delphi anteriores están copiados sin cambios de los ejemplos de la ayuda de sgcChat, que se compilaron con Delphi 13 (Win32) contra los fuentes de sgcUI y sgcWebSockets.
El chat de equipo por WebSocket requiere sgcWebSockets, incluido en All-Access. TsgcChatTransport_WebSocket y TsgcChatServer_WebSocket están en el paquete del puente sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Sin sgcWebSockets, TsgcChatEventTransport conecta el chat con cualquier backend.
sgcChat: un visor Markdown nativo
El motor que hay detrás de las burbujas del chat es también un control por sí mismo. TsgcVCLMarkdownViewer y TsgcFMXMarkdownViewer muestran encabezados, énfasis, citas, listas, listas de tareas, tablas, enlaces e imágenes, y resaltan los bloques de código de Pascal, C#, C++, JavaScript, Python, JSON, SQL y otros lenguajes. AppendMarkdown añade texto a medida que llega, y los usuarios seleccionan y copian el texto o un bloque de código completo con su botón de copiar. Úsalo para notas de versión, páginas de ayuda y mensajes escritos en Markdown.
sgcChat encaja con el resto de la suite
El chat sigue los temas claro, oscuro y Fluent de sgcUI. Una conversación en árabe o hebreo se muestra en espejo, y los textos de los controles están traducidos a los 12 idiomas de sgcUI. En Windows, la vista de chat es una lista de mensajes para los lectores de pantalla, con el autor y la hora de cada mensaje. El modelo de conversación, el documento Markdown y la vista no dependen de VCL ni de FireMonkey, así que un servicio puede renderizar una conversación o un documento Markdown a SVG o PNG sin ventana, también en Linux64.
Los componentes son TsgcVCLChatPanel, TsgcVCLChatView, TsgcVCLChatInput y TsgcVCLMarkdownViewer, el mismo conjunto con el prefijo TsgcFMX para FireMonkey, y los mismos controles para WinForms, WPF y Avalonia, como TsgcWinFormsChatPanel, TsgcWpfChatPanel y TsgcAvaloniaChatPanel. Las demos cubren un asistente de IA, un cliente de chat de equipo con su servidor relay y el visor Markdown, para VCL, FireMonkey, C++ Builder, WinForms, WPF y Avalonia.
sgcChat se vende como parte de sgcUI Enterprise y del paquete All-Access, que incluye además sgcWebSockets para el proveedor de IA y el puente WebSocket. Consulta la página de sgcChat y la matriz de características.
En toda la suite: entrada, datos y salida
El resto de la versión cubre carencias menores en los productos: controles que aceptan entrada del usuario, un enlace de datos que sigue al conjunto de datos en ambos sentidos y más formas de sacar una pantalla de la aplicación.
sgcGauges: indicadores de entrada y skins
Cuatro indicadores de entrada, TsgcVCLKnobGauge, TsgcVCLSliderGauge, TsgcVCLToggleSwitchGauge y TsgcVCLPushButtonGauge (TsgcFMX en FireMonkey, y los mismos nombres en WinForms, WPF y Avalonia), permiten al usuario fijar un valor con el ratón, el tacto, la rueda o el teclado. OnUserChange se dispara solo con los cambios hechos por el usuario, y los lectores de pantalla los ven como un control deslizante, un interruptor y un botón. sgcGauges tiene ahora dieciséis tipos de indicador, contando los indicadores de depósito y de símbolo de proceso del paquete HMI que se describe más abajo.
Skin da a cada indicador un aspecto nuevo: Classic, Modern, Industrial, ISA101, Dark o un skin propio registrado con sgcGaugesRegisterSkin. TsgcGaugeDataLink muestra un campo del conjunto de datos en cualquier indicador y escribe de vuelta en el campo los cambios de un indicador de entrada. Consulta las características de sgcGauges y la ayuda de los indicadores de entrada.
Enlace de datos en vivo y en dos sentidos
Los productos siguen un TDataSet de Delphi, o un DataTable en .NET, mientras cambia, y los productos de edición escriben de vuelta los cambios del usuario:
- sgcPlanner:
TsgcPlannerSource_DataSetnotifica cada escritura conOnWriteBack, puede rechazar una enOnBeforeWriteBack, y devuelve el planificador a los datos cuando se rechaza una escritura o falla.Throttleagrupa los cambios rápidos yFollowCursorselecciona el elemento del registro actual. - sgcDiagram:
TsgcDiagramDataBindingsigue los conjuntos de datos de nodos y enlaces por Id, guarda la posición y el tamaño de los nodos y, conWriteBack, escribe de vuelta en los datos los nodos y enlaces que los usuarios añaden, mueven, editan o eliminan. - sgcPivotGrid y sgcDashboard: el origen DataSet de la tabla dinámica y el origen de datos del panel siguen a un conjunto de datos con un
Throttleque agrupa los cambios rápidos en una sola actualización.
sgcDiagram, sgcPivotGrid, sgcGauges y sgcDashboard tienen el mismo enlace en .NET. La matriz de características de sgcUI indica qué incluye cada edición.
sgcPlanner: series de Outlook, recordatorios de Google y capacidad
TsgcPlannerGraphSync ahora trae las series recurrentes de Outlook como un único elemento recurrente con su RRULE, las ocurrencias modificadas como ocurrencias modificadas y las canceladas como excepciones, y envía de vuelta a Outlook las series creadas en el planificador. TsgcPlannerGoogleSync envía a Google Calendar los recordatorios cambiados en el planificador cuando se actualiza un evento, y lee los que se cambiaron en Google. Una Capacity por recurso (1 para una persona a tiempo completo, 0.5 para media jornada, 3 para un equipo de tres) controla la línea de capacidad del histograma de carga, y se lee y se escribe como MaxUnits en el XML de Microsoft Project. Consulta las características de sgcPlanner.
sgcDashboard: publicar en la web y el mosaico de mapa en todas partes
SaveToHTML escribe un panel como una única página HTML autocontenida. Cada mosaico se dibuja como SVG con el mismo código que lo imprime, sobre una cuadrícula CSS que sigue los puntos de ruptura del panel, y cada mosaico tiene un encabezado y una alternativa de texto para los lectores de pantalla. Sin una URL de actualización, la página no contiene ningún script. En .NET el mosaico de mapa existe ahora también para WPF y Avalonia, y los mapas aparecen en la impresión, el PDF y la salida HTML del panel. Lee la ayuda de publicar en la web y las características de sgcDashboard.
sgcMaps: dibuja el mapa en cualquier canvas
DrawTo en TsgcVCLMap, TsgcFMXMap y el SgcMapControl de WinForms dibuja la vista actual, con sus teselas cargadas, en un rectángulo de cualquier canvas de sgcUI, y los mapas de WPF y Avalonia se renderizan también en cualquier canvas de sgcUI. Así llega un mapa de un mosaico del panel a la impresión, al PDF y a la página HTML. Consulta las características de sgcMaps.
sgcWizard: transiciones y una página de resumen
Transition anima el cambio de página con un deslizamiento, un fundido o ambos, en espejo en los diseños de derecha a izquierda, y ReduceMotion sigue el ajuste de animaciones de Windows. Con ShowSummary el asistente añade una última página que lista los campos y los valores que el usuario introdujo en cada página visitada, con las contraseñas ocultas y un enlace Editar que vuelve a cada página. Consulta las características de sgcWizard y la ayuda de la página de resumen.
sgcReports: scripts y la vista previa de FireMonkey en todas las plataformas
TsgcReport.Script contiene procedimientos en un pequeño lenguaje parecido a Pascal, guardados en la definición del informe y en el JSON. El informe ejecuta un script al empezar y al terminar, y cada banda y cada elemento antes y después de imprimirse, de modo que un script puede ocultar una banda o cambiar el texto, el color de la fuente o la altura de un elemento en la impresión actual. Los diseñadores de VCL, FireMonkey, WinForms, WPF y Avalonia editan el script con un botón Comprobar que muestra la línea y la columna de un error. La vista previa de FireMonkey funciona en Windows, macOS, iOS y Android, con desplazamiento táctil y zoom con pellizco, y en iOS y Android, Imprimir y Guardar PDF abren la hoja de compartir del sistema. Consulta las características de sgcReports y la ayuda de scripts.
sgcPDF para .NET: editar anotaciones y rellenar formularios en WPF y Avalonia
Los visores de WPF y Avalonia hacen ahora lo que hace el visor de WinForms: los usuarios crean, mueven, redimensionan, editan y eliminan anotaciones con el ratón (AnnotationEditing y AnnotationTool), y con FormFilling rellenan campos de texto, casillas de verificación, botones de opción, cuadros combinados y cuadros de lista, con Tab moviéndose por los campos en su orden de tabulación. Consulta las características de sgcPDF.
Accesibilidad comprobada en todas las plataformas
El árbol de UI Automation de cada demo de producto, el árbol que leen lectores de pantalla como Narrator y NVDA, se comprobó con un cliente de UI Automation en VCL, FireMonkey, WinForms, WPF y Avalonia, y se corrigieron los problemas encontrados. Los editores VCL anuncian ahora la etiqueta del campo en lugar de su valor, una barra de navegación plana es una lista en vez de un árbol, las barras de estado de WinForms y WPF ya no toman el foco del teclado, las celdas de la cuadrícula de Avalonia ya no repiten el nombre de su columna, y los puntos de los gráficos y otros elementos dibujados de los controles de Avalonia informan de su posición en pantalla.
Smart tags de Visual Studio y XAML
Los smart tags de los 69 componentes de la caja de herramientas de WinForms se probaron en una superficie de diseño: cada propiedad, editor de colecciones, lista de orígenes de datos, acción y verbo. En WPF y Avalonia, los mosaicos de sgcDashboard y los skins de sgcGauges se declaran en XAML con el mismo prefijo sgc que las columnas, los campos y las series de los demás productos.
sgcEditors: control de diseño y formularios de datos
El nuevo control de diseño, TsgcVCLLayoutControl y TsgcFMXLayoutControl (y los mismos nombres en WinForms, WPF y Avalonia), organiza los controles de un formulario en grupos, grupos con pestañas y columnas, con los títulos alineados a un mismo ancho, divisores que el usuario puede arrastrar y diseños de derecha a izquierda. SaveLayout y LoadLayout guardan como JSON la disposición que hizo el usuario. El control de diseño está en todas las ediciones, Community incluida. Delphi Community no tiene paquete de tiempo de diseño para sgcEditors, así que allí se crea en código.
El formulario de datos se apoya en él. TsgcVCLDataForm y TsgcFMXDataForm generan un formulario de edición completo a partir de un TDataSet, o de las propiedades published de una clase con BindObject, y los formularios de datos de WinForms, WPF y Avalonia aceptan un DataTable, una lista o un objeto. Cada campo recibe un control de sgcEditors, las reglas del validador de sgcUICore y un lugar en un grupo o en una pestaña, y un navegador recorre, añade, edita, elimina y guarda los registros. Smart Paste rellena todo el registro a partir de un texto pegado mediante la capa de IA que los editores ya usan, y marca los campos que rellenó. El formulario de datos está en la edición Registrada, en VCL, FireMonkey, C++Builder, WinForms, WPF y 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;
Consulta las funciones de sgcEditors y la ayuda del formulario de datos.
Paquete HMI de sgcUI: depósitos, P&ID, alarmas y un NumPad
El paquete HMI lleva las pantallas de proceso a sgcUI: paneles de operador, parques de tanques, estaciones de bombeo y otras pantallas de planta. No es un producto nuevo. Cada pieza vive en el producto que amplía y sigue su edición, en VCL y FireMonkey, C++Builder, y WinForms, WPF y Avalonia en .NET. Llama una vez a sgcUIApplyISA101 y todos los controles de sgcUI pasan al esquema gris de ISA-101, donde el color se reserva para los estados anormales y las alarmas.
- sgcGauges: un indicador de depósito y recipiente,
TsgcVCLTankGauge, en cuatro formas con límites HH, H, L y LL e histéresis, y un indicador de símbolo de proceso,TsgcVCLSymbolGauge, que dibuja una válvula, bomba, motor, ventilador, intercambiador de calor o sensor como off, on, fault, open, closed o en tránsito, con bombas y ventiladores que giran mientras funcionan. El puente sgcGaugesWS alimenta ambos desde MQTT, WebSocket o SSE, yValueMapconvierte códigos de planta comoRUNNINGen estados del símbolo. - sgcDiagram: 56 plantillas P&ID al estilo de ISA-5.1 para bombas, válvulas, recipientes, equipos de transferencia de calor, tuberías e instrumentos, y estados de proceso y tuberías animadas mediante las reglas de
TsgcDiagramStatusBinding. - sgcGrid: una lista de alarmas ISA-18.2.
TsgcGridAlarmModelguarda las alarmas con prioridades de 1 a 4 y seis estados, con Acknowledge, Shelve, filtros y exportación a JSON y CSV.TsgcGridAlarmLinklas muestra en una cuadrícula con colores de prioridad y filas parpadeantes, y el menú de alarmas da al operador los comandos. - sgcEditors:
TsgcVCLNumPad, un NumPad para paneles táctiles, acoplado al formulario o como lista desplegable, que escribe en los editores de giro y de moneda, un campo de edición estándar y los indicadores de mando giratorio y de deslizador.
La aplicación sigue al mando de la planta: trae los valores de sus propios controladores, una base de datos o el puente de indicadores, y decide cuándo se activa una alarma. No hay ningún controlador OPC UA ni Modbus. Los indicadores de depósito y de símbolo de proceso, la lista de alarmas y el NumPad están en todas las ediciones, también en Community, mientras que las plantillas P&ID, los estados de proceso y las tuberías animadas, las fuentes de datos de los indicadores y el registro de reconocimientos de alarmas son de la edición registrada. La demo HMI de la suite reúne las piezas en un pequeño parque de tanques controlado por un simulador. Lee la página del paquete HMI de sgcUI y la ayuda del paquete HMI.
Paquete Realtime UI de sgcUI: presencia, notificaciones, feeds de actividad y registros en vivo
El paquete Realtime UI da a sgcUI las piezas de una pantalla en vivo para Delphi, C++Builder y .NET. No es un producto nuevo. Cada pieza vive en el producto que amplía. sgcUICore añade un modelo de presencia con avatares, un grupo de avatares y un indicador de presencia. sgcNavigation añade un centro de notificaciones con toasts, una bandeja agrupada por día y preferencias por categoría y canal, mientras que TsgcToolbarBadgeLink de sgcToolbar muestra el número de no leídas en un elemento de la barra de herramientas o de la cinta. sgcDashboard añade un feed de actividad y una pista de auditoría, como controles independientes y como mosaicos del panel, y sgcGrid añade un visor de registros en vivo con niveles, filtros, seguimiento del final, pausa y exportación.
Cada modelo recibe un mensaje JSON por cambio. En la edición registrada, las fuentes en vivo WebSocket, MQTT y SSE del puente sgcUICoreWS los alimentan desde sgcWebSockets sin código. Cada control viene con la edición de su producto. Sin servidor, o en una compilación Community, la aplicación actualiza los modelos mediante su API. Lee la página del paquete Realtime UI de sgcUI.
Guías Getting Started para cada producto
Cada producto sgcUI incluye ahora cinco demos QuickStart para Delphi (VCL) y una guía Getting Started, en HTML junto a las demos y en PDF. Las demos van desde el primer formulario hasta una pequeña aplicación completa, y la guía explica cada paso. Empieza con la guía de sgcGrid, la guía de sgcCharts o la guía de sgcChat.
Las 16 guías están listadas en la sección de guías del inicio rápido de sgcUI.
Prueba sgcChat y sgcUI 2026.11
Una prueba para Delphi y otra para C++ Builder instalan los 16 productos de sgcUI.
¿Preguntas o comentarios? Ponte en contacto, te responderán las personas que escribieron el código.
