Delphi, C++ Builder & .NET Parte de sgcUI

sgcEditors, los controles de entrada modernos para Delphi, C++ Builder & .NET

Quince entradas de formulario que se ven igual en cualquier monitor y se comportan como editores nativos: un calendario con reglas de reserva reales, selectores de fecha y hora, un deslizador de rango, un selector de color, chips, estrellas, un editor numérico, editores con botón, de búsqueda, con máscara y de moneda, un lookup de varias columnas y un memo, además de un interruptor para ajustes, un editor de dirección IP, un editor de duración, un selector de fuente, una lista con casillas de verificación y una lista doble, un NumPad y un teclado en pantalla para paneles táctiles. Escribe una fecha en tu propio idioma, comprueba todo el formulario antes de guardar, cambia al tema oscuro con una propiedad y enlaza los editores a un conjunto de datos.

Quince controles para VCL, FireMonkey, WinForms, WPF, AvaloniaValidación de formularios en todas las edicionesEntrada de texto nativa con IME y portapapelesEdición Community de .NET gratuitaIncluido en sgcUI Standard
Demo Gallery con el calendario mensual, los selectores de fecha, hora y fecha y hora, el editor numérico, la valoración, el deslizador de rango, el editor de tokens y el selector de color

Las entradas que tus formularios merecen

Dieciséis funciones que hacen que las fechas, los importes, los códigos, las opciones y las etiquetas se introduzcan rápido y sea difícil equivocarse.

Los controles

Quince entradas que cubren los campos de los formularios de negocio reales, cada una disponible para VCL, FireMonkey y .NET.

La demo Gallery con los controles de sgcEditors

Los controles

Quince entradas modernas en un solo paquete

Los formularios de reserva, las páginas de ajustes y los filtros piden siempre las mismas entradas: un calendario, un selector de fecha u hora, un deslizador, un color, una lista de etiquetas, una valoración con estrellas, un número con unidades, un código con máscara, un precio, una opción de una lista larga, un cuadro de búsqueda y un comentario. sgcEditors te da las quince como una familia coherente. Cada control existe para VCL y FireMonkey con las mismas propiedades y eventos publicados, y para WinForms, WPF y Avalonia con los mismos nombres, así que lo que aprendes con un control se aplica a los demás. Comparten un tema, un color de acento y un modelo de teclado. Colócalos desde la página SGC Editors de la paleta y se ven bien desde la primera ejecución.

  • TsgcVCLMonthCalendar, TsgcVCLDatePicker, TsgcVCLTimePicker, TsgcVCLDateTimePicker
  • TsgcVCLRangeSlider y TsgcVCLSpinEdit para números
  • TsgcVCLColorPicker, TsgcVCLTokenEdit, TsgcVCLRating
  • TsgcVCLButtonEdit, TsgcVCLSearchEdit, TsgcVCLMaskEdit, TsgcVCLCurrencyEdit, TsgcVCLLookupEdit, TsgcVCLMemo
  • Todos descienden de TsgcVCLCustomEditor
Leer el tema de la ayuda
Un calendario que sigue reglas de reserva reales

Los controles

Un calendario que sigue reglas de reserva reales

Un hotel, una clínica o un mostrador de alquiler nunca aceptan cualquier fecha. El calendario mensual selecciona una fecha o, con SelectionMode en esmRange, un rango de días, y MaxRangeDays limita la duración de ese rango. Los días fuera de MinDate y MaxDate, los DisabledDates indicados, los DisabledWeekDays como los fines de semana y cualquier día que rechace tu gestor OnIsDateDisabled se dibujan tachados y no se pueden elegir. Los números de semana ISO 8601 y las vistas de mes, año y década ayudan a los usuarios a saltar lejos. El mismo calendario gobierna el desplegable de los selectores de fecha, así que las reglas se aplican allí donde se elige una fecha.

  • SelectionMode: esmSingle o esmRange
  • MinDate, MaxDate y MaxRangeDays
  • DisabledDates, DisabledWeekDays, OnIsDateDisabled
  • ShowWeekNumbers para los números de semana ISO
Leer el tema de la ayuda
Rangos de precio y de fecha con dos tiradores

Los controles Solo registrada

Rangos de precio y de fecha con dos tiradores

Los filtros de precio, peso o distancia se leen mejor como un rango sobre un carril. El deslizador de rango elige un valor entre Min y Max con un tirador, o un rango con dos tiradores en RangeMode, en horizontal o en vertical. Dibuja marcas, etiquetas y una burbuja con el valor sobre el tirador arrastrado, y un clic en el carril mueve allí el tirador más cercano. Los tiradores nunca se cruzan, Step ajusta los valores y MinRange mantiene una separación mínima, así que el filtro nunca puede quedar vacío por accidente. Los valores y las etiquetas siguen el idioma regional del control, incluidos los separadores decimal y de millares.

  • RangeMode con Value y EndValue
  • Min, Max, Step y MinRange
  • TickInterval, ShowLabels, ShowValueTip
  • LabelFormat u OnFormatLabel para monedas

Community: se dibuja y edita un solo tirador; EndValue se conserva pero no se muestra.

Leer el tema de la ayuda
Etiquetas y chips con autocompletado

Los controles Solo registrada

Etiquetas y chips con autocompletado

Las etiquetas, los destinatarios y las habilidades son listas, no una línea de texto. El editor de tokens dibuja cada entrada como un chip con un botón de quitar, reparte los chips en varias líneas y se desplaza cuando no caben. Un delimitador, Intro, Tab o la pérdida del foco convierten el texto escrito en un chip, y pegar a, b, c crea tres. OnValidateToken normaliza o rechaza cada entrada, y AllowDuplicates, CaseSensitive y MaxTokens fijan las reglas. En las compilaciones Registradas, una lista de autocompletado sugiere entradas mientras el usuario escribe. AddToken, RemoveToken y Clear cambian la lista desde código cuando cargas o guardas un registro.

  • Tokens contiene los chips; Delimiters termina uno
  • OnValidateToken e InvalidTokens comprueban cada entrada
  • AutoCompleteItems y AutoCompleteMinChars para las sugerencias
  • OnTokenAdded y OnTokenRemoved informan de los cambios

Community: los chips, la validación y los límites funcionan; la lista de autocompletado nunca se abre.

Leer el tema de la ayuda

Los controles Solo registrada

Elige cualquier color, con alfa

Los editores de temas, los ajustes de gráficos y los diseñadores de etiquetas necesitan más que una paleta fija. El selector de color apila una cuadrícula de muestras, un cuadrado de saturación y valor, una barra de tono, una barra de alfa y una fila con vista previa y un editor hexadecimal, y Parts elige cuáles aparecen. El editor hexadecimal acepta #RGB, #RGBA, #RRGGBB y #RRGGBBAA. El selector mantiene el tono separado del color, así que un gris conserva su tono y el cuadrado nunca salta mientras el usuario arrastra. Define la paleta de tu marca como muestras y los usuarios siguen teniendo el selector completo a un clic.

  • Parts con ecpSwatches, ecpHSV, ecpAlpha, ecpHex
  • Swatches y SwatchColumns para tu paleta
  • SelectedColor como valor ARGB
  • OnChangeComplete cuando el usuario suelta el ratón

Community: solo muestras y hexadecimal; el cuadrado HSV y la barra de alfa no se dibujan y el alfa es siempre $FF.

Leer el tema de la ayuda

Los controles

Botones, búsqueda y notas con el mismo estilo

Muchos campos necesitan un botón junto al texto: buscar un archivo, abrir un diálogo, borrar el valor. El editor con botón coloca botones de examinar, desplegable, búsqueda, borrar, más, menos, de texto o dibujados por ti a cada lado de un editor nativo, cada uno con su propio atajo, y los lectores de pantalla nombran cada botón y pueden pulsarlo. El editor de búsqueda lanza OnSearch tras una pausa al escribir o de inmediato con Intro, y vuelve a ofrecer las búsquedas anteriores en un historial desplegable. El memo es un editor multilínea con tema, con texto de ayuda, un contador de caracteres con límite opcional y una altura que sigue las líneas entre MinLines y MaxLines.

  • TsgcVCLButtonEdit con Buttons y OnButtonClick
  • TsgcVCLSearchEdit con SearchDelay, History y OnSearch
  • TsgcVCLMemo con ShowCounter, MaxLength, AutoHeight
Leer el tema de la ayuda

Los controles

Entrada con máscara y de moneda que puedes compartir con .NET

Los teléfonos, los códigos postales, los números de cuenta y los precios necesitan un formato fijo. El editor con máscara acepta una máscara de entrada en la sintaxis EditMask de Delphi o en la sintaxis MaskedTextBox de .NET, así que una misma máscara se comporta igual en una aplicación Delphi y en una .NET: los literales quedan fijos, cada posición acepta solo su tipo de carácter y Text devuelve el valor con o sin los literales. El editor de moneda guarda un valor Currency exacto, un decimal en .NET, sin coma flotante. Muestra el formato de moneda completo de la configuración regional mientras no tiene el foco, y un número agrupado con el símbolo o el código ISO mientras el usuario escribe. MinValue, MaxValue y AllowNegative mantienen el importe dentro del rango.

  • EditMask y MaskSyntax: emxDelphi o emxDotNet
  • IsComplete, EditText y SaveLiterals
  • Value, Decimals, CurrencyCode, SymbolMode
  • PositivePattern y NegativePattern
Leer el tema de la ayuda

Los controles

Elige una fila de una lista de varias columnas

Los clientes, los productos y los países se eligen por nombre pero se guardan por clave. El editor lookup abre un desplegable de varias columnas con una fila de cabecera opcional y lo filtra mientras el usuario escribe. El editor muestra la columna de visualización y KeyValue conserva la clave, como el código de un país detrás de su nombre. Las filas vienen de Items, una línea por fila con las celdas separadas por |, o de OnGetItems para una búsqueda en un servidor, y OnNotInList decide qué pasa con un texto que no coincide con ninguna fila. En .NET las filas también pueden venir de cualquier colección mediante ItemsSource, DisplayMember y ValueMember, en WinForms, WPF y Avalonia.

  • Columns con Title, Width y Alignment
  • KeyColumn, DisplayColumn y KeyValue
  • ShowHeader, MatchMode, DropDownRows
  • .NET: ItemsSource, SelectedValue en todas las ediciones
Leer el tema de la ayuda

Los controles

Un interruptor para ajustes y opciones

Las páginas de ajustes y los paneles de opciones activan y desactivan funciones. El interruptor es la forma moderna de la casilla de verificación: una pista redondeada con un pulgar redondo que se desliza al nuevo estado, un texto opcional a cada lado y el texto On y Off dentro de la pista si lo quieres. Está dibujado a medida, toma el color de acento del tema mientras está activado y escala con el DPI. Un cambio del usuario pasa primero por OnChanging, de modo que una regla de tu formulario puede rechazarlo, y OnChange se ejecuta después de cada cambio, del usuario o por código.

  • TsgcVCLToggleSwitch y TsgcFMXToggleSwitch, y en .NET TsgcWinFormsToggleSwitch, TsgcWpfToggleSwitch y TsgcAvaloniaToggleSwitch
  • Checked, Caption, CaptionPosition, ShowText con OnText y OffText, ReadOnly y Animated
  • TrackOnColor, TrackOffColor y ThumbColor, o los colores del tema, y SwitchWidth y SwitchHeight para el tamaño de la pista
  • OnChanging cancela un cambio del usuario con Allow, OnChange se dispara después de cada cambio y Toggle cambia el estado como lo haría el usuario
  • Clic, arrastre del pulgar, Espacio, Izquierda y Derecha, formularios de derecha a izquierda y una casilla de verificación con el patrón Toggle para lectores de pantalla
  • En WPF y Avalonia Checked se enlaza en ambos sentidos por defecto, y en WinForms dispara CheckedChanged para el enlace de datos

El interruptor está en todas las ediciones, también en Community.

Leer el tema de la ayuda

Los controles

Un editor de dirección IP para IPv4 e IPv6

Los ajustes de red, la configuración de dispositivos y las reglas de cortafuegos piden direcciones. En IPv4 el editor de dirección IP muestra cuatro campos de octeto con separadores de punto y pasa al siguiente campo mientras el usuario escribe, de modo que introducir una dirección es tan rápido como en un editor simple y la dirección siempre está bien formada: un valor superior a 255 se limita, y los campos vacíos pasan a 0 cuando el foco sale del control. En IPv6 es un solo campo de texto que admite dígitos hexadecimales, dos puntos y puntos, valida el texto y lo escribe en la forma canónica del RFC 5952 cuando el foco sale, de modo que 2001:DB8:0:0:0:0:2:1 se convierte en 2001:db8::2:1.

  • TsgcVCLIPAddressEdit y TsgcFMXIPAddressEdit, y en .NET TsgcWinFormsIPAddressEdit, TsgcWpfIPAddressEdit y TsgcAvaloniaIPAddressEdit
  • Mode elige IPv4 o IPv6, Address es el valor y Octets lee o establece un campo de una dirección IPv4
  • IsValid indica si la dirección está completa, y con Required una dirección vacía o incompleta muestra el marco de error del tema
  • Un punto o un tercer dígito pasa al siguiente campo, Retroceso al principio de un campo vuelve atrás, Izquierda y Derecha cruzan los límites de los campos, y una dirección pegada rellena todos los campos
  • OnChange se dispara después de cada cambio, Clear vacía la dirección, y los lectores de pantalla ven un editor con el patrón Value
  • En WPF y Avalonia Address se enlaza en ambos sentidos por defecto, y en WinForms dispara AddressChanged para el enlace de datos

El editor de dirección IP está en todas las ediciones, también en Community.

Leer el tema de la ayuda

Los controles

Un editor de duración para intervalos de tiempo

Un tiempo de espera, un intervalo o un tiempo de ejecución es una duración, no una hora del día. El editor de duración la muestra en segmentos, días, horas, minutos, segundos y milisegundos, y el usuario edita un segmento cada vez escribiendo, con las teclas de flecha, la rueda del ratón o los botones de incremento. Un paso se acarrea al segmento siguiente, así que 59 segundos más uno es un minuto, y el segmento más alto mostrado no tiene límite, de modo que sin días 50 horas se muestran como 50:00:00.

  • TsgcVCLTimeSpanEdit y TsgcFMXTimeSpanEdit, y en .NET TsgcWinFormsTimeSpanEdit, TsgcWpfTimeSpanEdit y TsgcAvaloniaTimeSpanEdit
  • Value en milisegundos en Delphi y un TimeSpan en .NET, con las partes Days, Hours, Minutes, Seconds y Milliseconds
  • Segments elige los segmentos mostrados y DisplayFormat escribe el valor como reloj, 1.02:30:05.250, o con unidades, 1d 2h 30m 5s 250ms
  • MinValue y MaxValue limitan el valor, AllowNegative admite un signo menos inicial, y Increment y ShowButtons fijan el paso y los botones de incremento
  • Arriba y Abajo cambian el segmento con foco, RePág y AvPág lo cambian de diez en diez, Izquierda, Derecha y Tab se mueven entre los segmentos, y los lectores de pantalla ven un spinner con el patrón RangeValue en segundos
  • En WPF y Avalonia Value se enlaza en ambos sentidos por defecto, y en WinForms dispara ValueChanged para el enlace de datos

El editor de duración está en todas las ediciones, también en Community.

Leer el tema de la ayuda

Los controles

Un selector de fuente con vista previa de cada familia

Los diseñadores de informes, los editores de etiquetas y las páginas de ajustes dejan que el usuario elija una tipografía. El selector de fuente es un editor con un botón desplegable cuya lista dibuja cada familia con su propia tipografía. Escribir filtra las familias, las elegidas más recientemente se listan primero sobre un separador, y un filtro conserva solo las familias de ancho fijo, para un editor de código o un terminal. La lista viene de la plataforma hasta que la aplicación la rellena.

  • TsgcVCLFontPicker y TsgcFMXFontPicker, y en .NET TsgcWinFormsFontPicker, TsgcWpfFontPicker y TsgcAvaloniaFontPicker
  • FontName es el valor, Fonts la lista de familias y RefreshFonts la recarga después de instalar una fuente
  • ShowPreview dibuja cada nombre con su propia tipografía y PreviewText añade un texto de ejemplo tras el nombre
  • RecentCount y RecentFonts guardan las familias elegidas recientemente, para que la aplicación las guarde y las cargue de nuevo
  • FontFilter conserva las familias de ancho fijo, y Alt+Abajo abre la lista, Intro o un clic elige una familia y Escape la cierra
  • El selector de fuente de Delphi dibuja las tipografías de la vista previa en Windows, en VCL y FireMonkey; en las demás plataformas de FireMonkey los nombres se listan con la fuente del tema
  • En WPF y Avalonia FontName se enlaza en ambos sentidos por defecto

El selector de fuente está en todas las ediciones, también en Community.

Leer el tema de la ayuda

Los controles

Una lista con casillas de verificación para listas largas de opciones

Las columnas de una cuadrícula, los filtros de un informe o los módulos de una licencia son listas largas de opciones. La lista con casillas de verificación es una lista con desplazamiento y una casilla en cada fila, sin marcar, marcada o en gris, y un indicador de habilitado por elemento. Una fila de encabezado opcional Seleccionar todo marca o desmarca todos los elementos habilitados, y un cuadro de filtro opcional oculta las filas que no contienen el texto escrito sin cambiar su estado. Solo se dibujan las filas visibles, así que una lista de 10000 elementos sigue siendo rápida.

  • TsgcVCLCheckListBox y TsgcFMXCheckListBox, y en .NET TsgcWinFormsCheckListBox, TsgcWpfCheckListBox y TsgcAvaloniaCheckListBox
  • Items con Checked, State y ItemEnabled por elemento, y AllowGrayed para el tercer estado
  • ShowCheckAll muestra la fila Seleccionar todo de tres estados y ShowFilter el cuadro de filtro
  • CheckAll, UncheckAll y CheckedCount, y OnClickCheck antes de OnChange para un cambio del usuario
  • Espacio cambia la fila con foco, Ctrl+A marca todos los elementos, una letra salta al siguiente elemento que empieza por ella, y los lectores de pantalla ven elementos de lista con el patrón Toggle
  • En .NET CheckedItems y CheckedIndices son listas de solo lectura para el enlace, y el evento ItemCheck llega antes que Change

La lista con casillas de verificación está en todas las ediciones, también en Community.

Leer el tema de la ayuda

Los controles

Una lista doble para elegir y ordenar elementos

Elegir las columnas de un informe, los miembros de un grupo o los pasos de un proceso significa mover elementos de una lista a otra. La lista doble dibuja la lista Disponibles a la izquierda y la lista Seleccionados a la derecha, con botones entre ellas que mueven las filas seleccionadas o todas las filas, y botones Subir y Bajar en el lado exterior que reordenan la lista Seleccionados. Un doble clic o un arrastre mueve un elemento a la otra lista, y un arrastre dentro de la lista Seleccionados la reordena.

  • TsgcVCLDualListBox y TsgcFMXDualListBox, y en .NET TsgcWinFormsDualListBox, TsgcWpfDualListBox y TsgcAvaloniaDualListBox
  • AvailableItems y SelectedItems, AvailableCaption y SelectedCaption, ShowCaptions y ShowReorderButtons
  • SortAvailable inserta ordenados los elementos devueltos, ShowFilter añade un cuadro de filtro sobre cada lista, y ReadOnly conserva la selección y rechaza los movimientos
  • MoveToSelected, MoveAllToSelected, MoveToAvailable, MoveAllToAvailable, MoveUp y MoveDown hacen lo que hacen los botones
  • OnMoving puede dejar un elemento donde está, y OnChange se dispara una vez por operación
  • Clic, Ctrl+clic, Mayús+clic y Ctrl+A seleccionan, Tab pasa de una lista a la otra, Ctrl+Derecha y Ctrl+Izquierda mueven, Ctrl+Arriba y Ctrl+Abajo reordenan, y la vista se refleja en formularios de derecha a izquierda
  • En WPF y Avalonia SelectedItems se enlaza en ambos sentidos por defecto, y en WinForms dispara SelectedItemsChanged

La lista doble está en todas las ediciones, también en Community.

Leer el tema de la ayuda

Escritura, idioma y datos

Entrada rápida para los usuarios de teclado, una comprobación de cada campo antes de guardar, el idioma adecuado para cada usuario y un enlace directo a tus conjuntos de datos.

Escritura, idioma y datos

Escribir de verdad, no solo hacer clic

El personal de entrada de datos escribe las fechas, no navega por calendarios. Cada campo de texto de sgcEditors es un control de edición real de la plataforma, así que la composición IME para japonés, chino y coreano, el portapapeles, deshacer, el menú contextual y los lectores de pantalla funcionan. El análisis es tolerante: barras, guiones, puntos, dos puntos, comas o espacios separan los campos, se entienden los nombres de mes y de día del idioma regional y los años de dos dígitos se interpretan. Arriba y Abajo cambian el segmento bajo el cursor, y el texto que no se puede leer dispara OnParseError.

  • DisplayFormat con segmentos d, m, y, h, n, s
  • OnParseError para aceptar o rechazar entradas extrañas
  • AllowEmpty y TextHint para campos opcionales
  • El editor numérico acepta tanto . como , como separador decimal
Leer el tema de la ayuda

Escritura, idioma y datos

Un NumPad para paneles táctiles

Un panel táctil en la planta no tiene teclado, y el teclado del sistema cubre la mitad de la pantalla. El NumPad escribe un número con teclas lo bastante grandes para un dedo o un guante. Coloca un teclado acoplado en el formulario y escribe en el control que tiene el foco, o asocia un teclado desplegable a un control y un toque en el control abre el teclado debajo de él. El destino no necesita ningún cambio: el teclado lee su rango y sus decimales y escribe el valor como un cambio del usuario, de modo que el redondeo, los límites y OnChange del destino se ejecutan como si el usuario hubiera escrito el valor.

  • TsgcVCLNumPad acoplado y TsgcVCLNumPadPopup como lista desplegable, también para FireMonkey y en .NET
  • Escribe en el editor de giro, el editor de moneda, un campo de edición estándar y los indicadores de mando giratorio y de deslizador de sgcGauges
  • Associate elige el destino, o el teclado sigue al control con el foco
  • Una pantalla con el número escrito y una línea de límites como Min 0 Max 120

