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

sgcEditors, i moderni controlli di input per Delphi, C++ Builder & .NET

Quindici input per form che hanno lo stesso aspetto su ogni monitor e si comportano come edit nativi: un calendario con vere regole di prenotazione, selettori di data e ora, uno slider a intervallo, un selettore di colore, chip, stelle, uno spin edit, button edit, search edit, edit con maschera e per valuta, un lookup a più colonne e un memo, più un interruttore per le impostazioni, un edit per indirizzi IP, un edit per durate, un selettore di font, una lista con caselle di controllo e una lista doppia, un NumPad e una tastiera a schermo per pannelli touch. Digita una data nella tua lingua, controlla l'intero form prima di salvare, passa al tema scuro con una proprietà e collega gli editor a un dataset.

Quindici controlli per VCL, FireMonkey, WinForms, WPF, AvaloniaValidazione dei form in ogni edizioneImmissione di testo nativa con IME e appuntiEdizione .NET Community gratuitaIncluso in sgcUI Standard
Demo Gallery con calendario mensile, selettori di data, ora e data e ora, spin edit, valutazione, slider a intervallo, token edit e selettore di colore

Gli input che i tuoi form si meritano

Sedici funzionalità che rendono rapido inserire date, importi, codici, scelte e tag e difficile sbagliare.

I controlli

Quindici input che coprono i campi dei veri form gestionali, ciascuno disponibile per VCL, FireMonkey e .NET.

La demo Gallery con i controlli di sgcEditors

I controlli

Quindici input moderni in un unico pacchetto

I form di prenotazione, le pagine delle impostazioni e i filtri chiedono sempre gli stessi input: un calendario, un selettore di data o ora, uno slider, un colore, un elenco di tag, una valutazione a stelle, un numero con unità, un codice con maschera, un prezzo, una scelta da un elenco lungo, una casella di ricerca e un commento. sgcEditors te li offre tutti e quindici come un'unica famiglia coerente. Ogni controllo esiste per VCL e FireMonkey con le stesse proprietà ed eventi pubblicati, e per WinForms, WPF e Avalonia con gli stessi nomi, quindi ciò che impari su un controllo vale per gli altri. Condividono un tema, un colore di accento e un modello di tastiera. Trascinali dalla pagina SGC Editors della palette e hanno l'aspetto giusto fin dal primo avvio.

  • TsgcVCLMonthCalendar, TsgcVCLDatePicker, TsgcVCLTimePicker, TsgcVCLDateTimePicker
  • TsgcVCLRangeSlider e TsgcVCLSpinEdit per i numeri
  • TsgcVCLColorPicker, TsgcVCLTokenEdit, TsgcVCLRating
  • TsgcVCLButtonEdit, TsgcVCLSearchEdit, TsgcVCLMaskEdit, TsgcVCLCurrencyEdit, TsgcVCLLookupEdit, TsgcVCLMemo
  • Tutti discendono da TsgcVCLCustomEditor
Leggi l'argomento della guida
Un calendario che segue vere regole di prenotazione

I controlli

Un calendario che segue vere regole di prenotazione

Un hotel, una clinica o un banco di noleggio non accettano mai una data qualsiasi. Il calendario mensile seleziona una data o, con SelectionMode impostato su esmRange, un intervallo di giorni, e MaxRangeDays limita la lunghezza di quell'intervallo. I giorni fuori da MinDate e MaxDate, quelli elencati in DisabledDates, i DisabledWeekDays come i fine settimana e qualsiasi giorno rifiutato dal tuo gestore OnIsDateDisabled sono disegnati barrati e non si possono scegliere. I numeri di settimana ISO 8601 e le viste di mese, anno e decennio aiutano gli utenti a saltare molto avanti. Lo stesso calendario comanda il menu a discesa dei selettori di data, quindi le regole valgono ovunque si scelga una data.

  • SelectionMode: esmSingle o esmRange
  • MinDate, MaxDate e MaxRangeDays
  • DisabledDates, DisabledWeekDays, OnIsDateDisabled
  • ShowWeekNumbers per i numeri di settimana ISO
Leggi l'argomento della guida
Intervalli di prezzo e di date con due cursori

I controlli Solo Registered

Intervalli di prezzo e di date con due cursori

I filtri per prezzo, peso o distanza si leggono meglio come intervallo su una guida. Lo slider a intervallo sceglie un valore tra Min e Max con un cursore, oppure un intervallo con due cursori in RangeMode, orizzontale o verticale. Disegna tacche, etichette e un suggerimento con il valore sopra il cursore trascinato, e un clic sulla guida sposta il cursore più vicino in quel punto. I cursori non si incrociano mai, Step aggancia i valori e MinRange mantiene una distanza minima, così il filtro non può mai diventare vuoto per errore. Valori ed etichette seguono le impostazioni locali del controllo, compresi i separatori decimali e delle migliaia.

  • RangeMode con Value e EndValue
  • Min, Max, Step e MinRange
  • TickInterval, ShowLabels, ShowValueTip
  • LabelFormat o OnFormatLabel per le valute

Community: viene disegnato e modificato un solo cursore; EndValue viene mantenuto ma non mostrato.

Leggi l'argomento della guida
Tag e chip con completamento automatico

I controlli Solo Registered

Tag e chip con completamento automatico

Tag, destinatari e competenze sono elenchi, non una riga di testo. Il token edit disegna ogni voce come un chip con un pulsante di rimozione, manda a capo i chip e scorre quando non entrano. Un delimitatore, Invio, Tab o la perdita del focus trasformano il testo digitato in un chip, e incollare a, b, c ne crea tre. OnValidateToken normalizza o rifiuta ogni voce, e AllowDuplicates, CaseSensitive e MaxTokens stabiliscono le regole. Nelle build Registered un elenco di completamento automatico suggerisce le voci mentre l'utente digita. AddToken, RemoveToken e Clear modificano l'elenco da codice quando carichi o salvi un record.

  • Tokens contiene i chip; Delimiters ne chiude uno
  • OnValidateToken e InvalidTokens controllano ogni voce
  • AutoCompleteItems e AutoCompleteMinChars per i suggerimenti
  • OnTokenAdded e OnTokenRemoved segnalano le modifiche

Community: i chip, la validazione e i limiti funzionano; l'elenco di completamento automatico non si apre mai.

Leggi l'argomento della guida

I controlli Solo Registered

Scegli qualsiasi colore, con alfa

