Delphi, C++ Builder & .NET sgcUI'nin parçası

sgcEditors, Delphi, C++ Builder & .NET için Modern Giriş Denetimleri

Her monitörde aynı görünen ve yerel düzenleyiciler gibi davranan on beş form girişi: gerçek rezervasyon kurallı bir takvim, tarih ve saat seçiciler, bir aralık kaydırıcı, bir renk seçici, çipler, yıldızlar, bir spin düzenleyici, düğmeli, arama, maskeli ve para birimi düzenleyicileri, çok sütunlu bir lookup ve bir memo, ayrıca ayarlar için bir açma kapama anahtarı, bir IP adresi düzenleyici, bir zaman aralığı düzenleyici, bir yazı tipi seçici, bir onay kutulu liste, bir çift liste kutusu, dokunmatik paneller için bir NumPad ve bir ekran klavyesi. Tarihi kendi dilinizde yazın, kaydetmeden önce formun tamamını denetleyin, tek özellikle koyu temaya geçin ve düzenleyicileri bir veri kümesine bağlayın.

VCL, FireMonkey, WinForms, WPF, Avalonia için on beş denetimHer sürümde form doğrulamaIME ve panoyla yerel metin girişiÜcretsiz .NET Community sürümüsgcUI Standard içinde yer alır
Ay takvimi, tarih, saat ve tarih saat seçiciler, spin düzenleyici, derecelendirme, aralık kaydırıcı, token düzenleyici ve renk seçici içeren Gallery demosu

Formlarınızın Hak Ettiği Girişler

Tarihleri, tutarları, kodları, seçimleri ve etiketleri hızlı girilen, yanlış girilmesi zor hale getiren on altı özellik.

Denetimler

Gerçek iş formlarının alanlarını kapsayan on beş giriş, her biri VCL, FireMonkey ve .NET için mevcut.

sgcEditors denetimleriyle Gallery demosu

Denetimler

Tek pakette on beş modern giriş

Rezervasyon formları, ayar sayfaları ve filtreler hep aynı girişleri ister: bir takvim, bir tarih veya saat seçici, bir kaydırıcı, bir renk, bir etiket listesi, bir yıldız derecelendirmesi, birimli bir sayı, maskeli bir kod, bir fiyat, uzun bir listeden seçim, bir arama kutusu ve bir yorum. sgcEditors on beşini de tutarlı tek bir aile olarak sunar. Her denetim VCL ve FireMonkey için aynı yayımlanmış özellikler ve olaylarla, WinForms, WPF ve Avalonia için aynı adlarla bulunur; bu yüzden bir denetimde öğrendiğiniz diğerleri için de geçerlidir. Tek bir tema, tek bir vurgu rengi ve tek bir klavye modeli paylaşırlar. Bunları paletin SGC Editors sayfasından bırakın, ilk çalıştırmada doğru görünürler.

  • TsgcVCLMonthCalendar, TsgcVCLDatePicker, TsgcVCLTimePicker, TsgcVCLDateTimePicker
  • Sayılar için TsgcVCLRangeSlider ve TsgcVCLSpinEdit
  • TsgcVCLColorPicker, TsgcVCLTokenEdit, TsgcVCLRating
  • TsgcVCLButtonEdit, TsgcVCLSearchEdit, TsgcVCLMaskEdit, TsgcVCLCurrencyEdit, TsgcVCLLookupEdit, TsgcVCLMemo
  • Hepsi TsgcVCLCustomEditor sınıfından türer
Yardım konusunu okuyun
Gerçek rezervasyon kurallarına uyan bir takvim

Denetimler

Gerçek rezervasyon kurallarına uyan bir takvim

Bir otel, bir klinik veya bir kiralama masası her tarihi kabul etmez. Ay takvimi bir tarih seçer ya da SelectionMode esmRange olarak ayarlıysa bir gün aralığı seçer ve MaxRangeDays bu aralığın ne kadar uzun olabileceğini sınırlar. MinDate ve MaxDate dışındaki günler, listelenen DisabledDates, hafta sonları gibi DisabledWeekDays ve OnIsDateDisabled işleyicinizin reddettiği her gün üstü çizili olarak çizilir ve seçilemez. ISO 8601 hafta numaraları ile ay, yıl ve on yıl görünümleri kullanıcıların çok ileriye atlamasına yardımcı olur. Aynı takvim tarih seçicilerin açılır penceresini de yönetir, bu yüzden kurallar bir tarihin seçildiği her yerde geçerlidir.

  • SelectionMode: esmSingle veya esmRange
  • MinDate, MaxDate ve MaxRangeDays
  • DisabledDates, DisabledWeekDays, OnIsDateDisabled
  • ISO hafta numaraları için ShowWeekNumbers
Yardım konusunu okuyun
İki tutamaçla fiyat ve tarih aralıkları

Denetimler Yalnızca Kayıtlı

İki tutamaçla fiyat ve tarih aralıkları

Fiyat, ağırlık veya mesafe filtreleri bir ray üzerinde aralık olarak en iyi okunur. Aralık kaydırıcı, Min ve Max arasında tek tutamaçla bir değer ya da RangeMode'da iki tutamaçla bir aralık seçer, yatay veya dikey. Çentikleri, etiketleri ve sürüklenen tutamacın üzerinde değeri gösteren bir ipucunu çizer; raya tıklamak en yakın tutamacı oraya taşır. Tutamaçlar asla kesişmez, Step değerleri yakalar ve MinRange asgari bir boşluğu korur; böylece filtre kazara boş kalamaz. Değerler ve etiketler, ondalık ve binlik ayırıcılar dahil denetimin yerel ayarını izler.

  • Value ve EndValue ile RangeMode
  • Min, Max, Step ve MinRange
  • TickInterval, ShowLabels, ShowValueTip
  • Para birimleri için LabelFormat veya OnFormatLabel

Community: tek tutamaç çizilir ve düzenlenir; EndValue saklanır ancak gösterilmez.

Yardım konusunu okuyun
Otomatik tamamlamalı etiketler ve çipler

Denetimler Yalnızca Kayıtlı

Otomatik tamamlamalı etiketler ve çipler

Etiketler, alıcılar ve beceriler tek satırlık metin değil, listelerdir. Token düzenleyici her girdiyi kaldırma düğmeli bir çip olarak çizer, çipleri alt satıra sarar ve sığmadıklarında kaydırır. Bir ayırıcı, Enter, Tab veya odak kaybı yazılan metni çipe dönüştürür ve a, b, c yapıştırmak üç çip oluşturur. OnValidateToken her girdiyi normalleştirir veya reddeder; AllowDuplicates, CaseSensitive ve MaxTokens kuralları belirler. Registered yapılarında bir otomatik tamamlama listesi kullanıcı yazarken girdiler önerir. AddToken, RemoveToken ve Clear, bir kaydı yüklerken veya kaydederken listeyi koddan değiştirir.

  • Tokens çipleri tutar; Delimiters birini sonlandırır
  • OnValidateToken ve InvalidTokens her girdiyi denetler
  • Öneriler için AutoCompleteItems ve AutoCompleteMinChars
  • OnTokenAdded ve OnTokenRemoved değişiklikleri bildirir

Community: çipler, doğrulama ve sınırlar çalışır; otomatik tamamlama listesi hiç açılmaz.

Yardım konusunu okuyun

Denetimler Yalnızca Kayıtlı

Alfa dahil istediğiniz rengi seçin

Tema düzenleyicileri, grafik ayarları ve etiket tasarımcıları sabit bir paletten fazlasına ihtiyaç duyar. Renk seçici bir örnek rengi ızgarası, bir doygunluk ve değer karesi, bir ton çubuğu, bir alfa çubuğu ve bir önizleme ile onaltılık düzenleyici içeren bir satırı üst üste dizer; Parts hangilerinin görüneceğini seçer. Onaltılık düzenleyici #RGB, #RGBA, #RRGGBB ve #RRGGBBAA kabul eder. Seçici tonu renkten ayrı tutar, bu yüzden gri kendi tonunu korur ve kare kullanıcı sürüklerken asla zıplamaz. Marka paletinizi örnek renkler olarak tanımlayın, kullanıcılar yine de tam seçiciye tek tık uzaklıktadır.

  • ecpSwatches, ecpHSV, ecpAlpha, ecpHex ile Parts
  • Paletiniz için Swatches ve SwatchColumns
  • ARGB değeri olarak SelectedColor
  • Kullanıcı fareyi bıraktığında OnChangeComplete

Community: yalnızca örnek renkler ve onaltılık; HSV karesi ve alfa çubuğu çizilmez ve alfa her zaman $FF'dir.

Yardım konusunu okuyun

Denetimler

Aynı tarzda düğmeler, arama ve notlar

Birçok alanın metnin yanında bir düğmeye ihtiyacı vardır: bir dosyaya göz atmak, bir iletişim kutusu açmak, değeri temizlemek. Düğmeli düzenleyici, yerel bir düzenleyicinin iki yanına göz at, açılır liste, arama, temizle, artı, eksi, metin veya sahibi çizen düğmeler koyar; her birinin kendi kısayolu vardır, ekran okuyucular her düğmeyi adıyla listeler ve basabilir. Arama düzenleyicisi, yazmada bir duraklamadan sonra veya Enter ile hemen OnSearch olayını tetikler ve önceki aramaları açılır bir geçmişte yeniden sunar. Memo, yer tutuculu, isteğe bağlı sınırı olan bir karakter sayacına sahip ve yüksekliği MinLines ile MaxLines arasında satırları izleyen, temalı çok satırlı bir düzenleyicidir.

  • Buttons ve OnButtonClick ile TsgcVCLButtonEdit
  • SearchDelay, History ve OnSearch ile TsgcVCLSearchEdit
  • ShowCounter, MaxLength, AutoHeight ile TsgcVCLMemo
Yardım konusunu okuyun

Denetimler

.NET ile paylaşabileceğiniz maskeli ve para birimi girişi

Telefon numaraları, posta kodları, hesap numaraları ve fiyatlar sabit bir biçim gerektirir. Maskeli düzenleyici, Delphi EditMask söz diziminde veya .NET MaskedTextBox söz diziminde bir giriş maskesi alır; böylece tek bir maske Delphi ve .NET uygulamasında aynı davranır: sabit karakterler yerinde kalır, her konum yalnızca kendi karakter türünü kabul eder ve Text değeri sabit karakterlerle veya onlarsız döndürür. Para birimi düzenleyicisi, kayan noktasız, tam bir Currency değeri saklar (.NET'te decimal). Odakta değilken yerel ayarın tam para birimi biçimini, kullanıcı yazarken ise sembollü veya ISO kodlu gruplanmış bir sayıyı gösterir. MinValue, MaxValue ve AllowNegative tutarı aralıkta tutar.

  • EditMask ve MaskSyntax: emxDelphi veya emxDotNet
  • IsComplete, EditText ve SaveLiterals
  • Value, Decimals, CurrencyCode, SymbolMode
  • PositivePattern ve NegativePattern
Yardım konusunu okuyun

Denetimler

Çok sütunlu bir listeden satır seçin

Müşteriler, ürünler ve ülkeler adıyla seçilir ancak anahtarıyla saklanır. Lookup düzenleyicisi, isteğe bağlı bir başlık satırı olan çok sütunlu bir açılır liste açar ve kullanıcı yazdıkça süzer. Düzenleyici görüntü sütununu gösterir, KeyValue ise anahtarı tutar; örneğin bir ülke adının arkasındaki ülke kodu gibi. Satırlar Items'tan gelir (her satır bir satırdır, hücreler | ile ayrılır) veya bir sunucuda arama için OnGetItems'tan gelir; hiçbir satırla eşleşmeyen bir metne ne olacağına OnNotInList karar verir. .NET'te satırlar WinForms, WPF ve Avalonia'da ItemsSource, DisplayMember ve ValueMember ile herhangi bir koleksiyondan da gelebilir.

  • Title, Width ve Alignment ile Columns
  • KeyColumn, DisplayColumn ve KeyValue
  • ShowHeader, MatchMode, DropDownRows
  • .NET: her sürümde ItemsSource, SelectedValue
Yardım konusunu okuyun

Denetimler

Ayarlar ve seçenekler için bir açma kapama anahtarı

Ayar sayfaları ve seçenek panelleri özellikleri açar ve kapatır. Açma kapama anahtarı, onay kutusunun modern biçimidir: yeni duruma kayan yuvarlak bir tutamacı olan yuvarlatılmış bir iz, her iki yanda isteğe bağlı bir başlık ve isterseniz izin içinde Açık ve Kapalı metni. Özel olarak çizilir, açıkken temanın vurgu rengini alır ve DPI ile ölçeklenir. Kullanıcının yaptığı bir değişiklik önce OnChanging içinden geçer, böylece formunuzun bir kuralı onu reddedebilir, OnChange ise kullanıcı ya da kod tarafından yapılan her değişiklikten sonra çalışır.

  • TsgcVCLToggleSwitch ve TsgcFMXToggleSwitch, .NET'te ise TsgcWinFormsToggleSwitch, TsgcWpfToggleSwitch ve TsgcAvaloniaToggleSwitch
  • Checked, Caption, CaptionPosition, OnText ve OffText ile ShowText, ReadOnly ve Animated
  • TrackOnColor, TrackOffColor ve ThumbColor ya da temanın renkleri, ayrıca izin boyutu için SwitchWidth ve SwitchHeight
  • OnChanging, Allow ile kullanıcının yaptığı bir değişikliği iptal eder, OnChange her değişiklikten sonra tetiklenir ve Toggle durumu kullanıcının yapacağı gibi değiştirir
  • Tıklama, tutamacı sürükleme, Boşluk, Sol ve Sağ, sağdan sola formlar ve ekran okuyucular için Toggle desenli bir onay kutusu
  • WPF ve Avalonia'da Checked varsayılan olarak iki yönlü bağlanır, WinForms'ta ise veri bağlama için CheckedChanged olayını tetikler

Açma kapama anahtarı Community dahil her sürümde bulunur.

Yardım konusunu okuyun

Denetimler

IPv4 ve IPv6 için bir IP adresi düzenleyici

Ağ ayarları, cihaz kurulumu ve güvenlik duvarı kuralları adres ister. IPv4'te IP adresi düzenleyici, nokta ayırıcılı dört sekizli alan gösterir ve kullanıcı yazdıkça bir sonraki alana geçer. Böylece bir adres sıradan bir edit kadar hızlı girilir ve her zaman düzgün biçimlidir: 255'in üstündeki bir değer sınırlanır ve odak ayrıldığında boş alanlar 0 olur. IPv6'da onaltılık rakamları, iki noktayı ve noktayı kabul eden tek bir metin alanıdır; metni doğrular ve odak ayrıldığında RFC 5952 kanonik biçiminde yazar, böylece 2001:DB8:0:0:0:0:2:1, 2001:db8::2:1 olur.

  • TsgcVCLIPAddressEdit ve TsgcFMXIPAddressEdit, .NET'te ise TsgcWinFormsIPAddressEdit, TsgcWpfIPAddressEdit ve TsgcAvaloniaIPAddressEdit
  • Mode IPv4 veya IPv6 seçer, Address değerdir ve Octets bir IPv4 adresinin tek bir alanını okur veya ayarlar
  • IsValid adresin tam olup olmadığını bildirir ve Required ile boş veya eksik bir adres temanın hata çerçevesini gösterir
  • Bir nokta veya üçüncü bir rakam sonraki alana geçer, bir alanın başındaki Backspace geri gider, Sol ve Sağ alan sınırlarını aşar ve yapıştırılan bir adres tüm alanları doldurur
  • OnChange her değişiklikten sonra tetiklenir, Clear adresi boşaltır ve ekran okuyucular Value desenli bir edit görür
  • WPF ve Avalonia'da Address varsayılan olarak iki yönlü bağlanır, WinForms'ta ise veri bağlama için AddressChanged olayını tetikler

IP adresi düzenleyici Community dahil her sürümde bulunur.

Yardım konusunu okuyun

Denetimler

Süreler için bir zaman aralığı düzenleyici

Bir zaman aşımı, bir aralık veya bir çalışma süresi bir günün saati değil, bir süredir. Zaman aralığı düzenleyici onu gün, saat, dakika, saniye ve milisaniye bölümleri olarak gösterir ve kullanıcı bir seferde bir bölümü yazarak, ok tuşlarıyla, fare tekerleğiyle veya döndürme düğmeleriyle düzenler. Bir adım sonraki bölüme taşar, yani 59 saniye artı bir, bir dakikadır ve gösterilen en yüksek bölümün üst sınırı yoktur, dolayısıyla gün olmadan 50 saat 50:00:00 olarak görünür.

  • TsgcVCLTimeSpanEdit ve TsgcFMXTimeSpanEdit, .NET'te ise TsgcWinFormsTimeSpanEdit, TsgcWpfTimeSpanEdit ve TsgcAvaloniaTimeSpanEdit
  • Value Delphi'de milisaniye, .NET'te TimeSpan olarak tutulur ve Days, Hours, Minutes, Seconds ve Milliseconds bölümlerini sunar
  • Segments gösterilen bölümleri seçer, DisplayFormat değeri saat biçiminde, 1.02:30:05.250, veya birimlerle, 1d 2h 30m 5s 250ms, yazar
  • MinValue ve MaxValue değeri sınırlar, AllowNegative baştaki eksi işaretini kabul eder, Increment ve ShowButtons adımı ve döndürme düğmelerini ayarlar
  • Yukarı ve Aşağı odaktaki bölümü değiştirir, PageUp ve PageDown on adım değiştirir, Sol, Sağ ve Tab bölümler arasında geçer ve ekran okuyucular saniye cinsinden RangeValue desenli bir döndürme denetimi görür
  • WPF ve Avalonia'da Value varsayılan olarak iki yönlü bağlanır, WinForms'ta ise veri bağlama için ValueChanged olayını tetikler

Zaman aralığı düzenleyici Community dahil her sürümde bulunur.

Yardım konusunu okuyun

Denetimler

Her ailenin önizlemesini gösteren bir yazı tipi seçici

Rapor tasarımcıları, etiket düzenleyicileri ve ayar sayfaları kullanıcıya bir yazı tipi seçtirir. Yazı tipi seçici, açılır listesi her yazı tipi ailesini kendi yüzüyle çizen, açılır düğmeli bir edittir. Yazmak aileleri süzer, en son seçilenler bir ayırıcının üstünde ilk sırada listelenir ve bir süzgeç, bir kod düzenleyici veya bir terminal için yalnızca sabit aralıklı aileleri bırakır. Liste, uygulama onu doldurana kadar platformdan gelir.

  • TsgcVCLFontPicker ve TsgcFMXFontPicker, .NET'te ise TsgcWinFormsFontPicker, TsgcWpfFontPicker ve TsgcAvaloniaFontPicker
  • FontName değerdir, Fonts aile listesidir ve RefreshFonts bir yazı tipi yüklendikten sonra listeyi yeniden yükler
  • ShowPreview her adı kendi yüzüyle çizer, PreviewText ise addan sonra örnek bir metin ekler
  • RecentCount ve RecentFonts en son seçilen aileleri tutar, uygulama onları kaydedip yeniden yükleyebilir
  • FontFilter sabit aralıklı aileleri bırakır, Alt+Aşağı listeyi açar, Enter veya bir tıklama bir aile seçer ve Escape listeyi kapatır
  • Delphi yazı tipi seçici önizleme yüzlerini Windows'ta, VCL ve FireMonkey'de çizer; diğer FireMonkey platformlarında adlar tema yazı tipiyle listelenir
  • WPF ve Avalonia'da FontName varsayılan olarak iki yönlü bağlanır

Yazı tipi seçici Community dahil her sürümde bulunur.

Yardım konusunu okuyun

Denetimler

Uzun seçenek listeleri için bir onay kutulu liste

Bir gridin sütunları, bir raporun süzgeçleri veya bir lisansın modülleri uzun seçenek listeleridir. Onay kutulu liste, her satırında işaretsiz, işaretli veya gri bir onay kutusu bulunan ve her öğe için bir etkin bayrağı olan kaydırılabilir bir listedir. İsteğe bağlı Tümünü seç başlık satırı etkin tüm öğeleri işaretler veya işaretini kaldırır, isteğe bağlı bir süzgeç kutusu ise yazılan metni içermeyen satırları durumlarını değiştirmeden gizler. Yalnızca görünürdeki satırlar çizilir, bu yüzden 10000 öğelik bir liste hızlı kalır.

  • TsgcVCLCheckListBox ve TsgcFMXCheckListBox, .NET'te ise TsgcWinFormsCheckListBox, TsgcWpfCheckListBox ve TsgcAvaloniaCheckListBox
  • Öğe başına Checked, State ve ItemEnabled içeren Items ve üçüncü durum için AllowGrayed
  • ShowCheckAll üç durumlu Tümünü seç satırını, ShowFilter süzgeç kutusunu gösterir
  • CheckAll, UncheckAll ve CheckedCount, ayrıca kullanıcının yaptığı bir değişiklik için OnChange öncesinde OnClickCheck
  • Boşluk odaktaki satırı değiştirir, Ctrl+A her öğeyi işaretler, bir harf o harfle başlayan sonraki öğeye atlar ve ekran okuyucular Toggle desenli liste öğeleri görür
  • .NET'te CheckedItems ve CheckedIndices bağlama için salt okunur listelerdir ve ItemCheck olayı Change olayından önce gelir

Onay kutulu liste Community dahil her sürümde bulunur.

Yardım konusunu okuyun

Denetimler

Öğeleri seçmek ve sıralamak için bir çift liste kutusu

Bir raporun sütunlarını, bir grubun üyelerini veya bir sürecin adımlarını seçmek, öğeleri bir listeden diğerine taşımak demektir. Çift liste kutusu solda Kullanılabilir listesini, sağda Seçilen listesini çizer; aralarındaki düğmeler seçili satırları veya tüm satırları taşır, dış yandaki Yukarı ve Aşağı düğmeleri ise Seçilen listesini yeniden sıralar. Bir çift tıklama veya sürükleme bir öğeyi diğer listeye taşır, Seçilen listesi içinde sürükleme ise onu yeniden sıralar.

  • TsgcVCLDualListBox ve TsgcFMXDualListBox, .NET'te ise TsgcWinFormsDualListBox, TsgcWpfDualListBox ve TsgcAvaloniaDualListBox
  • AvailableItems ve SelectedItems, AvailableCaption ve SelectedCaption, ShowCaptions ve ShowReorderButtons
  • SortAvailable geri taşınan öğeleri sıraya göre ekler, ShowFilter her listenin üstüne bir süzgeç kutusu ekler ve ReadOnly seçimi korur, taşımaları reddeder
  • MoveToSelected, MoveAllToSelected, MoveToAvailable, MoveAllToAvailable, MoveUp ve MoveDown düğmelerin yaptığını yapar
  • OnMoving bir öğeyi bulunduğu yerde tutabilir ve OnChange işlem başına bir kez tetiklenir
  • Tıklama, Ctrl+tıklama, Shift+tıklama ve Ctrl+A seçer, Tab bir listeden diğerine geçer, Ctrl+Sağ ve Ctrl+Sol taşır, Ctrl+Yukarı ve Ctrl+Aşağı yeniden sıralar ve görünüm sağdan sola formlarda aynalanır
  • WPF ve Avalonia'da SelectedItems varsayılan olarak iki yönlü bağlanır, WinForms'ta ise veri bağlama için SelectedItemsChanged olayını tetikler

Çift liste kutusu Community dahil her sürümde bulunur.

Yardım konusunu okuyun

Yazma, dil ve veri

Klavye kullanıcıları için hızlı giriş, kaydetmeden önce her alanın denetimi, her kullanıcı için doğru dil ve veri kümelerinize doğrudan bağlantı.

Yazma, dil ve veri

Yalnızca tıklama değil, gerçek yazma

Veri giriş personeli tarih yazar, takvimlerde tıklamaz. sgcEditors'ın her metin alanı platformun gerçek bir düzenleme denetimidir; bu yüzden Japonca, Çince ve Korece için IME birleştirme, pano, geri alma, bağlam menüsü ve ekran okuyucuların hepsi çalışır. Ayrıştırma esnektir: eğik çizgiler, kısa çizgiler, noktalar, iki noktalar, virgüller veya boşluklar alanları ayırır, yerel ayarın ay ve gün adları anlaşılır ve iki basamaklı yıllar eksenlenir. Yukarı ve Aşağı imlecin altındaki bölümü döndürür, okunamayan metin OnParseError tetikler.

  • d, m, y, h, n, s bölümleriyle DisplayFormat
  • Alışılmadık girdiyi kabul etmek veya reddetmek için OnParseError
  • İsteğe bağlı alanlar için AllowEmpty ve TextHint
  • Spin düzenleyici ondalık ayırıcı olarak hem . hem , kabul eder
Yardım konusunu okuyun

Yazma, dil ve veri

Dokunmatik paneller için bir NumPad

Üretim sahasındaki bir dokunmatik panelde klavye yoktur ve sistemin klavyesi ekranın yarısını kaplar. NumPad, bir parmağa veya eldivene yetecek büyüklükte tuşlarla bir sayı yazar. Forma yerleşik bir pad bırakın, odaktaki denetime yazar; ya da bir denetime açılır bir pad bağlayın, denetime dokunmak padi altında açar. Hedefte değişiklik gerekmez: pad aralığını ve ondalık sayısını okur ve değeri bir kullanıcı değişikliği olarak yazar, böylece hedefin yuvarlaması, sınırları ve OnChange olayı kullanıcı yazmış gibi çalışır.

  • Yerleşik olarak TsgcVCLNumPad ve açılır olarak TsgcVCLNumPadPopup, FireMonkey için ve .NET'te de
  • Spin düzenleyiciye, para birimi düzenleyicisine, standart bir düzenleme alanına ve sgcGauges'ın düğme ile kaydırıcı göstergelerine yazar
  • Associate hedefi seçer, ya da pad odaktaki denetimi izler
  • Yazılan sayıyı gösteren bir ekran ve Min 0 Max 120 gibi bir sınır satırı

NumPad, Community dahil her sürümde bulunur. Operatör ekranları için sgcUI HMI Paketi'nin parçasıdır.

Yardım konusunu okuyun

Yazma, dil ve veri

Kiosklar ve dokunmatik ekranlar için ekran klavyesi

Bir kiosk, self servis terminal veya operatör paneli sayıların yanı sıra adlara, kodlara ve notlara da ihtiyaç duyar. Ekran klavyesi, NumPad ile aynı giriş yolu üzerine kurulu tam bir klavyedir. Forma yerleşik olarak bırakın, odaktaki denetime yazar; ya da bir düzenleme alanı odak aldığında onun altında açılan bir açılır klavye bağlayın. Klavye hiçbir zaman odağı almaz, bu nedenle hedefin imleci ve seçimi yerinde kalır; standart bir düzenleme alanı, bir memo ve sgcEditors denetimleri için değişiklik gerekmez.

  • Yerleşik olarak TsgcVCLKeyboard ve açılır olarak TsgcVCLKeyboardPopup, FireMonkey için ve .NET'te WinForms, WPF ve Avalonia için de
  • Associate hedefi seçer ya da klavye odağı izler. AutoPopup, AutoPopupAll, PopupPosition ve CloseOnEnter açılır klavyeyi denetler
  • Harf, simge ve sayı sayfaları; Shift, Caps Lock, AltGr ve vurgulu harfler için ölü tuşlar
  • On yerleşik düzen (en-US, en-GB, es-ES, fr-FR, de-DE, it-IT, pt-BR, nl-NL, pl-PL, tr-TR), sgcKeyboardRegisterLayout ile kendi düzenleriniz ve Layouts listesinde dolaşan bir düzen tuşu
  • OnKeyText metni yazılmadan önce değiştirir veya iptal eder, OnEnterKey ise Enter'dan sonra çalışır
  • Temalar, sağdan sola formlar ve ekran okuyucuların seslendirdiği tuşlar

Ekran klavyesi, Community dahil her sürümde bulunur. Operatör ekranları ve kiosklar için sgcUI HMI Paketi'nin parçasıdır.

Yardım konusunu okuyun
Her denetim kullanıcının dilini konuşur

Yazma, dil ve veri

Her denetim kullanıcının dilini konuşur

Uluslararası ekipler ve çok dilli ürünler her kullanıcı için doğal okunan tarihlere ihtiyaç duyar. Her denetimin kullanıcı yerel ayarından doldurulan ve çalışma zamanında değiştirilebilen kendi FormatSettings değeri vardır, bu yüzden bir formdaki iki denetim iki ayrı yerel ayar bile kullanabilir. Takvim ve seçiciler gün ve ay adlarını, tarih ve saat biçimlerini, AM ve PM dizelerini ve ayırıcıları buradan alır. FirstDayOfWeek ve WeekNumbering yerel ayarı veya seçiminizi izler, sayılar da doğru ondalık ve binlik ayırıcıları kullanır. Birimler, ipuçları ve erişilebilir adlar sizin kendi özellikleriniz olarak kalır, böylece formun geri kalanıyla birlikte çevirirsiniz.

  • Denetim başına FormatSettings
  • FirstDayOfWeek: efdLocale veya zorunlu efdMonday
  • WeekNumbering: varsayılan olarak ewnISO8601
  • Arayüzsüz modeller için TsgcEditorLocale
  • Arapça ve İbranice için sağdan sola: artır/azalt, açılır liste ve temizle düğmeleri diğer tarafa geçer, kaydırıcılar, derecelendirmeler ve takvim sağdan akar, düzenleme alanı sağdan sola okunur
Yardım konusunu okuyun
Formlarınız için veriye duyarlı sürümler

Yazma, dil ve veri Yalnızca Kayıtlı

Formlarınız için veriye duyarlı sürümler

Çoğu Delphi iş formu bir TDataSet üzerinde durur ve her düzenleyiciyi elle bağlamak yineleyicidir. On veriye duyarlı denetim DataSource ve DataField ile doğrudan bir alana bağlanır: bir tarih seçici, bir saat seçici, bir spin düzenleyici, bir derecelendirme, ikinci tutamacı EndDataField'a bağlanan bir aralık kaydırıcı, bir düğmeli düzenleyici, alanının EditMask'ını alan bir maskeli düzenleyici, bir para birimi düzenleyicisi, bir memo ve çok sütunlu listesini ikinci bir veri kümesinden ListSource, KeyField ve ListField ile dolduran, TDBLookupComboBox gibi bir lookup düzenleyicisi. AllowEmpty açıkken boş alanlar boş görünür ve zorunlu bir alan boş değeri doğrulayıcıya bildirir. Yalnızca DB birimini kullanan TsgcEditorFieldLink üzerinden bağlanırlar, bu yüzden FireMonkey sürümleri LiveBindings gerektirmez. .NET'te WinForms düzenleyicileri bir alanı DataSource, DataMember ve DataField ile bir BindingSource, bir DataTable, bir DataView veya bir List üzerinden bağlar, WPF ve Avalonia değer özellikleri ise iki yönlü bağlanır. Bunları mevcut bir forma bırakın; zaten sahip olduğunuz veri kümesi mantığı değişmeden çalışmaya devam eder.

  • TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit
  • TsgcVCLDBRating ve TsgcVCLDBRangeSlider
  • TsgcVCLDBButtonEdit, TsgcVCLDBMaskEdit, TsgcVCLDBCurrencyEdit, TsgcVCLDBMemo, TsgcVCLDBLookupEdit
  • DataSource, DataField, EndDataField; lookup listeleri ListSource, KeyField, ListField ile
  • WinForms: DataSource, DataMember, DataField; WPF ve Avalonia: değer özellikleri iki yönlü bağlanır

.NET Community paketlerinde WinForms düzenleyicilerinde DataSource, DataMember ve DataField yoktur; WPF ve Avalonia bağlaması ile lookup ItemsSource'u her iki sürümde de çalışır.

Yardım konusunu okuyun

Yazma, dil ve veri

Kaydetmeden önce formun tamamını denetleyin

Bir form, ancak her alan doğru olduğunda tamamdır. sgcUICore doğrulayıcısı bir formun denetimlerini kurallara göre denetler: zorunlu, aralık, uzunluk, düzenli ifade, e-posta, başka bir alanla karşılaştırma ve kendi kodunuz. Denetimleri Smart Paste gibi bulur, bu yüzden VCL, FireMonkey, WinForms, WPF ve Avalonia'da sgcEditors denetimlerini ve standart düzenleyicileri, memoları, açılır kutuları, onay kutularını ve seçicileri aynı şekilde denetler. Maskeli düzenleyici eksik bir değeri, lookup düzenleyicisi listede olmayan bir metni hiçbir kural olmadan bildirir. Hatalar temanın hata renginde bir çerçeve, iletisi ipucu olan bir simge ve isteğe bağlı bir özet listesi olarak görünür, ekran okuyucular iletiyi alanla birlikte seslendirir. .NET'te doğrulayıcı veri katmanınızın hatalarını da gösterir: WinForms ve WPF'de IDataErrorInfo ve INotifyDataErrorInfo, Avalonia'da veri doğrulama hataları.

  • TsgcVCLValidator, TsgcFMXValidator, TsgcWinFormsValidator, TsgcWpfValidator, TsgcAvaloniaValidator
  • uvrRequired, uvrRange, uvrLength, uvrRegex, uvrEmail, uvrCompare, uvrCustom kuralları
  • Trigger: varsayılan uvtExit, ayrıca uvtChange veya uvtManual; kaydetmeden önce Validate
  • TsgcVCLValidationSummary hataları listeler ve tıklamada alana odaklanır

Community dahil her sürümde. Düzenli ifadeler Delphi 7 ile 13'te ve .NET'te aynı metinleri eşleştirir.

Yardım konusunu okuyun

Yazma, dil ve veri

Bir formu düzenleyin ya da verilerinizden üretin

Yerleşim denetimi bir formun denetimlerini, sgcEditors ve standart olmak üzere, gruplar, sekmeli gruplar ve sütunlar halinde düzenler; başlıklar tek bir genişliğe hizalanır, kullanıcı bölücüleri sürükleyebilir ve düzenler sağdan sola olabilir, SaveLayout ise yerleşimi JSON olarak saklar. Veri formu bunun üzerine kuruludur. Onu bir TDataSet'e yöneltin ya da kendi sınıfınızdan bir nesneye bağlayın; alan başına bir sgcEditors denetimi, her alanın doğrulama kuralları, hataların bir özeti ve kayıtlara göz atmak, kayıt eklemek, düzenlemek, silmek ve kaydetmek için bir gezgin oluşturur. Smart Paste, bir e-posta imzası veya bir adres bloğu gibi yapıştırılan bir metinle tüm kaydı doldurur ve doldurduğu alanları işaretler. .NET'te WinForms, WPF ve Avalonia veri formları bir DataTable, bir liste veya bir nesne alır.

  • TsgcVCLLayoutControl, TsgcFMXLayoutControl; SaveLayout ve LoadLayout
  • TsgcVCLDataForm, TsgcFMXDataForm, TsgcWinFormsDataForm, TsgcWpfDataForm, TsgcAvaloniaDataForm
  • Fields: her alanın başlığı, türü, zorunluluğu, sınırları, grubu, sekmesi ve sırası; bir sınıf için BindObject
  • SmartPasteFromClipboard, SmartPasteUndo ve gezginde bir Smart Paste düğmesi

Yerleşim denetimi Community dahil her sürümde bulunur; Delphi Community'de sgcEditors için tasarım zamanı paketi yoktur, bu yüzden orada kodla oluşturulur. Veri formu, doğrulama kuralları ve Smart Paste yalnızca Kayıtlı sürümdedir.

Yardım konusunu okuyun

Klavye, DPI ve temalar

İncelemecilerin denetlediği ayrıntılar: fare gerekmez, her monitörde net ve uygulamanızla eşleşen bir görünüm.

Her monitörde net

Klavye, DPI ve temalar

Her monitörde net

150 yüzde ölçekli dizüstü bilgisayarların yüzde 100'lük harici monitörlerin yanında kullanılması artık normal ve bulanık girişler ucuz görünür. sgcEditors her denetimi 96 DPI'da mantıksal piksellerle yerleştirir ve ekranın ölçeğinde çizer; kodunuzda yapılacak bir şey yoktur. Bir VCL formu başka bir DPI'lı monitöre taşındığında iç düzenleyici ve yazı tipi denetimle birlikte ölçeklenir ve açılır pencere, açıldığı monitörün DPI'ında çizilir. FireMonkey rasterleri Retina ve Android için sahnenin ölçeğini izler.

  • Yerleşim mantıksal piksellerle, ekran ölçeğinde çizim
  • İç düzenleyiciler WM_DPICHANGED ile yeniden ölçeklenir
  • Açılır pencereler kendi monitörlerinin DPI'ını kullanır
  • SaveToPNG net resimler için bir ölçek alır
Yardım konusunu okuyun
Klavye ve ekran okuyucu dostu

Klavye, DPI ve temalar

Klavye ve ekran okuyucu dostu

sgcEditors'ın hiçbir işlevi fare gerektirmez. Çizilen denetimler odağı kendileri alır, metin denetimleri onu iç düzenleyicilerine iletir ve odaklı denetim vurgu renginde 2 piksellik bir odak halkası çizer. Takvimde oklar bir gün veya bir hafta ilerler ve devre dışı günleri atlar, PageUp ve PageDown bir ay ilerler, Shift bir aralığı genişletir. Seçicilerde F4 veya Alt+Aşağı açılır pencereyi açar ve Escape değeri geri yükler. Spin düzenleyici Yukarı, Aşağı, PageUp ve PageDown ile adım atar.

  • F4 veya Alt+Aşağı her açılır pencereyi açar
  • Ctrl+Yukarı takvimi yıllara ve on yıllara uzaklaştırır
  • Spin düzenleyici için Increment ve LargeIncrement
  • Yerel düzenleyiciler ekran okuyucuların çalışmasını sürdürür
Yardım konusunu okuyun
Tek özellikle açık ve koyu

Klavye, DPI ve temalar

Tek özellikle açık ve koyu

Her giriş aynı temayı izlediğinde formlar tamamlanmış görünür. Her denetimin bir Theme, bir AccentColor ve bir TextStyle değeri vardır; çerçeve, üzerine gelme, basılı durum, seçim ve devre dışı durum renkleri bunlardan türetilir, bu yüzden tek bir özellik tüm görünümü değiştirir. Token'lar her sgcUI ürününün kullandığıdır; bu nedenle bir sgcDashboard kutucuğuna veya bir sgcToolbar altına yerleştirilen düzenleyiciler ek çalışma olmadan uyum sağlar. Devre dışı bir denetim kendiliğinden arka plana karışır. Temayı çalışma zamanında değiştirin, her düzenleyici yeniden çizilir; bir koyu mod ayarı için hazırdır.

  • Theme: utDefault (varsayılan, uygulama temasını izler), utLight veya utDark
  • Seçim, tutamaçlar, dolgu ve odak halkası için AccentColor
  • Boyut, kalın ve renk için TextStyle
  • Tüm sgcUI paketiyle aynı tema token'ları
Yardım konusunu okuyun

sgcEditors iş başında

sgcUI paket demolarında sgcEditors: yerleşik simüle verilerle çevrimdışı çalışan eksiksiz uygulamalar.

sgcEditors ile Kimler Geliştirme Yapıyor

Rezervasyon formları

Bir rezervasyon formu kapalı günlere saygı duyan bir konaklama aralığına, bir misafir sayısına, bir varış saatine ve belki son ziyaretin bir derecelendirmesine ihtiyaç duyar. Ay takvimi MinDate, MaxRangeDays ve devre dışı günleri uygular, spin düzenleyici misafirleri sayar, saat seçici yazılan saatleri kabul eder ve derecelendirme geri bildirimi toplar; hepsi tek temada. BookingForm demosu, canlı bir özetle yedi düzenleyiciden bir otel rezervasyonu kurar.

  • Takvim aralıkları
  • Spin düzenleyici
  • Derecelendirme
BookingForm demosunu çalıştırın

TDataSet üzerinde veri girişi

İş uygulamaları gün boyu kayıt düzenler. On veriye duyarlı düzenleyici bir TDataSet alanına DataSource ve DataField ile bağlanır, aralık kaydırıcı iki ucu da bağlar ve boş alanlar boş görünür. Gerçek klavye girişi ve esnek ayrıştırmayla birleşince operatörler değerleri hızlı yazar ve veri kümesi temiz veri alır. DataAware demosu, on düzenleyiciyi bir TClientDataSet üzerinde, bir TDBGrid ve bir TDBNavigator'ın yanına yerleştirir.

  • Veriye duyarlı düzenleyiciler
  • Metin girişi
  • Klavye
DataAware demosunu çalıştırın

Uluslararası planlama uygulamaları

Birkaç ülkede kullanılan planlama araçları her kullanıcıya doğru hafta başlangıcını, hafta numaralarını ve ay adlarını göstermelidir. Her denetim kendi FormatSettings değerini taşır, bu yüzden bir form Almanca bir takvimi İngilizce olanın yanında gösterebilir; FirstDayOfWeek ve WeekNumbering yerel ayarı veya kuralınızı izler. Calendar demosu, 14 günle sınırlı bir aralıkla İngilizce, Almanca, İspanyolca, Fransızca ve İtalyanca arasında geçiş yapar.

  • Yerelleştirme
  • Hafta numaraları
  • Devre dışı günler
Calendar demosunu çalıştırın

Birkaç Satırda Bir Geri Bildirim Formu

Delphi, C++ Builder ve C#'ta aynı API: bir derecelendirme, bir aralık kaydırıcı ve bir token düzenleyici; hepsi OnChange üzerinden bildirir.

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

Bir sipariş formunu doğrulama

sgcUICore doğrulayıcısının denetlediği bir lookup düzenleyicisi, bir maskeli düzenleyici ve bir para birimi düzenleyicisi. Kullanıcı kaydederken Validate çağırın: her hatayı gösterir ve ilk geçersiz alana odaklanır.

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();

Bir veri kümesinden müşteri formu üretin

Açık bir veri kümesindeki bir TsgcVCLDataForm düzenleyicileri, doğrulama kurallarını ve gezgini oluşturur. Bir alanın türünü ve grubunu belirleyin, yeniden oluşturun; gezginin Smart Paste düğmesi kaydı panodan doldurur.

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;

sgcEditors Demolarını Çalıştırın

Gallery, Calendar, BookingForm, Validation ve DataAware VCL ve C++ Builder için gelir, ayrıca FireMonkey için GalleryFMX ve ValidationFMX; .NET sürümünde WinForms, WPF ve Avalonia için Gallery ve Validation, ayrıca BookingForm, BindingWpf ve DataAwareWinForms bulunur.

Calendar

Calendar

14 güne kadar bir aralık, hafta numaraları, devre dışı hafta sonları ve tatiller, ayrıca İngilizce, Almanca, İspanyolca, Fransızca ve İtalyanca arasında yerel ayar anahtarı.

BookingForm

Konaklamanın, misafirlerin ve varış saatinin canlı özeti, bir ülke lookup'ı, maskeli bir telefon numarası ve rezervasyondan önce misafir alanlarını denetleyen bir doğrulayıcı içeren otel rezervasyonu. Denetimlerin gerçek bir formda birlikte nasıl çalıştığını gösterir.

DataAware

Yalnızca Kayıtlı DataAware

Bir TDBGrid ve bir TDBNavigator ile bir TClientDataSet üzerinde on veriye duyarlı düzenleyici; ikinci bir veri kümesinden doldurulan bir lookup düzenleyicisi ve zorunlu alanlar için bir doğrulayıcı ile. Veriye duyarlı denetimler Kayıtlı veya Deneme sürümü gerektirir.

GalleryFMX

Windows ve Android için FireMonkey düzenleyicileriyle oluşturulmuş galeri; VCL denetimleriyle aynı özellikler ve olaylar.

Doğrulama

Standart ve sgcEditors denetimlerinde her kural türü, üç tetikleyici, çerçeve ve simge gösterimi ve özet listesi. ValidationFMX aynısını FireMonkey'de yapar; .NET sürümünde Validation, ValidationWpf ve ValidationAvalonia bulunur.

Derlenmiş demolar

Her sgcUI ürününün çalıştırmaya hazır yürütülebilir dosyaları, kurulum gerektirmez.

sgcUI_bin.zip dosyasını indirin →

Getting Started kılavuzu

Delphi (VCL) için beş QuickStart demosu Demos\Editors\Delphi\00.QuickStart klasöründe yer alır. PDF kılavuzu bunları adım adım anlatır: bir form üzerindeki ilk düzenleyiciler, değerleri okuma ve yazma, temalar, doğrulama ve bir veri formu üzerine kurulu bir kişiler uygulaması.

Kılavuzu indirin (PDF, İngilizce) →

sgcEditors Hangi Sürümlerde Yer Alıyor

sgcEditors her sgcUI sürümünde bulunur ve ayrıca tek başına da satılır. sgcEditors ayrıca All-Access paketine dahildir.

sgcEditors tek paket

€199 / geliştirici, tam kaynak kodu, 1 yıl güncelleme.

sgcEditors satın alın → Fiyatlandırmayı görün →

sgcUI Standard

sgcEditors, sgcGrid, sgcNavigation ve sgcToolbar, €380 fiyatından başlayarak.

Standard sürümüne bakın →

sgcUI Professional

Standard artı sgcCharts, sgcDashboard ve sgcGauges, €529 fiyatından başlayarak.

Professional sürümüne bakın →

sgcUI Enterprise

Tüm 17 sgcUI ürünü, €699 fiyatından başlayarak.

Enterprise sürümüne bakın →

Ücretsiz Community sürümü (NuGet'te esegece.sgcEditors.Community) on beş denetimin hepsine, yerleşim denetimine ve doğrulama altyapısına sahiptir; ancak renk seçicinin HSV karesi ve alfa çubuğu yoktur, token düzenleyicide otomatik tamamlama listesi yoktur, aralık kaydırıcının tek tutamacı vardır, veriye duyarlı düzenleyiciler, veri formu ve WinForms DataSource bağlaması bulunmaz.

ÖzellikCommunity (ücretsiz)Kayıtlı
VCL, FireMonkey ve .NET için on beş denetimin hepsi✓✓
Doğrulama: kurallar, hata gösterimi, özet (sgcUICore)✓✓
WinForms, WPF ve Avalonia'da ItemsSource'tan lookup düzenleyicisi listeleri✓✓
Yerel metin girişi, esnek ayrıştırma, yerelleştirme✓✓
Takvim aralıkları, sınırlar ve devre dışı günler✓✓
Klavye, DPI, temalar ve arayüzsüz çıktı✓✓
Dokunmatik paneller için NumPad✓✓
On düzenli ekran klavyesi✓✓
Ayarlar için açma kapama anahtarı✓✓
IPv4 ve IPv6 için IP adresi düzenleyici✓✓
Süreler için zaman aralığı düzenleyici✓✓
Her ailenin önizlemesini gösteren yazı tipi seçici✓✓
Tümünü seç ve süzgeçli onay kutulu liste✓✓
Taşıma ve yeniden sıralama düğmeli çift liste kutusu✓✓
JSON olarak kaydedilen yerleşimlerle yerleşim denetimi (Delphi Community'de kodla oluşturulur)✓✓
İki tutamaçlı aralık kaydırıcı−✓
Renk seçicinin HSV karesi ve alfa çubuğu−✓
Token düzenleyicinin otomatik tamamlama listesi−✓
Veriye duyarlı düzenleyiciler (Delphi ve C++ Builder)−✓
WinForms DataSource, DataMember ve DataField−✓
Bir TDataSet'ten, sınıftan, DataTable'dan veya nesneden veri formu, doğrulama ve Smart Paste ile−✓

Desteklenen Framework'ler ve Platformlar

sgcEditors'daki bileşenler

Her denetim VCL, FireMonkey, WinForms, WPF ve Avalonia için aynı özellikler ve olaylarla bulunur.

DenetimVCL ve C++ BuilderFireMonkey.NET
Ay takvimiTsgcVCLMonthCalendarTsgcFMXMonthCalendarTsgcWinFormsMonthCalendar
Tarih seçiciTsgcVCLDatePickerTsgcFMXDatePickerTsgcWinFormsDatePicker
Saat seçiciTsgcVCLTimePickerTsgcFMXTimePickerTsgcWinFormsTimePicker
Tarih ve saat seçiciTsgcVCLDateTimePickerTsgcFMXDateTimePickerTsgcWinFormsDateTimePicker
Aralık kaydırıcıTsgcVCLRangeSliderTsgcFMXRangeSliderTsgcWinFormsRangeSlider
Renk seçiciTsgcVCLColorPickerTsgcFMXColorPickerTsgcWinFormsColorPicker
Token düzenleyiciTsgcVCLTokenEditTsgcFMXTokenEditTsgcWinFormsTokenEdit
DerecelendirmeTsgcVCLRatingTsgcFMXRatingTsgcWinFormsRating
Spin düzenleyiciTsgcVCLSpinEditTsgcFMXSpinEditTsgcWinFormsSpinEdit
Düğmeli düzenleyiciTsgcVCLButtonEditTsgcFMXButtonEditTsgcWinFormsButtonEdit
Arama düzenleyicisiTsgcVCLSearchEditTsgcFMXSearchEditTsgcWinFormsSearchEdit
Maskeli düzenleyiciTsgcVCLMaskEditTsgcFMXMaskEditTsgcWinFormsMaskEdit
Para birimi düzenleyicisiTsgcVCLCurrencyEditTsgcFMXCurrencyEditTsgcWinFormsCurrencyEdit
Lookup düzenleyicisiTsgcVCLLookupEditTsgcFMXLookupEditTsgcWinFormsLookupEdit
MemoTsgcVCLMemoTsgcFMXMemoTsgcWinFormsMemo
Açma kapama anahtarıTsgcVCLToggleSwitchTsgcFMXToggleSwitchTsgcWinFormsToggleSwitch
IP adresi düzenleyiciTsgcVCLIPAddressEditTsgcFMXIPAddressEditTsgcWinFormsIPAddressEdit
Zaman aralığı düzenleyiciTsgcVCLTimeSpanEditTsgcFMXTimeSpanEditTsgcWinFormsTimeSpanEdit
Yazı tipi seçiciTsgcVCLFontPickerTsgcFMXFontPickerTsgcWinFormsFontPicker
Onay kutulu listeTsgcVCLCheckListBoxTsgcFMXCheckListBoxTsgcWinFormsCheckListBox
Çift liste kutusuTsgcVCLDualListBoxTsgcFMXDualListBoxTsgcWinFormsDualListBox
NumPadTsgcVCLNumPad, TsgcVCLNumPadPopupTsgcFMXNumPad, TsgcFMXNumPadPopupTsgcWinFormsNumPad, TsgcWinFormsNumPadPopup
Ekran klavyesiTsgcVCLKeyboard, TsgcVCLKeyboardPopupTsgcFMXKeyboard, TsgcFMXKeyboardPopupTsgcWinFormsKeyboard, TsgcWinFormsKeyboardPopup
Yerleşim denetimiTsgcVCLLayoutControlTsgcFMXLayoutControlTsgcWinFormsLayoutControl
Veri formuTsgcVCLDataFormTsgcFMXDataFormTsgcWinFormsDataForm

.NET sütunu WinForms adlarını gösterir; aynı denetimler WPF ve Avalonia için TsgcWpf ve TsgcAvalonia önekleriyle bulunur. Görsel olmayan yardımcılar: TsgcEditorModel, TsgcEditorLocale ve TsgcEditorFieldLink. On veriye duyarlı düzenleyici (TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit, TsgcVCLDBRating, TsgcVCLDBRangeSlider, TsgcVCLDBButtonEdit, TsgcVCLDBMaskEdit, TsgcVCLDBCurrencyEdit, TsgcVCLDBMemo ve TsgcVCLDBLookupEdit, ayrıca FireMonkey karşılıkları) yalnızca Kayıtlı sürümdedir ve Delphi ile C++ Builder için bulunur; .NET'te Kayıtlı sürümün WinForms düzenleyicileri DataSource, DataMember ve DataField ile bağlanır. Yerleşim denetimi her sürümde bulunur, veri formu ise yalnızca Kayıtlı sürümdedir. Doğrulayıcı ve doğrulama özeti sgcUICore'un parçasıdır: TsgcVCLValidator, TsgcFMXValidator, TsgcWinFormsValidator, TsgcWpfValidator ve TsgcAvaloniaValidator.

HedefBileşenPlatformlar
Delphi 7'den 13'e, VCLTsgcVCL düzenleyicileriWin32 ve XE2'den itibaren Win64
Delphi XE6'dan 13'e, FireMonkeyTsgcFMX düzenleyicileriWindows, macOS, iOS ve Android
C++ Builder 2007'den 13'eTsgcVCL ve TsgcFMX düzenleyicileriOluşturulan .hpp başlık dosyaları ve statik kitaplıklar
Delphi 10.2'den 13'e, framework'ten bağımsızModeller, yerleşim modeli ve JSON'u, arayüzsüz PNG ve SVG çıktısıLinux64 (Linux denetimi yok)
.NET Framework 4.7.2, .NET 8, 9 ve 10WinForms, WPF ve Avalonia düzenleyicileriWindows masaüstü ve Avalonia hedefleri

Sık Sorulan Sorular

Evet. Her metin alanı platformun gerçek bir düzenleyicisidir: VCL'de kenarlıksız bir TEdit, FireMonkey'de bir FMX TEdit. Bu yüzden Japonca, Çince ve Korece için IME birleştirme, pano, geri alma, bağlam menüsü ve ekran okuyucular özel kod olmadan çalışır. Bkz. Metin girişi ve IME.

Evet. MinDate ve MaxDate sınırları belirler, DisabledDates tatilleri listeler, DisabledWeekDays hafta sonlarını engeller ve OnIsDateDisabled diğer her kurala karar verir. Devre dışı günlerin üstü çizilir, klavye tarafından atlanır ve bir seçiciye yazıldığında reddedilir. Calendar demosu kuralları iş başında göstermek için hafta sonlarını ve iki tatili engeller.

Delphi ve C++ Builder'da on tane: tarih seçici, saat seçici, spin düzenleyici, derecelendirme, aralık kaydırıcı, düğmeli düzenleyici, maskeli düzenleyici, para birimi düzenleyicisi, memo ve lookup düzenleyicisi; her biri VCL ve FireMonkey denetimi olarak. Kayıtlı veya Deneme sürümü gerektirirler. .NET'te Kayıtlı sürümün WinForms düzenleyicileri bir alanı DataSource, DataMember ve DataField ile bağlar; her iki sürümde de denetimler WinForms, WPF ve Avalonia veri bağlamasıyla bağlanır ve lookup düzenleyicisi satırlarını ItemsSource'tan alır.

On beş denetimin hepsi ve doğrulama altyapısı dahildir. Community, renk seçicinin HSV karesini ve alfa çubuğunu, token düzenleyicinin otomatik tamamlama listesini, aralık kaydırıcının ikinci tutamacını ve WinForms düzenleyicilerinin DataSource, DataMember ve DataField üyelerini içermez. Delphi veriye duyarlı düzenleyicileri yalnızca Kayıtlı sürümdedir. Bkz. Sürümler.

Evet. sgcUICore doğrulayıcısını forma bırakın, Container özelliğini ayarlayın ve kurallar ekleyin: zorunlu, aralık, uzunluk, düzenli ifade, e-posta, karşılaştırma ve özel. sgcEditors denetimlerini ve standart düzenleyicileri, memoları, açılır kutuları, onay kutularını ve seçicileri denetler, bir çerçeve, bir simge ve isteğe bağlı bir özet gösterir, ekran okuyucular iletileri seslendirir. Kaydetmeden önce Validate çağırın. Her sürümde vardır; VCL, FireMonkey, WinForms, WPF ve Avalonia için. Bkz. Doğrulama.

Evet. Her denetim kendi FormatSettings kopyasını tutar, bu yüzden gün ve ay adları, biçimler, ayırıcılar ve haftanın ilk günü denetim başına farklı olabilir. Calendar demosu çalışma zamanında İngilizce, Almanca, İspanyolca, Fransızca ve İtalyanca arasında geçiş yapar ve başka bir seçim yapmadıkça hafta numaraları ISO 8601'i izler.

Tarih ve saat için evet: TsgcVCLDatePicker, TsgcVCLTimePicker ve TsgcVCLDateTimePicker, açılır takvimli veya saat listeli yazılabilir düzenleyicilerdir. Bunlara ek olarak ay adlarını esnek ayrıştırır, sınırlara ve devre dışı günlere uyar, sgcUI temasını izler ve her monitörün DPI'ında çizilir.

Evet. C++ Builder 2007 ve 2010'dan 13'e aynı VCL ve FireMonkey denetimlerini oluşturulan başlık dosyaları ve kitaplıklar üzerinden kullanır; DataAware dahil her Delphi demosu da C++ Builder projesi olarak gelir. Bu sayfadaki kod sekmesi aynı formu Delphi, C++ Builder ve C#'ta gösterir ve her örnek yayımlanmadan önce derlenmiştir.

sgcEditors Yardımı

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

sgcEditors'ı Bugün Deneyin

sgcUI denemesi sgcEditors'ı ve diğer tüm sgcUI ürünlerini içerir.