Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Как в эдите сделать токо ввод английскеих букв?   Найти похожие ветки 

 
ПрогерШ   (2004-04-01 10:43) [0]

Мастаки? Чтобы не важно какая расскладка - вводились только символы английского алфавита?


 
[lamer]Barmaglot ©   (2004-04-01 10:51) [1]

Не очень понятно, что ты хочешь получить, попробуй это:

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ["a".."z","A".."Z"]) then key:=#0;
end;


 
ПрогерШ   (2004-04-01 10:55) [2]


> [lamer]Barmaglot ©   (01.04.04 10:51) [1]

Спасибо, но это чуть-чуть не то... Я хочу что-бы оператор не важно на какой расскладке - т.е. русская, английская, украинская - когда нажимал на клавиши с буквами - то вводились только английские. Т.е. не то что запрещались, а именно всегда вводились английские.


 
[lamer]Barmaglot ©   (2004-04-01 11:16) [3]

Методы есть разные... Самый простой приблизительно такой:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
const
 A:    Array[0..31] of Char=("й","ц","у","к","е","н","г","ш","щ","з","х","ъ","ф","ы","в","а","п","р","о","л","д","ж","э","я","ч","с","м","и","т ","ь","б","ю");
 B:    Array[0..31] of Char=("q","w","e","r","t","y","u","i","o","p","[","]","a","s","d","f","g","h","j","k","l",";","""","z","x","c","v","b"," n","m",",",".");
var
 k:  integer;
begin
If (Key in ["а".."я"]) then
 For k:=0 to 31 do
   if A[k]=Key then Key:=B[k]

end;


 
Anatoly Podgoretsky ©   (2004-04-01 11:21) [4]

Key := Tbl[Key];
Без всяких If и For


 
[lamer]Barmaglot ©   (2004-04-01 11:26) [5]

то Anatoly Podgoretsky ©   (01.04.04 11:21) [4]

А в пятой дельфи есть?


 
Иван Бездомный ©   (2004-04-01 11:30) [6]

В событии OnKeyDown возвращается английский код нажатой клавиши вне зависимости от раскладки клавиатуры


 
ПрогерШ   (2004-04-01 11:30) [7]


> Anatoly Podgoretsky ©   (01.04.04 11:21) [4]

А что такое Tbl? uses?


 
ПрогерШ   (2004-04-01 11:34) [8]


> Иван Бездомный ©   (01.04.04 11:30) [6]

Ну и ? мне же надо выдать не код, а символ... А его можно выдать в событии onKeyPress


 
[lamer]Barmaglot ©   (2004-04-01 11:43) [9]

Ну зная то, что только что сказал Иван Бездомный ©   (01.04.04 11:30) [6]
код получается намного проще, приблизительно такой:

var
 sKey:     word;

procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
SKey:=Key
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
Key:=Chr(LoWord(SKey))
end;

P.s. написано навскидку ногами не бить...


 
Anatoly Podgoretsky ©   (2004-04-01 11:43) [10]

[lamer]Barmaglot ©   (01.04.04 11:26) [5]
Начиная по крайней мере Паскаля от Вирта, это начало 70 годов. Это обычный массив of char


 
[lamer]Barmaglot ©   (2004-04-01 11:48) [11]

то Anatoly Podgoretsky ©   (01.04.04 11:43) [10]

брм...Первый раз слышу о такой функции, да и дельфи плюется,
можно работающий примерчик, ну очень интересно стало...



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.034 c
4-1076593411
_r00t_
2004-02-12 16:43
2004.04.18
Как отследить какой именно файл изменился в директории?


1-1080477112
Pavel
2004-03-28 16:31
2004.04.18
Преобразование типов.


14-1079954479
Соловьев
2004-03-22 14:21
2004.04.18
Есть ли программеры из Киева?


1-1081073944
jiuraf
2004-04-04 14:19
2004.04.18
TOleContainer и запароленый файл


3-1079447958
race1
2004-03-16 17:39
2004.04.18
adodataset.close





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский