Példa szimbólumok korlátozzák szerkesztés Delphi, shinobik

Egy kis történelem ...

Azt azonnal ki a beviteli mezőbe forma, az összes aláírt, és úgy gondolta, hogy minden 😉 majd adott egy teszt ügynök, hogy az ő véleménye. És akkor kezdődött. Kiderült, hogy az összes szükséges mezőt előírni ellenőrzések bemeneti adatok. Például, a „Last Name”, „Név” és „Közép” nem tud belépni a latin ábécé és az összes karaktert, és így tovább (csak cirill, egyetlen szóközt és kötőjelet). Amint később látható, az emberek nem szeretnének bevezetni ... Ezért kezdtem alkalmazni a határérték karakterek bevitelére a felhasználó.







Szűréssel a betűk és számok továbbított beviteli mező (tSzerkesztés)

Tehát megy lírai kitérő az ügyben. Az alkatrész szerkesztés, van egy figyelemre méltó esemény onkeypress. Ez az esemény akkor történik, amikor belép bármilyen karaktert a szimbólum változóban tárolt kulcs (Type Char). Itt az a hely, ahol meg lehet korlátozni a bemeneti karaktert, akkor a következőképpen zajlik:

Példa szimbólumok korlátozzák szerkesztés Delphi, shinobik
Onkeypress az tSzerkesztés

Elemezzük a kódot. Összehasonlítás Key változó egy sor karakter, ebben az esetben A-tól Z-ig nagybetűs és ha a feltétel teljesül, akkor a szimbólum jelenik meg a beviteli mezőben. Ha a feltétel nem teljesül, csak nullázza a változó Key. Azaz, bemutatjuk a karakterek beviteléhez szoftveresen, ami nem a tömbben „A” .. „Z”. A mi esetünkben, mi szűrés a begépelt betűket a szerkesztő mezőben. De mi akadályoz meg, például, hogy nem ugyanaz a ComboBox, és egyéb alkatrészek a beviteli adatokat? Felhívjuk figyelmét, hogy a feltétel nem «», ez azt jelenti, hogy az igazság fogadható el, hogy csak a karakter nem szerepel a tartományban tól Z-ig







Észrevettük, abban az állapotban kódot a karakter # 08? Ez a kód az ASCII - azt jelenti, hogy a Backspace billentyűt. Írásakor ezt a kódot, én szembesülnek azzal a ténnyel, hogy ha nem adja meg a szimbólum, akkor a következő: Ön tudja, hogy bármilyen levelet tól Z-ig, de nem tudja szerkeszteni a rekord ... Tehát ezen felül lehetővé teszi a bevezetése a # 08, ami lehetővé teszi a felhasználó számára, hogy módosítsa a szöveget.

Ez az esemény a legtöbb szövegbeviteli mezők, egyszerűen írja be a kódot, és minden. Van azonban egy „de” - a kód teszteltem írásakor DLL Delphi XE 4 ... Van probléma, én is írok róluk. Annak érdekében, hogy figyelmeztessen ...

Szűrése input tSzerkesztés a DelphiXE4 ... Szépséghiba a levesben ...

4., szerda Delphi XE és stúdiómunka húrok kódolva utf8 cp1251 helyett. Itt rejlik a gonoszság gyökere, és a fenti kódot, nem fog működni. Ezért érdemes frissíteni, alul van a kód Delphi XE ...

Én is szeretnék adni egy jó tanácsot. Én a következő rendszer adatbevitel:

Töltse ki a beviteli mezőbe, és nyomja meg az Enter (például egy megerősítő bemenet) -> Ellenőrizze a teljes bemenő adatok -> mező ki van jelölve, vagy hagyja ki.

Az alábbiakban biztosítja a végrehajtás a rendszert.