Gli editor di temi, le impostazioni dei grafici e i designer di etichette hanno bisogno di più di una tavolozza fissa. Il selettore di colore impila una griglia di campioni, un quadrato di saturazione e valore, una barra della tonalità, una barra alfa e una riga con anteprima e un edit esadecimale, e Parts sceglie quali far comparire. L'edit esadecimale accetta #RGB, #RGBA, #RRGGBB e #RRGGBBAA. Il selettore tiene la tonalità separata dal colore, così un grigio mantiene la sua tonalità e il quadrato non salta mai mentre l'utente trascina. Definisci la palette del tuo marchio come campioni e gli utenti hanno comunque il selettore completo a un clic di distanza.

  • Parts con ecpSwatches, ecpHSV, ecpAlpha, ecpHex
  • Swatches e SwatchColumns per la tua palette
  • SelectedColor come valore ARGB
  • OnChangeComplete quando l'utente rilascia il mouse

Community: solo campioni ed esadecimale; il quadrato HSV e la barra alfa non vengono disegnati e l'alfa è sempre $FF.

Leggi l'argomento della guida

I controlli

Pulsanti, ricerca e note con lo stesso stile

Molti campi hanno bisogno di un pulsante accanto al testo: cercare un file, aprire una finestra di dialogo, cancellare il valore. Il button edit mette pulsanti di sfoglia, menu a discesa, ricerca, cancella, più, meno, di testo o disegnati da te su entrambi i lati di un edit nativo, ciascuno con una propria scorciatoia, e i lettori di schermo elencano ogni pulsante per nome e possono premerlo. Il search edit genera OnSearch dopo una pausa nella digitazione o subito con Invio e propone di nuovo le ricerche precedenti in una cronologia a discesa. Il memo è un editor multiriga con tema, con un segnaposto, un contatore di caratteri con limite facoltativo e un'altezza che segue le righe tra MinLines e MaxLines.

  • TsgcVCLButtonEdit con Buttons e OnButtonClick
  • TsgcVCLSearchEdit con SearchDelay, History e OnSearch
  • TsgcVCLMemo con ShowCounter, MaxLength, AutoHeight
Leggi l'argomento della guida

I controlli

Input con maschera e per valuta condivisibili con .NET

Telefoni, CAP, numeri di conto e prezzi richiedono un formato fisso. L'edit con maschera accetta una maschera di input nella sintassi EditMask di Delphi o nella sintassi MaskedTextBox di .NET, quindi la stessa maschera si comporta allo stesso modo in un'applicazione Delphi e in una .NET: i letterali restano fissi, ogni posizione accetta solo il proprio tipo di carattere e Text restituisce il valore con o senza i letterali. L'edit per valuta memorizza un valore Currency esatto, un decimal in .NET, senza virgola mobile. Mostra il formato valuta completo delle impostazioni locali finché non ha il focus e un numero raggruppato con il simbolo o il codice ISO mentre l'utente digita. MinValue, MaxValue e AllowNegative mantengono l'importo nell'intervallo.

  • EditMask e MaskSyntax: emxDelphi o emxDotNet
  • IsComplete, EditText e SaveLiterals
  • Value, Decimals, CurrencyCode, SymbolMode
  • PositivePattern e NegativePattern
Leggi l'argomento della guida

I controlli

Scegli una riga da un elenco a più colonne

Clienti, prodotti e paesi si scelgono per nome ma si memorizzano per chiave. Il lookup edit apre un elenco a discesa a più colonne con una riga di intestazione facoltativa e lo filtra mentre l'utente digita. L'edit mostra la colonna di visualizzazione e KeyValue conserva la chiave, come il codice di un paese dietro il suo nome. Le righe provengono da Items, una riga per voce con le celle separate da |, oppure da OnGetItems per una ricerca su un server, e OnNotInList decide che cosa accade con un testo che non corrisponde a nessuna riga. In .NET le righe possono provenire anche da qualsiasi raccolta tramite ItemsSource, DisplayMember e ValueMember, su WinForms, WPF e Avalonia.

  • Columns con Title, Width e Alignment
  • KeyColumn, DisplayColumn e KeyValue
  • ShowHeader, MatchMode, DropDownRows
  • .NET: ItemsSource, SelectedValue in ogni edizione
Leggi l'argomento della guida

I controlli

Un interruttore per impostazioni e opzioni

Le pagine delle impostazioni e i pannelli delle opzioni attivano e disattivano le funzioni. L'interruttore è la forma moderna della casella di controllo: una traccia arrotondata con un cursore rotondo che scorre verso il nuovo stato, una didascalia facoltativa su entrambi i lati e il testo On e Off dentro la traccia, se lo vuoi. È disegnato su misura, prende il colore di accento del tema quando è attivo e scala con il DPI. Una modifica dell'utente passa prima da OnChanging, così una regola del tuo form può rifiutarla, e OnChange viene eseguito dopo ogni modifica, dell'utente o da codice.

  • TsgcVCLToggleSwitch e TsgcFMXToggleSwitch, e in .NET TsgcWinFormsToggleSwitch, TsgcWpfToggleSwitch e TsgcAvaloniaToggleSwitch
  • Checked, Caption, CaptionPosition, ShowText con OnText e OffText, ReadOnly e Animated
  • TrackOnColor, TrackOffColor e ThumbColor, oppure i colori del tema, e SwitchWidth e SwitchHeight per la dimensione della traccia
  • OnChanging annulla una modifica dell'utente con Allow, OnChange scatta dopo ogni modifica e Toggle cambia lo stato come farebbe l'utente
  • Clic, trascinamento del cursore, Spazio, Sinistra e Destra, form da destra a sinistra e una casella di controllo con il pattern Toggle per gli screen reader
  • In WPF e Avalonia Checked ha il binding bidirezionale per impostazione predefinita, e in WinForms genera CheckedChanged per il binding dei dati

L'interruttore è presente in ogni edizione, Community inclusa.

Leggi l'argomento della guida

I controlli

Un edit per indirizzi IP per IPv4 e IPv6

Le impostazioni di rete, la configurazione dei dispositivi e le regole del firewall richiedono indirizzi. In IPv4 l'edit per indirizzi IP mostra quattro campi ottetto con separatori a punto e passa al campo successivo mentre l'utente digita, così un indirizzo si inserisce veloce come in un edit semplice ed è sempre ben formato: un valore superiore a 255 viene limitato, e i campi vuoti diventano 0 quando il focus esce dal controllo. In IPv6 è un unico campo di testo che accetta cifre esadecimali, due punti e punti, valida il testo e lo scrive nella forma canonica della RFC 5952 quando il focus esce, così 2001:DB8:0:0:0:0:2:1 diventa 2001:db8::2:1.

  • TsgcVCLIPAddressEdit e TsgcFMXIPAddressEdit, e in .NET TsgcWinFormsIPAddressEdit, TsgcWpfIPAddressEdit e TsgcAvaloniaIPAddressEdit
  • Mode sceglie IPv4 o IPv6, Address è il valore e Octets legge o imposta un campo di un indirizzo IPv4
  • IsValid indica se l'indirizzo è completo, e con Required un indirizzo vuoto o incompleto mostra il riquadro di errore del tema
  • Un punto o una terza cifra passa al campo successivo, Backspace all'inizio di un campo torna indietro, Sinistra e Destra attraversano i confini dei campi, e un indirizzo incollato riempie tutti i campi
  • OnChange viene generato dopo ogni modifica, Clear svuota l'indirizzo, e gli screen reader vedono un edit con il pattern Value
  • In WPF e Avalonia Address è collegato in entrambe le direzioni per impostazione predefinita, e in WinForms genera AddressChanged per il binding dei dati

L'edit per indirizzi IP è presente in ogni edizione, Community inclusa.

Leggi l'argomento della guida

I controlli

Un edit per durate

Un timeout, un intervallo o un tempo di esecuzione è una durata, non un'ora del giorno. L'edit per durate la mostra in segmenti, giorni, ore, minuti, secondi e millisecondi, e l'utente modifica un segmento alla volta digitando, con i tasti freccia, la rotellina del mouse o i pulsanti di incremento. Un passo si riporta sul segmento successivo, così 59 secondi più uno fanno un minuto, e il segmento più alto mostrato non ha limite, così senza i giorni 50 ore appaiono come 50:00:00.

  • TsgcVCLTimeSpanEdit e TsgcFMXTimeSpanEdit, e in .NET TsgcWinFormsTimeSpanEdit, TsgcWpfTimeSpanEdit e TsgcAvaloniaTimeSpanEdit
  • Value in millisecondi in Delphi e un TimeSpan in .NET, con le parti Days, Hours, Minutes, Seconds e Milliseconds
  • Segments sceglie i segmenti mostrati e DisplayFormat scrive il valore come orologio, 1.02:30:05.250, o con le unità, 1d 2h 30m 5s 250ms
  • MinValue e MaxValue limitano il valore, AllowNegative accetta un segno meno iniziale, e Increment e ShowButtons impostano il passo e i pulsanti di incremento
  • Su e Giù cambiano il segmento con il focus, PagSu e PagGiù lo cambiano di dieci in dieci, Sinistra, Destra e Tab si spostano tra i segmenti, e gli screen reader vedono uno spinner con il pattern RangeValue in secondi
  • In WPF e Avalonia Value è collegato in entrambe le direzioni per impostazione predefinita, e in WinForms genera ValueChanged per il binding dei dati

L'edit per durate è presente in ogni edizione, Community inclusa.

Leggi l'argomento della guida

I controlli

Un selettore di font con anteprima di ogni famiglia

I progettisti di report, gli editor di etichette e le pagine delle impostazioni lasciano all'utente la scelta di un carattere. Il selettore di font è un edit con un pulsante a discesa la cui lista disegna ogni famiglia con il proprio carattere. Digitare filtra le famiglie, quelle scelte più di recente sono elencate per prime sopra un separatore, e un filtro tiene solo le famiglie a passo fisso, per un editor di codice o un terminale. La lista arriva dalla piattaforma finché l'applicazione non la riempie.

  • TsgcVCLFontPicker e TsgcFMXFontPicker, e in .NET TsgcWinFormsFontPicker, TsgcWpfFontPicker e TsgcAvaloniaFontPicker
  • FontName è il valore, Fonts la lista delle famiglie e RefreshFonts la ricarica dopo l'installazione di un font
  • ShowPreview disegna ogni nome con il proprio carattere e PreviewText aggiunge un testo di esempio dopo il nome
  • RecentCount e RecentFonts conservano le famiglie scelte di recente, perché l'applicazione le salvi e le ricarichi
  • FontFilter tiene le famiglie a passo fisso, e Alt+Giù apre la lista, Invio o un clic sceglie una famiglia ed Esc la chiude
  • Il selettore di font di Delphi disegna i caratteri dell'anteprima su Windows, in VCL e FireMonkey; sulle altre piattaforme FireMonkey i nomi sono elencati con il font del tema
  • In WPF e Avalonia FontName è collegato in entrambe le direzioni per impostazione predefinita

Il selettore di font è presente in ogni edizione, Community inclusa.

Leggi l'argomento della guida

I controlli

Una lista con caselle di controllo per lunghe liste di opzioni

Le colonne di una griglia, i filtri di un report o i moduli di una licenza sono lunghe liste di opzioni. La lista con caselle di controllo è una lista scorrevole con una casella su ogni riga, deselezionata, selezionata o grigia, e un indicatore di abilitazione per elemento. Una riga di intestazione facoltativa Seleziona tutto seleziona o deseleziona ogni elemento abilitato, e una casella di filtro facoltativa nasconde le righe che non contengono il testo digitato senza cambiarne lo stato. Vengono disegnate solo le righe visibili, così una lista di 10000 elementi resta veloce.

  • TsgcVCLCheckListBox e TsgcFMXCheckListBox, e in .NET TsgcWinFormsCheckListBox, TsgcWpfCheckListBox e TsgcAvaloniaCheckListBox
  • Items con Checked, State e ItemEnabled per elemento, e AllowGrayed per il terzo stato
  • ShowCheckAll mostra la riga Seleziona tutto a tre stati e ShowFilter la casella di filtro
  • CheckAll, UncheckAll e CheckedCount, e OnClickCheck prima di OnChange per una modifica dell'utente
  • Spazio cambia la riga con il focus, Ctrl+A seleziona ogni elemento, una lettera salta al prossimo elemento che inizia con essa, e gli screen reader vedono elementi di lista con il pattern Toggle
  • In .NET CheckedItems e CheckedIndices sono liste di sola lettura per il binding, e l'evento ItemCheck arriva prima di Change

La lista con caselle di controllo è presente in ogni edizione, Community inclusa.

Leggi l'argomento della guida

I controlli

Una lista doppia per scegliere e ordinare gli elementi

Scegliere le colonne di un report, i membri di un gruppo o i passaggi di un processo significa spostare elementi da una lista all'altra. La lista doppia disegna la lista Disponibili a sinistra e la lista Selezionati a destra, con pulsanti in mezzo che spostano le righe selezionate o tutte le righe, e pulsanti Su e Giù sul lato esterno che riordinano la lista Selezionati. Un doppio clic o un trascinamento sposta un elemento nell'altra lista, e un trascinamento dentro la lista Selezionati la riordina.

  • TsgcVCLDualListBox e TsgcFMXDualListBox, e in .NET TsgcWinFormsDualListBox, TsgcWpfDualListBox e TsgcAvaloniaDualListBox
  • AvailableItems e SelectedItems, AvailableCaption e SelectedCaption, ShowCaptions e ShowReorderButtons
  • SortAvailable inserisce in ordine gli elementi riportati indietro, ShowFilter aggiunge una casella di filtro sopra ogni lista, e ReadOnly mantiene la selezione e rifiuta gli spostamenti
  • MoveToSelected, MoveAllToSelected, MoveToAvailable, MoveAllToAvailable, MoveUp e MoveDown fanno ciò che fanno i pulsanti
  • OnMoving può lasciare un elemento dov'è, e OnChange viene generato una volta per operazione
  • Clic, Ctrl+clic, Maiusc+clic e Ctrl+A selezionano, Tab passa da una lista all'altra, Ctrl+Destra e Ctrl+Sinistra spostano, Ctrl+Su e Ctrl+Giù riordinano, e la vista è speculare nei form da destra a sinistra
  • In WPF e Avalonia SelectedItems è collegato in entrambe le direzioni per impostazione predefinita, e in WinForms genera SelectedItemsChanged

La lista doppia è presente in ogni edizione, Community inclusa.

Leggi l'argomento della guida

Digitazione, lingua e dati

Inserimento rapido per chi usa la tastiera, un controllo di ogni campo prima di salvare, la lingua giusta per ogni utente e un collegamento diretto ai tuoi dataset.

Digitazione, lingua e dati

Vera digitazione, non solo clic

Il personale di inserimento dati digita le date, non scorre i calendari con il mouse. Ogni campo di testo di sgcEditors è un vero controllo edit della piattaforma, quindi la composizione IME per giapponese, cinese e coreano, gli appunti, l'annulla, il menu contestuale e i lettori di schermo funzionano tutti. L'analisi è tollerante: barre, trattini, punti, due punti, virgole o spazi separano i campi, i nomi di mesi e giorni delle impostazioni locali vengono compresi e gli anni a due cifre vengono interpretati. Su e Giù fanno ruotare il segmento sotto il cursore, e un testo che non si può leggere genera OnParseError.

  • DisplayFormat con segmenti d, m, y, h, n, s
  • OnParseError per accettare o rifiutare un input strano
  • AllowEmpty e TextHint per i campi facoltativi
  • Lo spin edit accetta sia . sia , come separatore decimale
Leggi l'argomento della guida

Digitazione, lingua e dati

Un NumPad per pannelli touch

Un pannello touch in officina non ha tastiera, e la tastiera di sistema copre metà dello schermo. Il NumPad digita un numero con tasti abbastanza grandi per un dito o un guanto. Metti un pad ancorato sul form e scrive nel controllo che ha il focus, oppure collega un pad a discesa a un controllo e un tocco sul controllo apre il pad sotto di esso. Il bersaglio non richiede modifiche: il pad legge l'intervallo e i decimali e scrive il valore come modifica dell'utente, così l'arrotondamento, i limiti e OnChange del bersaglio funzionano come se l'utente avesse digitato.

  • TsgcVCLNumPad ancorato e TsgcVCLNumPadPopup come pad a discesa, anche per FireMonkey e in .NET
  • Digita nello spin edit, nel currency edit, in un edit standard e nei gauge manopola e slider di sgcGauges
  • Associate sceglie il bersaglio, oppure il pad segue il controllo con il focus
  • Un display con il numero digitato e una riga dei limiti come Min 0 Max 120

Il NumPad è in ogni edizione, Community compresa. Fa parte del pacchetto HMI di sgcUI per le schermate operatore.

Leggi l'argomento della guida

Digitazione, lingua e dati

Una tastiera a schermo per chioschi e touch screen

Un chiosco, un terminale self service o un pannello operatore ha bisogno di nomi, codici e note, oltre ai numeri. La tastiera a schermo è una tastiera completa costruita sullo stesso percorso di input del NumPad. Ancorala sul form e scrive nel controllo che ha il focus, oppure collega una tastiera a discesa che si apre sotto un edit quando l'edit riceve il focus. La tastiera non prende mai il focus, quindi il cursore e la selezione del bersaglio restano dove sono, e un edit standard, un memo e i controlli di sgcEditors non richiedono alcuna modifica.

  • TsgcVCLKeyboard ancorata e TsgcVCLKeyboardPopup a discesa, anche per FireMonkey e in .NET per WinForms, WPF e Avalonia
  • Associate sceglie il bersaglio, oppure la tastiera segue il focus. AutoPopup, AutoPopupAll, PopupPosition e CloseOnEnter controllano il menu a discesa
  • Pagine di lettere, di simboli e numerica, con Maiusc, Bloc Maiusc, AltGr e tasti morti per le lettere accentate
  • Dieci layout integrati (en-US, en-GB, es-ES, fr-FR, de-DE, it-IT, pt-BR, nl-NL, pl-PL e tr-TR), layout personalizzati con sgcKeyboardRegisterLayout e un tasto layout che scorre Layouts
  • OnKeyText modifica o annulla il testo prima che venga scritto, e OnEnterKey viene eseguito dopo Invio
  • Temi, form da destra a sinistra e tasti che gli screen reader annunciano

La tastiera a schermo è in ogni edizione, Community compresa. Fa parte del pacchetto HMI di sgcUI per pannelli operatore e chioschi.

Leggi l'argomento della guida
Ogni controllo parla la lingua dell'utente

Digitazione, lingua e dati

Ogni controllo parla la lingua dell'utente

I team internazionali e i prodotti multilingue hanno bisogno di date che si leggano in modo naturale per ogni utente. Ogni controllo ha i propri FormatSettings, riempiti dalle impostazioni locali dell'utente e modificabili a runtime, quindi due controlli nello stesso form possono perfino usare due lingue. Il calendario e i selettori ne ricavano nomi di giorni e mesi, formati di data e ora, stringhe AM e PM e separatori. FirstDayOfWeek e WeekNumbering seguono le impostazioni locali o la tua scelta, e i numeri usano i giusti separatori decimali e delle migliaia. Unità, suggerimenti e nomi accessibili restano proprietà tue, così li traduci insieme al resto del form.

  • FormatSettings per ogni controllo
  • FirstDayOfWeek: efdLocale oppure efdMonday forzato
  • WeekNumbering: ewnISO8601 per impostazione predefinita
  • TsgcEditorLocale per i modelli headless
  • Da destra a sinistra per arabo ed ebraico: i pulsanti di incremento, a discesa e di cancellazione passano sull'altro lato, cursori, valutazioni e calendario scorrono da destra, e il campo di modifica si legge da destra a sinistra
Leggi l'argomento della guida
Versioni data aware per i tuoi form

Digitazione, lingua e dati Solo Registered

Versioni data aware per i tuoi form

La maggior parte dei form gestionali Delphi poggia su un TDataSet, e collegare a mano ogni editor è ripetitivo. Dieci controlli data aware si collegano direttamente a un campo tramite DataSource e DataField: un selettore di data, un selettore di ora, uno spin edit, una valutazione, uno slider a intervallo il cui secondo cursore collega EndDataField, un button edit, un edit con maschera che prende l'EditMask del suo campo, un edit per valuta, un memo e un lookup edit che riempie il suo elenco a più colonne da un secondo dataset tramite ListSource, KeyField e ListField, come TDBLookupComboBox. I campi null appaiono vuoti quando AllowEmpty è attivo, e un campo obbligatorio segnala un valore vuoto al validatore. Si collegano tramite TsgcEditorFieldLink, che usa solo la unit DB, quindi le versioni FireMonkey non richiedono LiveBindings. In .NET gli editor WinForms collegano un campo tramite DataSource, DataMember e DataField con un BindingSource, una DataTable, una DataView o una List, e le proprietà di valore di WPF e Avalonia si collegano in modo bidirezionale. Trascinali su un form esistente e la logica dei dataset che hai già continua a funzionare senza modifiche.

  • TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit
  • TsgcVCLDBRating e TsgcVCLDBRangeSlider
  • TsgcVCLDBButtonEdit, TsgcVCLDBMaskEdit, TsgcVCLDBCurrencyEdit, TsgcVCLDBMemo, TsgcVCLDBLookupEdit
  • DataSource, DataField, EndDataField; elenchi lookup tramite ListSource, KeyField, ListField
  • WinForms: DataSource, DataMember, DataField; WPF e Avalonia: le proprietà di valore si collegano in modo bidirezionale

Nei pacchetti .NET Community gli editor WinForms non hanno DataSource, DataMember e DataField; il binding di WPF e Avalonia e l'ItemsSource del lookup edit funzionano in entrambe le edizioni.

Leggi l'argomento della guida

Digitazione, lingua e dati

Controlla l'intero form prima di salvare

Un form è finito solo quando ogni campo è corretto. Il validatore di sgcUICore controlla i controlli di un form rispetto a regole: obbligatorio, intervallo, lunghezza, espressione regolare, e-mail, confronto con un altro campo e il tuo codice. Trova i controlli come fa Smart Paste, quindi controlla allo stesso modo i controlli di sgcEditors e gli edit, i memo, i combo, i check box e i selettori standard, su VCL, FireMonkey, WinForms, WPF e Avalonia. L'edit con maschera segnala un valore incompleto e il lookup edit un testo che non è nell'elenco, senza alcuna regola. Gli errori appaiono come un riquadro nel colore di errore del tema, un'icona con il messaggio come suggerimento e un elenco riepilogativo facoltativo, e i lettori di schermo leggono il messaggio insieme al campo. In .NET il validatore mostra anche gli errori del tuo livello dati: IDataErrorInfo e INotifyDataErrorInfo su WinForms e WPF, gli errori di convalida dei dati su Avalonia.

  • TsgcVCLValidator, TsgcFMXValidator, TsgcWinFormsValidator, TsgcWpfValidator, TsgcAvaloniaValidator
  • Regole uvrRequired, uvrRange, uvrLength, uvrRegex, uvrEmail, uvrCompare, uvrCustom
  • Trigger: uvtExit per impostazione predefinita, uvtChange o uvtManual; Validate prima di salvare
  • TsgcVCLValidationSummary elenca gli errori e dà il focus al campo con un clic

In ogni edizione, Community compresa. Le espressioni regolari corrispondono agli stessi testi su Delphi da 7 a 13 e su .NET.

Leggi l'argomento della guida

Digitazione, lingua e dati

Disponi un form, o generalo dai tuoi dati

Il controllo di layout dispone i controlli di un form, sia quelli di sgcEditors sia quelli standard, in gruppi, gruppi a schede e colonne, con le etichette allineate a un'unica larghezza, divisori che l'utente può trascinare e layout da destra a sinistra, e SaveLayout conserva la disposizione come JSON. La maschera dati si basa su di esso. Puntala a un TDataSet, oppure collega un oggetto della tua classe, e crea un controllo sgcEditors per campo, le regole di validazione di ogni campo, un riepilogo degli errori e un navigatore per scorrere, aggiungere, modificare, eliminare e registrare i record. Smart Paste compila l'intero record da un testo incollato, come una firma e-mail o un blocco di indirizzo, e segna i campi compilati. In .NET le maschere dati di WinForms, WPF e Avalonia accettano una DataTable, un elenco o un oggetto.

  • TsgcVCLLayoutControl, TsgcFMXLayoutControl; SaveLayout e LoadLayout
  • TsgcVCLDataForm, TsgcFMXDataForm, TsgcWinFormsDataForm, TsgcWpfDataForm, TsgcAvaloniaDataForm
  • Fields: etichetta, tipo, obbligatorio, limiti, gruppo, scheda e ordine di ogni campo; BindObject per una classe
  • SmartPasteFromClipboard, SmartPasteUndo e un pulsante Smart Paste nel navigatore

Il controllo di layout è in ogni edizione, Community compresa; Delphi Community non ha un pacchetto in fase di progettazione per sgcEditors, quindi lì si crea nel codice. La maschera dati, le sue regole di validazione e il suo Smart Paste sono solo in Registered.

Leggi l'argomento della guida

Tastiera, DPI e temi

I dettagli che i revisori controllano: nessun bisogno del mouse, nitidezza su ogni monitor e un aspetto in linea con la tua applicazione.

Nitidi su ogni monitor

Tastiera, DPI e temi

Nitidi su ogni monitor

I portatili al 150 percento accanto a monitor esterni al 100 percento sono ormai normali, e gli input sfocati sembrano scadenti. sgcEditors dispone ogni controllo in pixel logici a 96 DPI e lo disegna alla scala dello schermo, senza nulla da fare nel tuo codice. Quando un form VCL passa a un monitor con un altro DPI, l'edit interno e il suo font scalano con il controllo, e un menu a discesa viene disegnato al DPI del monitor su cui si apre. I raster FireMonkey seguono la scala della scena per Retina e Android.

  • Layout in pixel logici, disegnato alla scala dello schermo
  • Gli edit interni si riscalano su WM_DPICHANGED
  • I menu a discesa usano il DPI del proprio monitor
  • SaveToPNG accetta una scala per immagini nitide
Leggi l'argomento della guida
Adatti alla tastiera e ai lettori di schermo

Tastiera, DPI e temi

Adatti alla tastiera e ai lettori di schermo

Nessuna funzione di sgcEditors richiede il mouse. I controlli disegnati prendono da soli il focus e i controlli di testo lo inoltrano al loro edit interno, e un controllo con focus disegna un anello di focus di 2 pixel nel colore di accento. Nel calendario le frecce si spostano di un giorno o di una settimana e saltano i giorni disabilitati, PagSu e PagGiù si spostano di un mese e Maiusc estende un intervallo. Nei selettori F4 o Alt+Giù apre il menu a discesa e Esc ripristina il valore. Lo spin edit procede con Su, Giù, PagSu e PagGiù.

  • F4 o Alt+Giù apre ogni menu a discesa
  • Ctrl+Su riduce il calendario alla vista di anni e decenni
  • Increment e LargeIncrement per lo spin edit
  • Gli edit nativi mantengono funzionanti i lettori di schermo
Leggi l'argomento della guida
Chiaro e scuro con una sola proprietà

Tastiera, DPI e temi

Chiaro e scuro con una sola proprietà

I form sembrano rifiniti quando ogni input segue lo stesso tema. Ogni controllo ha un Theme, un AccentColor e un TextStyle, e i colori di cornice, hover, stato premuto, selezione e stato disabilitato derivano da essi, quindi una sola proprietà cambia tutto l'aspetto. I token sono quelli usati da ogni prodotto sgcUI, quindi gli editor inseriti in una tessera sgcDashboard o sotto una sgcToolbar si abbinano senza lavoro extra. Un controllo disabilitato si fonde da solo con lo sfondo. Cambia il tema a runtime e ogni editor si ridisegna, pronto per un'impostazione della modalità scura.

  • Theme: utDefault (predefinito, segue il tema dell'applicazione), utLight o utDark
  • AccentColor per selezione, cursori, riempimento e anello di focus
  • TextStyle per dimensione, grassetto e colore
  • Gli stessi token di tema di tutta la suite sgcUI
Leggi l'argomento della guida

Guarda sgcEditors all'opera

sgcEditors nelle demo della suite sgcUI: applicazioni complete che funzionano offline con dati simulati integrati.

Chi sviluppa con sgcEditors

Form di prenotazione e di riserva

Un form di prenotazione ha bisogno di un intervallo di soggiorno che rispetti i giorni di chiusura, un numero di ospiti, un orario di arrivo e magari una valutazione dell'ultima visita. Il calendario mensile applica MinDate, MaxRangeDays e i giorni disabilitati, lo spin edit conta gli ospiti, il selettore di ora accetta orari digitati e la valutazione raccoglie i commenti, tutto in un solo tema. La demo BookingForm costruisce una prenotazione d'albergo con sette editor e un riepilogo live.

  • Intervalli del calendario
  • Spin edit
  • Valutazione
Esegui la demo BookingForm

Inserimento dati su TDataSet

Le applicazioni gestionali modificano record tutto il giorno. I dieci editor data aware si collegano a un campo TDataSet tramite DataSource e DataField, lo slider a intervallo collega entrambe le estremità e i campi null appaiono vuoti. Insieme alla vera immissione da tastiera e all'analisi tollerante, gli operatori digitano i valori rapidamente e il dataset riceve dati puliti. La demo DataAware mette i dieci editor su un TClientDataSet accanto a un TDBGrid e a un TDBNavigator.

  • Editor data aware
  • Immissione di testo
  • Tastiera
Esegui la demo DataAware

App di pianificazione internazionali

Gli strumenti di pianificazione usati in più paesi devono mostrare a ogni utente il giusto inizio della settimana, i numeri di settimana e i nomi dei mesi. Ogni controllo porta i propri FormatSettings, quindi un form può mostrare un calendario tedesco accanto a uno inglese, e FirstDayOfWeek e WeekNumbering seguono le impostazioni locali o la tua regola. La demo Calendar passa tra inglese, tedesco, spagnolo, francese e italiano con un intervallo limitato a 14 giorni.

  • Localizzazione
  • Numeri di settimana
  • Giorni disabilitati
Esegui la demo Calendar

Un form di feedback in poche righe

La stessa API in Delphi, C++ Builder e C#: una valutazione, uno slider a intervallo e un token edit, tutti con notifica tramite 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

Validare un form d'ordine

Un lookup edit, un edit con maschera e un edit per valuta controllati dal validatore di sgcUICore. Chiama Validate quando l'utente salva: mostra ogni errore e dà il focus al primo campo non valido.

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 una maschera clienti da un dataset

Un TsgcVCLDataForm su un dataset aperto crea gli editor, le regole di validazione e il navigatore. Imposta il tipo e il gruppo di un campo, ricostruisci, e il pulsante Smart Paste del navigatore compila il record dagli appunti.

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;

Esegui le demo di sgcEditors

Gallery, Calendar, BookingForm, Validation e DataAware sono forniti per VCL e C++ Builder, più GalleryFMX e ValidationFMX per FireMonkey; l'edizione .NET ha Gallery e Validation per WinForms, WPF e Avalonia, BookingForm, BindingWpf e DataAwareWinForms.

Calendar

Calendar

Un intervallo fino a 14 giorni, numeri di settimana, fine settimana e festivi disabilitati e un cambio di lingua tra inglese, tedesco, spagnolo, francese e italiano.

BookingForm

Una prenotazione alberghiera con un riepilogo in tempo reale di soggiorno, ospiti e ora di arrivo, un lookup dei paesi, un numero di telefono con maschera e un validatore che controlla i campi dell'ospite prima della prenotazione. Mostra come i controlli lavorano insieme in un form reale.

DataAware

Solo Registered DataAware

I dieci editor data aware su un TClientDataSet con un TDBGrid e un TDBNavigator, con un lookup edit riempito da un secondo dataset e un validatore per i campi obbligatori. I controlli data aware richiedono l'edizione Registered o Trial.

GalleryFMX

La galleria costruita con gli editor FireMonkey, per Windows e Android, con le stesse proprietà e gli stessi eventi dei controlli VCL.

Validation

Ogni tipo di regola su controlli standard e di sgcEditors, i tre trigger, la visualizzazione con bordo e icona e l'elenco riepilogativo. ValidationFMX fa lo stesso in FireMonkey, e l'edizione .NET ha Validation, ValidationWpf e ValidationAvalonia.

Demo compilate

Eseguibili pronti all'uso di ogni prodotto sgcUI, senza nulla da installare.

Scarica sgcUI_bin.zip →

Guida Getting Started

Cinque demo QuickStart per Delphi (VCL) si trovano in Demos\Editors\Delphi\00.QuickStart. La guida PDF le spiega passo dopo passo: i primi editor su un form, lettura e scrittura dei valori, i temi, la validazione e un'applicazione di contatti costruita su un data form.

Scarica la guida (PDF, in inglese) →

Dove è incluso sgcEditors

sgcEditors è presente in ogni edizione di sgcUI ed è venduto anche separatamente. sgcEditors è incluso anche nel bundle All-Access.

sgcEditors come pacchetto singolo

€199 / sviluppatore, codice sorgente completo, 1 anno di aggiornamenti.

Acquista sgcEditors → Vedi i prezzi →

sgcUI Standard

sgcEditors, sgcGrid, sgcNavigation e sgcToolbar, da €380.

Vedi Standard →

sgcUI Professional

Standard più sgcCharts, sgcDashboard e sgcGauges, da €529.

Vedi Professional →

sgcUI Enterprise

Tutti i 17 prodotti sgcUI, da €699.

Vedi Enterprise →

L'edizione Community gratuita (esegece.sgcEditors.Community su NuGet) ha tutti i quindici controlli, il controllo di layout e il framework di validazione, ma il selettore di colore non ha il quadrato HSV e la barra alfa, il token edit non ha l'elenco di completamento automatico, lo slider a intervallo ha un solo cursore, e non ci sono editor data aware né maschera dati, né binding DataSource di WinForms.

FunzionalitàCommunity (gratuita)Registered
Tutti i quindici controlli per VCL, FireMonkey e .NET✓✓
Validazione: regole, visualizzazione degli errori, riepilogo (sgcUICore)✓✓
Elenchi del lookup edit da ItemsSource in WinForms, WPF e Avalonia✓✓
Immissione di testo nativa, analisi tollerante, localizzazione✓✓
Intervalli del calendario, limiti e giorni disabilitati✓✓
Tastiera, DPI, temi e output headless✓✓
NumPad per pannelli touch✓✓
Tastiera a schermo con dieci layout✓✓
Interruttore per impostazioni✓✓
Edit per indirizzi IP per IPv4 e IPv6✓✓
Edit per durate✓✓
Selettore di font con anteprima di ogni famiglia✓✓
Lista con caselle di controllo, Seleziona tutto e filtro✓✓
Lista doppia con pulsanti di spostamento e ordinamento✓✓
Controllo di layout con layout salvati come JSON (creato nel codice in Delphi Community)✓✓
Slider a intervallo con due cursori−✓
Quadrato HSV e barra alfa del selettore di colore−✓
Elenco di completamento automatico del token edit−✓
Editor data aware (Delphi e C++ Builder)−✓
DataSource, DataMember e DataField di WinForms−✓
Maschera dati da un TDataSet, una classe, una DataTable o un oggetto, con validazione e Smart Paste−✓

Framework e piattaforme supportati

Componenti di sgcEditors

Ogni controllo esiste per VCL, FireMonkey, WinForms, WPF e Avalonia con le stesse proprietà e gli stessi eventi.

ControlloVCL e C++ BuilderFireMonkey.NET
Calendario mensileTsgcVCLMonthCalendarTsgcFMXMonthCalendarTsgcWinFormsMonthCalendar
Selettore di dataTsgcVCLDatePickerTsgcFMXDatePickerTsgcWinFormsDatePicker
Selettore di oraTsgcVCLTimePickerTsgcFMXTimePickerTsgcWinFormsTimePicker
Selettore di data e oraTsgcVCLDateTimePickerTsgcFMXDateTimePickerTsgcWinFormsDateTimePicker
Slider a intervalloTsgcVCLRangeSliderTsgcFMXRangeSliderTsgcWinFormsRangeSlider
Selettore di coloreTsgcVCLColorPickerTsgcFMXColorPickerTsgcWinFormsColorPicker
Token editTsgcVCLTokenEditTsgcFMXTokenEditTsgcWinFormsTokenEdit
ValutazioneTsgcVCLRatingTsgcFMXRatingTsgcWinFormsRating
Spin editTsgcVCLSpinEditTsgcFMXSpinEditTsgcWinFormsSpinEdit
Button editTsgcVCLButtonEditTsgcFMXButtonEditTsgcWinFormsButtonEdit
Search editTsgcVCLSearchEditTsgcFMXSearchEditTsgcWinFormsSearchEdit
Edit con mascheraTsgcVCLMaskEditTsgcFMXMaskEditTsgcWinFormsMaskEdit
Edit per valutaTsgcVCLCurrencyEditTsgcFMXCurrencyEditTsgcWinFormsCurrencyEdit
Lookup editTsgcVCLLookupEditTsgcFMXLookupEditTsgcWinFormsLookupEdit
MemoTsgcVCLMemoTsgcFMXMemoTsgcWinFormsMemo
InterruttoreTsgcVCLToggleSwitchTsgcFMXToggleSwitchTsgcWinFormsToggleSwitch
Edit per indirizzi IPTsgcVCLIPAddressEditTsgcFMXIPAddressEditTsgcWinFormsIPAddressEdit
Edit per durateTsgcVCLTimeSpanEditTsgcFMXTimeSpanEditTsgcWinFormsTimeSpanEdit
Selettore di fontTsgcVCLFontPickerTsgcFMXFontPickerTsgcWinFormsFontPicker
Lista con caselle di controlloTsgcVCLCheckListBoxTsgcFMXCheckListBoxTsgcWinFormsCheckListBox
Lista doppiaTsgcVCLDualListBoxTsgcFMXDualListBoxTsgcWinFormsDualListBox
NumPadTsgcVCLNumPad, TsgcVCLNumPadPopupTsgcFMXNumPad, TsgcFMXNumPadPopupTsgcWinFormsNumPad, TsgcWinFormsNumPadPopup
Tastiera a schermoTsgcVCLKeyboard, TsgcVCLKeyboardPopupTsgcFMXKeyboard, TsgcFMXKeyboardPopupTsgcWinFormsKeyboard, TsgcWinFormsKeyboardPopup
Controllo di layoutTsgcVCLLayoutControlTsgcFMXLayoutControlTsgcWinFormsLayoutControl
Maschera datiTsgcVCLDataFormTsgcFMXDataFormTsgcWinFormsDataForm

La colonna .NET mostra i nomi WinForms, gli stessi controlli esistono per WPF e Avalonia con i prefissi TsgcWpf e TsgcAvalonia. Helper non visuali: TsgcEditorModel, TsgcEditorLocale e TsgcEditorFieldLink. I dieci editor data aware (TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit, TsgcVCLDBRating, TsgcVCLDBRangeSlider, TsgcVCLDBButtonEdit, TsgcVCLDBMaskEdit, TsgcVCLDBCurrencyEdit, TsgcVCLDBMemo e TsgcVCLDBLookupEdit, più i gemelli FireMonkey) sono solo Registered ed esistono per Delphi e C++ Builder; in .NET gli editor WinForms Registered si collegano tramite DataSource, DataMember e DataField. Il controllo di layout è in ogni edizione, mentre la maschera dati è solo Registered. Il validatore e il riepilogo di validazione fanno parte di sgcUICore: TsgcVCLValidator, TsgcFMXValidator, TsgcWinFormsValidator, TsgcWpfValidator e TsgcAvaloniaValidator.

TargetComponentePiattaforme
Delphi da 7 a 13, VCLEditor TsgcVCLWin32, e Win64 da XE2
Delphi da XE6 a 13, FireMonkeyEditor TsgcFMXWindows, macOS, iOS e Android
C++ Builder da 2007 a 13Editor TsgcVCL e TsgcFMXHeader .hpp generati e librerie statiche
Delphi da 10.2 a 13, indipendente dal frameworkModelli, il modello di layout e il suo JSON, output PNG e SVG headlessLinux64 (nessun controllo Linux)
.NET Framework 4.7.2, .NET 8, 9 e 10Editor WinForms, WPF e AvaloniaDesktop Windows e target Avalonia

Domande frequenti

Sì. Ogni campo di testo è un vero edit della piattaforma, un TEdit senza bordo in VCL e un TEdit FMX in FireMonkey, quindi la composizione IME per giapponese, cinese e coreano, gli appunti, l'annulla, il menu contestuale e i lettori di schermo funzionano senza codice speciale. Vedi Immissione di testo e IME.

Sì. MinDate e MaxDate fissano i limiti, DisabledDates elenca i festivi, DisabledWeekDays blocca i fine settimana e OnIsDateDisabled decide ogni altra regola. I giorni disabilitati sono barrati, saltati dalla tastiera e rifiutati quando vengono digitati in un selettore. La demo Calendar blocca i fine settimana e due festivi per mostrare le regole al lavoro.

Dieci, in Delphi e C++ Builder: il selettore di data, il selettore di ora, lo spin edit, la valutazione, lo slider a intervallo, il button edit, l'edit con maschera, l'edit per valuta, il memo e il lookup edit, ciascuno come controllo VCL e FireMonkey. Richiedono l'edizione Registered o Trial. In .NET gli editor WinForms Registered collegano un campo tramite DataSource, DataMember e DataField, e in entrambe le edizioni i controlli si collegano con il data binding di WinForms, WPF e Avalonia e il lookup edit prende le sue righe da ItemsSource.

Tutti i quindici controlli e il framework di validazione sono inclusi. Community non include il quadrato HSV e la barra alfa del selettore di colore, l'elenco di completamento automatico del token edit, il secondo cursore dello slider a intervallo e i membri DataSource, DataMember e DataField degli editor WinForms. Gli editor Delphi data aware sono solo Registered. Vedi Edizioni.

Sì. Trascina il validatore di sgcUICore sul form, imposta il suo Container e aggiungi regole: obbligatorio, intervallo, lunghezza, espressione regolare, e-mail, confronto e personalizzata. Controlla i controlli di sgcEditors e gli edit, i memo, i combo, i check box e i selettori standard, mostra un riquadro, un'icona e un riepilogo facoltativo, e i lettori di schermo leggono i messaggi. Chiama Validate prima di salvare. È presente in ogni edizione, per VCL, FireMonkey, WinForms, WPF e Avalonia. Vedi Validazione.

Sì. Ogni controllo mantiene la propria copia di FormatSettings, quindi nomi di giorni e mesi, formati, separatori e primo giorno della settimana possono differire per controllo. La demo Calendar passa a runtime tra inglese, tedesco, spagnolo, francese e italiano, e i numeri di settimana seguono ISO 8601 a meno che tu non scelga altrimenti.

Per date e orari sì: TsgcVCLDatePicker, TsgcVCLTimePicker e TsgcVCLDateTimePicker sono edit digitabili con un calendario o un elenco di orari a discesa. In più analizzano i nomi dei mesi in modo tollerante, rispettano limiti e giorni disabilitati, seguono il tema sgcUI e sono disegnati al DPI di ciascun monitor.

Sì. C++ Builder 2007 e da 2010 a 13 usa gli stessi controlli VCL e FireMonkey tramite header e librerie generati, e ogni demo Delphi, DataAware compresa, è fornita anche come progetto C++ Builder. La scheda del codice in questa pagina mostra lo stesso form in Delphi, C++ Builder e C#, e ogni esempio è stato compilato prima della pubblicazione.

Guida di sgcEditors

3,000+Sviluppatori
20+Anni
761+Componenti
30+Integrazioni API
5Piattaforme
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

Prova sgcEditors oggi

Il trial di sgcUI include sgcEditors e ogni altro prodotto sgcUI.