El NumPad está en todas las ediciones, también en Community. Forma parte del paquete HMI de sgcUI para pantallas de operador.

Leer el tema de la ayuda

Escritura, idioma y datos

Un teclado en pantalla para quioscos y pantallas táctiles

Un quiosco, un terminal de autoservicio o un panel de operador necesita nombres, códigos y notas, además de números. El teclado en pantalla es un teclado completo construido sobre la misma vía de entrada que el NumPad. Acóplalo en el formulario y escribe en el control que tiene el foco, o asocia un teclado desplegable que se abre debajo de un editor cuando el editor recibe el foco. El teclado nunca toma el foco, de modo que el cursor y la selección del destino se quedan donde están, y un editor estándar, un memo y los controles de sgcEditors no necesitan ningún cambio.

  • TsgcVCLKeyboard acoplado y TsgcVCLKeyboardPopup como lista desplegable, también para FireMonkey y en .NET para WinForms, WPF y Avalonia
  • Associate elige el destino, o el teclado sigue al foco. AutoPopup, AutoPopupAll, PopupPosition y CloseOnEnter controlan la lista desplegable
  • Páginas de letras, de símbolos y numérica, con Mayús, Bloq Mayús, AltGr y teclas muertas para las letras acentuadas
  • Diez distribuciones integradas (en-US, en-GB, es-ES, fr-FR, de-DE, it-IT, pt-BR, nl-NL, pl-PL y tr-TR), tus propias distribuciones con sgcKeyboardRegisterLayout y una tecla de distribución que recorre Layouts
  • OnKeyText cambia o cancela el texto antes de escribirlo, y OnEnterKey se ejecuta después de Intro
  • Temas, formularios de derecha a izquierda y teclas que los lectores de pantalla anuncian

El teclado en pantalla está en todas las ediciones, también en Community. Forma parte del paquete HMI de sgcUI para pantallas de operador y quioscos.

Leer el tema de la ayuda
Cada control habla el idioma del usuario

Escritura, idioma y datos

Cada control habla el idioma del usuario

Los equipos internacionales y los productos multilingües necesitan fechas que se lean con naturalidad para cada usuario. Cada control tiene su propio FormatSettings, rellenado desde el idioma regional del usuario y modificable en tiempo de ejecución, así que dos controles de un formulario pueden usar incluso dos idiomas distintos. El calendario y los selectores toman de él los nombres de días y meses, los formatos de fecha y hora, las cadenas AM y PM y los separadores. FirstDayOfWeek y WeekNumbering siguen el idioma regional o tu elección, y los números usan los separadores decimal y de millares correctos. Las unidades, las sugerencias y los nombres accesibles siguen siendo propiedades tuyas, así que los traduces con el resto del formulario.

  • FormatSettings por control
  • FirstDayOfWeek: efdLocale o efdMonday forzado
  • WeekNumbering: ewnISO8601 por defecto
  • TsgcEditorLocale para modelos sin ventana
  • De derecha a izquierda para árabe y hebreo: los botones de incremento, desplegable y borrado pasan al otro lado, los controles deslizantes, las valoraciones y el calendario corren desde la derecha, y el campo de edición se lee de derecha a izquierda
Leer el tema de la ayuda
Versiones con acceso a datos para tus formularios

Escritura, idioma y datos Solo registrada

Versiones con acceso a datos para tus formularios

La mayoría de los formularios de negocio en Delphi se apoyan en un TDataSet, y conectar cada editor a mano es repetitivo. Diez controles con acceso a datos se enlazan directamente a un campo mediante DataSource y DataField: un selector de fecha, un selector de hora, un editor numérico, una valoración, un deslizador de rango cuyo segundo tirador enlaza EndDataField, un editor con botón, un editor con máscara que toma el EditMask de su campo, un editor de moneda, un memo y un editor lookup que llena su lista de varias columnas desde un segundo conjunto de datos mediante ListSource, KeyField y ListField, como TDBLookupComboBox. Los campos nulos se muestran vacíos cuando AllowEmpty está activo, y un campo obligatorio comunica un valor vacío al validador. Se enlazan mediante TsgcEditorFieldLink, que usa solo la unidad DB, así que las versiones FireMonkey no necesitan LiveBindings. En .NET los editores WinForms enlazan un campo mediante DataSource, DataMember y DataField con un BindingSource, un DataTable, un DataView o una List, y las propiedades de valor de WPF y Avalonia se enlazan en ambos sentidos. Colócalos en un formulario existente y la lógica de conjuntos de datos que ya tienes sigue funcionando sin cambios.

  • TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit
  • TsgcVCLDBRating y TsgcVCLDBRangeSlider
  • TsgcVCLDBButtonEdit, TsgcVCLDBMaskEdit, TsgcVCLDBCurrencyEdit, TsgcVCLDBMemo, TsgcVCLDBLookupEdit
  • DataSource, DataField, EndDataField; listas lookup mediante ListSource, KeyField, ListField
  • WinForms: DataSource, DataMember, DataField; WPF y Avalonia: las propiedades de valor se enlazan en ambos sentidos

En los paquetes .NET Community los editores WinForms no tienen DataSource, DataMember ni DataField; el enlace de WPF y Avalonia y el ItemsSource del editor lookup funcionan en ambas ediciones.

Leer el tema de la ayuda

Escritura, idioma y datos

Comprueba todo el formulario antes de guardar

Un formulario solo está terminado cuando cada campo es correcto. El validador de sgcUICore comprueba los controles de un formulario con reglas: obligatorio, rango, longitud, expresión regular, correo electrónico, comparación con otro campo y tu propio código. Encuentra los controles igual que Smart Paste, así que comprueba por igual los controles de sgcEditors y los editores, memos, combos, casillas y selectores estándar, en VCL, FireMonkey, WinForms, WPF y Avalonia. El editor con máscara comunica un valor incompleto y el editor lookup un texto que no está en la lista, sin ninguna regla. Los errores se muestran como un marco con el color de error del tema, un icono con el mensaje como información emergente y una lista resumen opcional, y los lectores de pantalla oyen el mensaje junto con el campo. En .NET el validador también muestra los errores de tu capa de datos: IDataErrorInfo e INotifyDataErrorInfo en WinForms y WPF, los errores de validación de datos en Avalonia.

  • TsgcVCLValidator, TsgcFMXValidator, TsgcWinFormsValidator, TsgcWpfValidator, TsgcAvaloniaValidator
  • Reglas uvrRequired, uvrRange, uvrLength, uvrRegex, uvrEmail, uvrCompare, uvrCustom
  • Trigger: uvtExit por defecto, uvtChange o uvtManual; Validate antes de guardar
  • TsgcVCLValidationSummary lista los errores y da el foco al campo con un clic

En todas las ediciones, Community incluida. Las expresiones regulares coinciden con los mismos textos en Delphi 7 a 13 y en .NET.

Leer el tema de la ayuda

Escritura, idioma y datos

Organiza un formulario, o genéralo a partir de tus datos

El control de diseño organiza los controles de un formulario, tanto los de sgcEditors como los estándar, 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, y SaveLayout guarda la disposición como JSON. El formulario de datos se apoya en él. Apúntalo a un TDataSet, o enlaza un objeto de tu propia clase, y crea un control de sgcEditors por campo, las reglas de validación de cada campo, un resumen de los errores y un navegador para recorrer, añadir, editar, eliminar y guardar registros. Smart Paste rellena todo el registro a partir de un texto pegado, como una firma de correo o un bloque de dirección, y marca los campos que rellenó. En .NET, los formularios de datos de WinForms, WPF y Avalonia aceptan un DataTable, una lista o un objeto.

  • TsgcVCLLayoutControl, TsgcFMXLayoutControl; SaveLayout y LoadLayout
  • TsgcVCLDataForm, TsgcFMXDataForm, TsgcWinFormsDataForm, TsgcWpfDataForm, TsgcAvaloniaDataForm
  • Fields: título, tipo, obligatorio, límites, grupo, pestaña y orden de cada campo; BindObject para una clase
  • SmartPasteFromClipboard, SmartPasteUndo y un botón Smart Paste en el navegador

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, sus reglas de validación y su Smart Paste son solo de la edición Registrada.

Leer el tema de la ayuda

Teclado, DPI y temas

Los detalles que revisan los evaluadores: sin necesidad de ratón, nítido en cada monitor y un aspecto a juego con tu aplicación.

Nítido en cada monitor

Teclado, DPI y temas

Nítido en cada monitor

Los portátiles al 150 por ciento junto a monitores externos al 100 por ciento son hoy lo normal, y las entradas borrosas dan mala imagen. sgcEditors organiza cada control en píxeles lógicos a 96 DPI y lo dibuja a la escala de la pantalla, sin nada que hacer en tu código. Cuando un formulario VCL pasa a un monitor con otro DPI, el editor interior y su fuente se escalan con el control, y un desplegable se dibuja al DPI del monitor en el que se abre. Los rásteres de FireMonkey siguen la escala de la escena para Retina y Android.

  • Diseño en píxeles lógicos, dibujado a la escala de la pantalla
  • Los editores interiores se reescalan con WM_DPICHANGED
  • Los desplegables usan el DPI de su propio monitor
  • SaveToPNG admite una escala para imágenes nítidas
Leer el tema de la ayuda
Compatible con teclado y lectores de pantalla

Teclado, DPI y temas

Compatible con teclado y lectores de pantalla

Ninguna función de sgcEditors necesita ratón. Los controles dibujados toman el foco por sí mismos y los controles de texto lo reenvían a su editor interior, y un control enfocado dibuja un anillo de foco de 2 píxeles con el color de acento. En el calendario las flechas se mueven un día o una semana y saltan los días deshabilitados, RePág y AvPág se mueven un mes, y Mayús amplía un rango. En los selectores F4 o Alt+Abajo abre el desplegable y Escape restaura el valor. El editor numérico avanza con Arriba, Abajo, RePág y AvPág.

  • F4 o Alt+Abajo abre cada desplegable
  • Ctrl+Arriba aleja el calendario a años y décadas
  • Increment y LargeIncrement para el editor numérico
  • Los editores nativos mantienen vivos los lectores de pantalla
Leer el tema de la ayuda
Claro y oscuro con una propiedad

Teclado, DPI y temas

Claro y oscuro con una propiedad

Los formularios parecen terminados cuando todas las entradas siguen el mismo tema. Cada control tiene un Theme, un AccentColor y un TextStyle, y los colores del marco, el hover, el estado pulsado, la selección y el estado deshabilitado se derivan de ellos, así que una propiedad cambia todo el aspecto. Los tokens son los que usa cada producto sgcUI, así que los editores colocados en una tarjeta de sgcDashboard o bajo un sgcToolbar coinciden sin trabajo extra. Un control deshabilitado se funde con el fondo por sí solo. Cambia el tema en tiempo de ejecución y cada editor se repinta, listo para un ajuste de modo oscuro.

  • Theme: utDefault (predeterminado, sigue el tema de la aplicación), utLight o utDark
  • AccentColor para la selección, los tiradores, el relleno y el anillo de foco
  • TextStyle para tamaño, negrita y color
  • Los mismos tokens de tema que toda la suite sgcUI
Leer el tema de la ayuda

Mira sgcEditors en acción

sgcEditors dentro de las demos de la suite sgcUI: aplicaciones completas que funcionan sin conexión con datos simulados integrados.

Quién construye con sgcEditors

Formularios de reserva

Un formulario de reserva necesita un rango de estancia que respete los días cerrados, un número de huéspedes, una hora de llegada y quizá una valoración de la última visita. El calendario mensual aplica MinDate, MaxRangeDays y los días deshabilitados, el editor numérico cuenta los huéspedes, el selector de hora acepta horas escritas y la valoración recoge opiniones, todo en un mismo tema. La demo BookingForm construye una reserva de hotel con siete editores y un resumen en vivo.

  • Rangos del calendario
  • Editor numérico
  • Valoración
Ejecuta la demo BookingForm

Entrada de datos en TDataSet

Las aplicaciones de línea de negocio editan registros todo el día. Los diez editores con acceso a datos se enlazan a un campo de TDataSet mediante DataSource y DataField, el deslizador de rango enlaza ambos extremos y los campos nulos se muestran vacíos. Combinado con la entrada real por teclado y el análisis tolerante, los operadores escriben los valores rápido y el conjunto de datos recibe datos limpios. La demo DataAware coloca los diez editores sobre un TClientDataSet junto a un TDBGrid y un TDBNavigator.

  • Editores con acceso a datos
  • Entrada de texto
  • Teclado
Ejecuta la demo DataAware

Aplicaciones internacionales de planificación

Las herramientas de planificación usadas en varios países deben mostrar a cada usuario el inicio de semana, los números de semana y los nombres de mes correctos. Cada control lleva su propio FormatSettings, así que un formulario puede mostrar un calendario alemán junto a uno inglés, y FirstDayOfWeek y WeekNumbering siguen el idioma regional o tu regla. La demo Calendar cambia entre inglés, alemán, español, francés e italiano con un rango limitado a 14 días.

  • Localización
  • Números de semana
  • Días deshabilitados
Ejecuta la demo Calendar

Un formulario de opiniones en pocas líneas

La misma API en Delphi, C++ Builder y C#: una valoración, un deslizador de rango y un editor de tokens, todos informando mediante OnChange.

uses
  SysUtils, Classes, Controls, Forms, StdCtrls,
  sgcEditors_Types, sgcEditors_VCL_Value, sgcEditors_VCL_Token;

type
  TFeedbackForm = class(TComponent)
  public
    Stars: TsgcVCLRating;
    Budget: TsgcVCLRangeSlider;
    Tags: TsgcVCLTokenEdit;
    Summary: TLabel;
    procedure EditorChange(Sender: TObject);
  end;

procedure TFeedbackForm.EditorChange(Sender: TObject);
begin
  // OnChange fires for every new value: clicked, dragged or typed
  Summary.Caption := Format('%.1f stars, budget %.0f to %.0f, %d tags',
    [Stars.Value, Budget.Value, Budget.EndValue, Tags.Tokens.Count]);
end;

function CreateFeedbackForm(aForm: TForm): TFeedbackForm;
begin
  Result := TFeedbackForm.Create(aForm);
  Result.Stars := TsgcVCLRating.Create(aForm);
  Result.Stars.Parent := aForm;
  Result.Stars.SetBounds(16, 16, 200, 32);
  Result.Stars.Glyph := ergHeart;
  Result.Stars.Precision := erpHalf;
  Result.Stars.Value := 3.5;
  Result.Stars.OnChange := Result.EditorChange;
  Result.Budget := TsgcVCLRangeSlider.Create(aForm);
  Result.Budget.Parent := aForm;
  Result.Budget.SetBounds(16, 60, 320, 48);
  Result.Budget.Max := 500;
  Result.Budget.Step := 10;
  Result.Budget.RangeMode := True;
  Result.Budget.Value := 80;
  Result.Budget.EndValue := 240;
  Result.Budget.ShowLabels := True;
  Result.Budget.OnChange := Result.EditorChange;
  Result.Tags := TsgcVCLTokenEdit.Create(aForm);
  Result.Tags.Parent := aForm;
  Result.Tags.SetBounds(16, 120, 320, 64);
  Result.Tags.TextHint := 'Add a tag';
  Result.Tags.AutoCompleteItems.CommaText := 'Breakfast,Parking,Pool';
  Result.Tags.AddToken('Breakfast');
  Result.Tags.OnChange := Result.EditorChange;
  Result.Summary := TLabel.Create(aForm);
  Result.Summary.Parent := aForm;
  Result.Summary.SetBounds(16, 196, 320, 20);
  Result.EditorChange(nil);
end;
#include <vcl.h>
#include "sgcEditors_Types.hpp"
#include "sgcEditors_VCL_Value.hpp"
#include "sgcEditors_VCL_Token.hpp"

class TFeedbackHandler : public TObject
{
public:
  TsgcVCLRating *Stars;
  TsgcVCLRangeSlider *Budget;
  TsgcVCLTokenEdit *Tags;
  TLabel *Summary;
  void __fastcall EditorChange(TObject *Sender);
};

void __fastcall TFeedbackHandler::EditorChange(TObject *Sender)
{
  // OnChange fires for every new value: clicked, dragged or typed
  Summary->Caption = FormatFloat("0.0", Stars->Value) + " stars, budget " +
    FormatFloat("0", Budget->Value) + " to " + FormatFloat("0", Budget->EndValue) +
    ", " + IntToStr(Tags->Tokens->Count) + " tags";
}

TFeedbackHandler * __fastcall CreateFeedbackForm(TForm *Form)
{
  TFeedbackHandler *H = new TFeedbackHandler();
  H->Stars = new TsgcVCLRating(Form);
  H->Stars->Parent = Form;
  H->Stars->SetBounds(16, 16, 200, 32);
  H->Stars->Glyph = ergHeart;
  H->Stars->Precision = erpHalf;
  H->Stars->Value = 3.5;
  H->Stars->OnChange = H->EditorChange;
  H->Budget = new TsgcVCLRangeSlider(Form);
  H->Budget->Parent = Form;
  H->Budget->SetBounds(16, 60, 320, 48);
  H->Budget->Max = 500;
  H->Budget->Step = 10;
  H->Budget->RangeMode = true;
  H->Budget->Value = 80;
  H->Budget->EndValue = 240;
  H->Budget->ShowLabels = true;
  H->Budget->OnChange = H->EditorChange;
  H->Tags = new TsgcVCLTokenEdit(Form);
  H->Tags->Parent = Form;
  H->Tags->SetBounds(16, 120, 320, 64);
  H->Tags->TextHint = "Add a tag";
  H->Tags->AutoCompleteItems->CommaText = "Breakfast,Parking,Pool";
  H->Tags->AddToken("Breakfast");
  H->Tags->OnChange = H->EditorChange;
  H->Summary = new TLabel(Form);
  H->Summary->Parent = Form;
  H->Summary->SetBounds(16, 196, 320, 20);
  H->EditorChange(NULL);
  return H;
}
using System;
using System.Drawing;
using System.Windows.Forms;
using esegece.sgcUICore;
using esegece.sgcEditors;

public class FeedbackForm : Form
{
    private readonly TsgcWinFormsRating stars;
    private readonly TsgcWinFormsRangeSlider budget;
    private readonly TsgcWinFormsTokenEdit tags;
    private readonly Label summary = new Label { Location = new Point(12, 196), Size = new Size(320, 20) };

    public FeedbackForm()
    {
        ClientSize = new Size(360, 230);
        stars = new TsgcWinFormsRating { Location = new Point(12, 12), Size = new Size(200, 32) };
        stars.Glyph = TsgcEditorRatingGlyph.ergHeart;
        stars.Precision = TsgcEditorRatingPrecision.erpHalf;
        stars.Value = 3.5;

        budget = new TsgcWinFormsRangeSlider { Location = new Point(12, 56), Size = new Size(320, 48) };
        budget.BeginInit();
        budget.Max = 500;
        budget.Step = 10;
        budget.RangeMode = true;
        budget.Value = 80;
        budget.EndValue = 240;
        budget.EndInit();
        budget.ShowLabels = true;

        tags = new TsgcWinFormsTokenEdit { Location = new Point(12, 116), Size = new Size(320, 64) };
        tags.TextHint = "Add a tag";
        foreach (string s in new[] { "Breakfast", "Parking", "Pool" })
            tags.AutoCompleteItems.Add(s);
        tags.Tokens.Add("Breakfast");

        // OnChange fires for every new value: clicked, dragged or typed
        foreach (TsgcWinFormsCustomEditor e in new TsgcWinFormsCustomEditor[] { stars, budget, tags })
        {
            e.OnChange = s => ShowSummary();
            Controls.Add(e);
        }
        Controls.Add(summary);
        ShowSummary();
    }

    private void ShowSummary() =>
        summary.Text = $"{stars.Value:0.0} stars, budget {budget.Value:0} to {budget.EndValue:0}, {tags.Tokens.Count} tags";
}
dotnet add package esegece.sgcEditors.WinForms

Validar un formulario de pedido

Un editor lookup, un editor con máscara y un editor de moneda comprobados por el validador de sgcUICore. Llama a Validate cuando el usuario guarda: muestra todos los errores y da el foco al primer campo no válido.

function CreateOrderValidator(aForm: TForm; aCountry: TsgcVCLLookupEdit;
  aPhone: TsgcVCLMaskEdit; aPrice: TsgcVCLCurrencyEdit): TsgcVCLValidator;
var
  oRule: TsgcVCLValidationRule;
begin
  // cells: key | name, the edit shows the name and KeyValue keeps the code
  aCountry.Items.Add('ES|Spain');
  aCountry.Items.Add('FR|France');
  aCountry.Items.Add('DE|Germany');
  aCountry.KeyColumn := 0;
  aCountry.DisplayColumn := 1;
  // Delphi EditMask syntax: the user types the digits, the literals stay
  aPhone.EditMask := '(000) 000-0000;0;_';
  aPrice.CurrencyCode := 'EUR';

  Result := TsgcVCLValidator.Create(aForm);
  Result.Container := aForm;
  Result.Display := [uvdBorder, uvdIcon];
  oRule := TsgcVCLValidationRule(Result.Rules.Add);
  oRule.Control := aCountry;
  oRule.Kind := uvrRequired;
  oRule := TsgcVCLValidationRule(Result.Rules.Add);
  oRule.Control := aPrice;
  oRule.Kind := uvrRange;
  oRule.MinValue := '1';
  oRule.MaxValue := '10000';
end;
public class Country
{
    public string Code { get; set; }
    public string Name { get; set; }
}

