російські або англійські букви в рядку?
Hello Майстри! :)
є edit1. в ньому перевертаю англ літери на російські і навпаки!
для того щоб дві процедури повісити на одну клавішу потрібно визначити які букви в edit1 російські або англійські?
спробував через inttostr (key) видає однакові що на російській що на англ :(
що робити?
> Для того щоб дві процедури повісити на одну клавішу потрібно
> Визначити які букви в edit1 російські або англійські?
І до чого тут "клавіша" (key)?
Перевіряй текст в Edit. Ord (Edit1.Text [1])
це я писав в procedure TForm1.Edit1KeyDown (Sender: TObject; var Key: Word;
# XA0; Shift: TShiftState);
Edit. Ord (Edit1.Text [1]) щось не зрозумію нічого
> Edit. Ord (Edit1.Text [1]) щось не зрозумію нічого
В оригіналі було:
Перевіряй текст в Edit.
Ord (Edit1.Text [1])
Так що тобі потрібно? Визначити які на цей момент вже є букви в Edit1? Або "яку букву" намагається вставити користувач в Edit1?
текст уже набрано допустимо "аолвжфоавадо" і мені потрібно дізнатися які це російські або англійські!
procedure TForm1.Button9Click (Sender: TObject);
# XA0; var k, i, n: integer;
# XA0; str: string [50];
# XA0; x: char;
# XA0; s: string;
# XA0; begin
n: = 1;
for i: = 0 to edit1.SelLength do begin
# XA0; str: = edit1.Text;
# XA0; k: = ord (str [n]);
# XA0; if # XA0; k<65 then begin
# XA0; showmessage ( "цифри");
// k: = ord (str [n + 1]);
# XA0; end;
# XA0; if (k> 65) and (k<=122) then begin
# XA0; showmessage ( "англ");
# XA0; // k: = ord (str [n + 1]);
ну тут вставляємо переворот букв
# XA0; end;
# XA0; edit16.Text: = inttostr (k); // показуємо який код клавіші
# XA0; end;
дуже цікаво виходить :)
все працює тільки тут фішка з цифрами це потрібно їх перескакувати до тих пір поки що не натрапимо на букву і подивившись її код виявимо мову :)
чето тут муть! або я просто спати хочу :)
добив я її всетаки :) # XA0; СПАСИБІ за допомогу.
begin
n: = 1;
l1: for i: = 0 to edit1.SelLength do begin
# XA0; str: = edit1.Text;
# XA0; k: = ord (str [n]);
# XA0; if # XA0; k<65 then begin
# XA0; n: = n + 1;
goto l1;
# XA0; end;
# XA0; if (k> 65) and (k<=122) then begin
# XA0; # XA0; button13.Click ;; // переводимо на російський
# XA0; # XA0; end
# XA0; else
# XA0; begin
# XA0; b1.Click; // переводимо в англійський
# XA0; end;
# XA0; edit16.Text: = inttostr (k);
# XA0; end;
Пам'ять: 0.74 MB
Час: 0.05 c