Koliko vidim, imas dva problema:
1. Sta se desava s kodom kada koristis PASTE (neki brojevi su na klipbordu, desni taster misa, Paste u to edit polje) u TEdit? OnKeyPress ce biti lagano zaobidjen.
2. Detekcija slova van opsega a..z
1)
Idi na:
http://codenewsfast.com/
Kljucne reci za pretragu:
subclass WM_PASTE TEdit
Potrazi recimo temu:
How to disallow a specific char in TEdit?
Tu ces naci kako se vrsi hvatanje WM_PASTE, a kod prilagodi tvojoj situaciji.
2) Ako si se opredelio za OnKeyPress, dodaj odmah na pocetku te funkcije:
ShowMessage("Mozes koristiti samo slova:" + IntToStr(Key) );
... cisto da vidis koji su kodovi (brojevi) slova kod žšđčć, pa to ugradi u postojeci kod:
if ((Key >= 'a') && (Key <= 'z') || Key == VK_BACK || Key == BROJ_ZA_PRVO_SLOVO || Key == BROJ_ZA_DRUGO_SLOVO || ...)
To bi trebalo da su negativne vrednosti.
Ipak, ja se ne bih opterecivao tim proverama, vec bih korisnika o greskama obavestio nakon pokusaja neke operacije za koju je kljucno da sadrzi samo slova i vratio ga na taj Edit.