public class OrderForm : Form
{
    private readonly TsgcWinFormsLookupEdit country = new TsgcWinFormsLookupEdit();
    private readonly TsgcWinFormsMaskEdit phone = new TsgcWinFormsMaskEdit();
    private readonly TsgcWinFormsCurrencyEdit price = new TsgcWinFormsCurrencyEdit();
    private readonly TsgcWinFormsValidator validator = new TsgcWinFormsValidator();

    public OrderForm()
    {
        country.SetBounds(16, 16, 240, 28);
        phone.SetBounds(16, 56, 240, 28);
        price.SetBounds(16, 96, 240, 28);
        Controls.AddRange(new Control[] { country, phone, price });

        // any list: the edit shows Name, SelectedValue returns Code
        country.ItemsSource = new List<Country>
        {
            new Country { Code = "ES", Name = "Spain" },
            new Country { Code = "FR", Name = "France" }
        };
        country.DisplayMember = "Name";
        country.ValueMember = "Code";
        phone.EditMask = "(000) 000-0000"; // MaskedTextBox syntax by default
        price.Decimals = 2;

        validator.Container = this;
        validator.Rules.Add(new TsgcWinFormsValidationRule
            { Control = country, Kind = TsgcUIValidationRuleKind.uvrRequired });
        validator.Rules.Add(new TsgcWinFormsValidationRule
            { Control = price, Kind = TsgcUIValidationRuleKind.uvrRange, MinValue = "1" });
    }

    public bool Save() => validator.Validate();

Genera un formulario de clientes a partir de un conjunto de datos

Un TsgcVCLDataForm sobre un conjunto de datos abierto crea los editores, las reglas de validación y el navegador. Define el tipo y el grupo de un campo, reconstruye, y el botón Smart Paste del navegador rellena el registro desde el portapapeles.

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;

Ejecuta las demos de sgcEditors

Gallery, Calendar, BookingForm, Validation y DataAware se incluyen para VCL y C++ Builder, más GalleryFMX y ValidationFMX para FireMonkey; la edición .NET tiene Gallery y Validation para WinForms, WPF y Avalonia, BookingForm, BindingWpf y DataAwareWinForms.

Calendar

Calendar

Un rango de hasta 14 días, números de semana, fines de semana y festivos deshabilitados, y un cambio de idioma entre inglés, alemán, español, francés e italiano.

BookingForm

Una reserva de hotel con un resumen en vivo de la estancia, los huéspedes y la hora de llegada, un lookup de países, un teléfono con máscara y un validador que comprueba los campos del huésped antes de la reserva. Muestra cómo trabajan juntos los controles en un formulario real.

DataAware

Solo registrada DataAware

Los diez editores con acceso a datos sobre un TClientDataSet con un TDBGrid y un TDBNavigator, con un editor lookup llenado desde un segundo conjunto de datos y un validador para los campos obligatorios. Los controles con acceso a datos necesitan la edición Registrada o de prueba.

GalleryFMX

La galería construida con los editores FireMonkey, para Windows y Android, con las mismas propiedades y eventos que los controles VCL.

Validation

Cada tipo de regla en controles estándar y de sgcEditors, los tres disparadores, la visualización con borde e icono y la lista resumen. ValidationFMX hace lo mismo en FireMonkey, y la edición .NET tiene Validation, ValidationWpf y ValidationAvalonia.

Demos compiladas

Ejecutables listos para usar de cada producto sgcUI, sin nada que instalar.

Descargar sgcUI_bin.zip →

Guía Getting Started

Cinco demos QuickStart para Delphi (VCL) se incluyen en Demos\Editors\Delphi\00.QuickStart. La guía en PDF las recorre paso a paso: los primeros editores en un formulario, lectura y escritura de valores, temas, validación y una aplicación de contactos construida sobre un formulario de datos.

Descargar la guía (PDF, en inglés) →

Dónde se incluye sgcEditors

sgcEditors está en todas las ediciones de sgcUI, y también se vende por separado. sgcEditors también se incluye en el paquete All-Access.

Paquete individual de sgcEditors

€199 / desarrollador, código fuente completo, 1 año de actualizaciones.

Comprar sgcEditors → Ver precios →

sgcUI Standard

sgcEditors, sgcGrid, sgcNavigation y sgcToolbar, desde €380.

Ver Standard →

sgcUI Professional

Standard más sgcCharts, sgcDashboard y sgcGauges, desde €529.

Ver Professional →

sgcUI Enterprise

Los 17 productos sgcUI, desde €699.

Ver Enterprise →

La edición Community gratuita (esegece.sgcEditors.Community en NuGet) tiene los quince controles, el control de diseño y el marco de validación, pero el selector de color no tiene el cuadrado HSV ni la barra alfa, el editor de tokens no tiene lista de autocompletado, el deslizador de rango tiene un solo tirador, y no hay editores con acceso a datos ni formulario de datos ni enlace DataSource de WinForms.

FunciónCommunity (gratuita)Registrada
Los quince controles para VCL, FireMonkey y .NET✓✓
Validación: reglas, visualización de errores, resumen (sgcUICore)✓✓
Listas del editor lookup desde ItemsSource en WinForms, WPF y Avalonia✓✓
Entrada de texto nativa, análisis tolerante, localización✓✓
Rangos de calendario, límites y días deshabilitados✓✓
Teclado, DPI, temas y salida sin ventana✓✓
NumPad para paneles táctiles✓✓
Teclado en pantalla con diez distribuciones✓✓
Interruptor para ajustes✓✓
Editor de dirección IP para IPv4 e IPv6✓✓
Editor de duración para intervalos de tiempo✓✓
Selector de fuente con vista previa de cada familia✓✓
Lista con casillas de verificación, Seleccionar todo y filtro✓✓
Lista doble con botones para mover y reordenar✓✓
Control de diseño con diseños guardados como JSON (creado en código en Delphi Community)✓✓
Deslizador de rango de dos tiradores−✓
Cuadrado HSV y barra de alfa del selector de color−✓
Lista de autocompletado del editor de tokens−✓
Editores con acceso a datos (Delphi y C++ Builder)−✓
DataSource, DataMember y DataField de WinForms−✓
Formulario de datos desde un TDataSet, una clase, un DataTable o un objeto, con validación y Smart Paste−✓

Frameworks y plataformas compatibles

Componentes de sgcEditors

Cada control existe para VCL, FireMonkey, WinForms, WPF y Avalonia con las mismas propiedades y eventos.

ControlVCL y C++ BuilderFireMonkey.NET
Calendario mensualTsgcVCLMonthCalendarTsgcFMXMonthCalendarTsgcWinFormsMonthCalendar
Selector de fechaTsgcVCLDatePickerTsgcFMXDatePickerTsgcWinFormsDatePicker
Selector de horaTsgcVCLTimePickerTsgcFMXTimePickerTsgcWinFormsTimePicker
Selector de fecha y horaTsgcVCLDateTimePickerTsgcFMXDateTimePickerTsgcWinFormsDateTimePicker
Deslizador de rangoTsgcVCLRangeSliderTsgcFMXRangeSliderTsgcWinFormsRangeSlider
Selector de colorTsgcVCLColorPickerTsgcFMXColorPickerTsgcWinFormsColorPicker
Editor de tokensTsgcVCLTokenEditTsgcFMXTokenEditTsgcWinFormsTokenEdit
ValoraciónTsgcVCLRatingTsgcFMXRatingTsgcWinFormsRating
Editor numéricoTsgcVCLSpinEditTsgcFMXSpinEditTsgcWinFormsSpinEdit
Editor con botónTsgcVCLButtonEditTsgcFMXButtonEditTsgcWinFormsButtonEdit
Editor de búsquedaTsgcVCLSearchEditTsgcFMXSearchEditTsgcWinFormsSearchEdit
Editor con máscaraTsgcVCLMaskEditTsgcFMXMaskEditTsgcWinFormsMaskEdit
Editor de monedaTsgcVCLCurrencyEditTsgcFMXCurrencyEditTsgcWinFormsCurrencyEdit
Editor lookupTsgcVCLLookupEditTsgcFMXLookupEditTsgcWinFormsLookupEdit
MemoTsgcVCLMemoTsgcFMXMemoTsgcWinFormsMemo
InterruptorTsgcVCLToggleSwitchTsgcFMXToggleSwitchTsgcWinFormsToggleSwitch
Editor de dirección IPTsgcVCLIPAddressEditTsgcFMXIPAddressEditTsgcWinFormsIPAddressEdit
Editor de duraciónTsgcVCLTimeSpanEditTsgcFMXTimeSpanEditTsgcWinFormsTimeSpanEdit
Selector de fuenteTsgcVCLFontPickerTsgcFMXFontPickerTsgcWinFormsFontPicker
Lista con casillas de verificaciónTsgcVCLCheckListBoxTsgcFMXCheckListBoxTsgcWinFormsCheckListBox
Lista dobleTsgcVCLDualListBoxTsgcFMXDualListBoxTsgcWinFormsDualListBox
NumPadTsgcVCLNumPad, TsgcVCLNumPadPopupTsgcFMXNumPad, TsgcFMXNumPadPopupTsgcWinFormsNumPad, TsgcWinFormsNumPadPopup
Teclado en pantallaTsgcVCLKeyboard, TsgcVCLKeyboardPopupTsgcFMXKeyboard, TsgcFMXKeyboardPopupTsgcWinFormsKeyboard, TsgcWinFormsKeyboardPopup
Control de diseñoTsgcVCLLayoutControlTsgcFMXLayoutControlTsgcWinFormsLayoutControl
Formulario de datosTsgcVCLDataFormTsgcFMXDataFormTsgcWinFormsDataForm

La columna .NET muestra los nombres de WinForms; los mismos controles existen para WPF y Avalonia con los prefijos TsgcWpf y TsgcAvalonia. Ayudantes no visuales: TsgcEditorModel, TsgcEditorLocale y TsgcEditorFieldLink. Los diez editores con acceso a datos (TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit, TsgcVCLDBRating, TsgcVCLDBRangeSlider, TsgcVCLDBButtonEdit, TsgcVCLDBMaskEdit, TsgcVCLDBCurrencyEdit, TsgcVCLDBMemo y TsgcVCLDBLookupEdit, más los gemelos FireMonkey) son solo de la edición Registrada y existen para Delphi y C++ Builder; en .NET los editores WinForms de la edición Registrada se enlazan mediante DataSource, DataMember y DataField. El control de diseño está en todas las ediciones, y el formulario de datos es solo de la edición Registrada. El validador y el resumen de validación forman parte de sgcUICore: TsgcVCLValidator, TsgcFMXValidator, TsgcWinFormsValidator, TsgcWpfValidator y TsgcAvaloniaValidator.

DestinoComponentePlataformas
Delphi 7 a 13, VCLEditores TsgcVCLWin32, y Win64 desde XE2
Delphi XE6 a 13, FireMonkeyEditores TsgcFMXWindows, macOS, iOS y Android
C++ Builder 2007 a 13Editores TsgcVCL y TsgcFMXCabeceras .hpp generadas y bibliotecas estáticas
Delphi 10.2 a 13, independiente del marcoModelos, el modelo de diseño y su JSON, salida PNG y SVG sin ventanaLinux64 (sin controles para Linux)
.NET Framework 4.7.2, .NET 8, 9 y 10Editores WinForms, WPF y AvaloniaEscritorio Windows y destinos Avalonia

Preguntas frecuentes

Sí. Cada campo de texto es un control de edición real de la plataforma, un TEdit sin borde en VCL y un TEdit de FMX en FireMonkey, así que la composición IME para japonés, chino y coreano, el portapapeles, deshacer, el menú contextual y los lectores de pantalla funcionan sin código especial. Consulta Entrada de texto e IME.

Sí. MinDate y MaxDate fijan los límites, DisabledDates lista los festivos, DisabledWeekDays bloquea los fines de semana y OnIsDateDisabled decide cualquier otra regla. Los días deshabilitados se dibujan tachados, el teclado los salta y se rechazan al escribirlos en un selector. La demo Calendar bloquea los fines de semana y dos festivos para mostrar las reglas en acción.

Diez, en Delphi y C++ Builder: el selector de fecha, el selector de hora, el editor numérico, la valoración, el deslizador de rango, el editor con botón, el editor con máscara, el editor de moneda, el memo y el editor lookup, cada uno como control VCL y FireMonkey. Necesitan la edición Registrada o de prueba. En .NET los editores WinForms de la edición Registrada enlazan un campo mediante DataSource, DataMember y DataField, y en ambas ediciones los controles se enlazan con el enlace de datos de WinForms, WPF y Avalonia y el editor lookup toma sus filas de ItemsSource.

Se incluyen los quince controles y el marco de validación. Community no incluye el cuadrado HSV ni la barra alfa del selector de color, la lista de autocompletado del editor de tokens, el segundo tirador del deslizador de rango ni los miembros DataSource, DataMember y DataField de los editores WinForms. Los editores Delphi con acceso a datos son solo de la edición Registrada. Consulta Ediciones.

Sí. Coloca el validador de sgcUICore en el formulario, define su Container y añade reglas: obligatorio, rango, longitud, expresión regular, correo electrónico, comparación y personalizada. Comprueba los controles de sgcEditors y los editores, memos, combos, casillas y selectores estándar, muestra un marco, un icono y un resumen opcional, y los lectores de pantalla oyen los mensajes. Llama a Validate antes de guardar. Está en todas las ediciones, para VCL, FireMonkey, WinForms, WPF y Avalonia. Consulta Validación.

Sí. Cada control conserva su propia copia de FormatSettings, así que los nombres de días y meses, los formatos, los separadores y el primer día de la semana pueden diferir por control. La demo Calendar cambia entre inglés, alemán, español, francés e italiano en tiempo de ejecución, y los números de semana siguen ISO 8601 salvo que elijas otra cosa.

Para fechas y horas, sí: TsgcVCLDatePicker, TsgcVCLTimePicker y TsgcVCLDateTimePicker son editores tipados con un calendario o una lista de horas desplegable. Además interpretan los nombres de mes de forma tolerante, respetan los límites y los días deshabilitados, siguen el tema de sgcUI y se dibujan al DPI de cada monitor.

Sí. C++ Builder 2007 y 2010 a 13 usan los mismos controles VCL y FireMonkey mediante cabeceras y bibliotecas generadas, y cada demo de Delphi, incluida DataAware, se entrega también como proyecto de C++ Builder. La pestaña de código de esta página muestra el mismo formulario en Delphi, C++ Builder y C#, y cada ejemplo se compiló antes de publicarse.

Ayuda de sgcEditors

3,000+Desarrolladores
20+Años
761+Componentes
30+Integraciones de API
5Plataformas
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso

Prueba sgcEditors hoy

La prueba de sgcUI incluye sgcEditors y todos los demás productos sgcUI.