Litere rusești sau englezești în linie

Litere rusești sau engleze într-o linie?

Buna ziua!
există editare1. în ea dau scrisori engleze în limba rusă și invers!
pentru ca două proceduri să se blocheze pe o cheie trebuie să determinați ce litere din edit1 sunt ruse sau engleză?






Încercată prin inttostr (cheia), este identică cu cea din limba rusă care în engleză:
Ce ar trebui să fac?


> pentru a suspenda două proceduri pe aceeași cheie,
> care litere din edit1 sunt ruse sau engleze?

Și unde face "cheia"?
Verificați textul din Editare. Ord (Edit1.Text [1])

Am scris acest lucru în procedura TForm1.Edit1KeyDown (Expeditor: TObject; var Key: Word;
# xA0; Shift: TShiftState);

Edit. Ord (Edit1.Text [1]) Nu înțeleg nimic


> Editați. Ord (Edit1.Text [1]) Nu înțeleg nimic

În original a fost:
Verificați textul din Editare.
Ord (Edit1.Text [1])

Deci, de ce ai nevoie? Determinați care sunt deja literele din Edit1? Sau "ce scrisoare" este utilizatorul care încearcă să introducă în Edit1?







textul a fost deja tipărit "aolvzhfavado" și trebuie să știu ce este rusă sau engleză!

procedura TForm1.Button9Click (expeditor: TObject);
# xA0; var k, i, n: întreg;
# xA0; str: șir [50];
# xA0; x: char;
# xA0; s: șir;
# xA0; începeți
n: = 1;
pentru i: = 0 pentru a edita1
# xA0; str: = editare1.Text;

# xA0; k: = ordin (str [n]);
# xA0; dacă # xA0; k<65  then begin
# xA0; showmessage ("cifre");
// k: = ordin (str [n + 1]);

# xA0; sfârșitul;
# xA0; dacă (k> 65) și (k<=122) then begin
# xA0; showmessage ("engl");
# xA0; // k: = ord (str [n + 1]);
Ei bine, aici introducem o lovitură de scrisori
# xA0; sfârșitul;
# xA0; edita16.Text: = inttostr (k); // arată ce cod de cheie
# xA0; sfârșitul;

este foarte interesant :)
toate funcționează numai aici un cip cu numere este necesar să le săriți până când vom întâlni o literă și uita-te la codul ei afla limbajul :)
cheto aici dregs! sau vreau doar să dorm!

Am terminat totul :) # xA0; MULȚUMESC pentru ajutorul dvs.
începe
n: = 1;
l1: pentru i: = 0 pentru a edita1.SelLength începe
# xA0; str: = editare1.Text;
# xA0; k: = ordin (str [n]);
# xA0; dacă # xA0; k<65  then begin
# xA0; n: = n + 1;
Ia l1;
# xA0; sfârșitul;
# xA0; dacă (k> 65) și (k<=122) then begin
# xA0; # xA0; button13.Click ;; // traduceți în limba rusă
# xA0; # xA0; sfârșitul
# xA0; altceva
# xA0; începeți
# xA0; b1.Click; // traduceți în engleză
# xA0; se încheie;
# xA0; edita16.Text: = inttostr (k);
# xA0; sfârșitul;

Memorie: 0,74 MB
Durată: 0,05 secunde







Trimiteți-le prietenilor: