Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
ПрогерШ   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
3-1079447958
race1
2004-03-16 17:39
2004.04.18
adodataset.close


8-1071501250
kopcap
2003-12-15 18:14
2004.04.18
Перерисовка кадров


1-1080914352
P_a_s_h_a
2004-04-02 17:59
2004.04.18
Как отключить анимацию окна при максимизации/минимизации?


7-1077179598
gogi
2004-02-19 11:33
2004.04.18
Как получить код возврата консольного приложения ?


3-1080110834
cat
2004-03-24 09:47
2004.04.18
Проблемы с QuickReport, помогите!...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский