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

Вниз

Реакция на клавишы....   Найти похожие ветки 

 
Batik   (2002-11-30 19:18) [0]

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


 
aus   (2002-11-30 19:31) [1]

procedure TForm1.OnKeyPress(...)
begin
if not (Key in ["0".."9"]) then key := #0;
end;


 
Palladin   (2002-12-01 00:16) [2]

а так быстрей

if ord(key)<ord("0") or ord(key)>ord("9") then key=#0;

можно сразу вместо ord("0") и ord("9") подставить числовые значения...


 
Юрий Зотов   (2002-12-01 01:44) [3]

> Palladin © (01.12.02 00:16)

Что быстрее - это еще вопрос. А вот скобок точно не хватает.


 
Batik   (2002-12-01 18:58) [4]

А можно поподробней. Типа надо присваивать переменной значения в зависимости от нажатой клавиши...


 
LongIsland   (2002-12-01 19:28) [5]

procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ["0".."9"]) then Tag:=Ord(key)-48;
Caption:=IntToStr(tag);
end;


А вообще-то ответ уже прозвучал aus © (30.11.02 19:31)


 
Vlad1   (2002-12-01 20:37) [6]

> Palladin ©
А почему не
if (key<"0") or (key>"9") then key=#0;
?
А лучше так:
if ((key<"0") or (key>"9"))and(key<>#8) then key=#0;

>aus ©
А реакция на нажатие левого забоя?
Правильней так:
procedure TForm1.OnKeyPress(...)
begin
if not (Key in ["0".."9",#8]) then key := #0;
end;



 
Vlad1   (2002-12-01 20:42) [7]

> Palladin ©

Sorry,
Я копировал текст у Palladin и не обратил внимание на то, что у него вместо key := #0 написано key=#0;
Конечно, надо так:
if (key<"0") or (key>"9") then key:=#0;

А лучше :
if ((key<"0") or (key>"9"))and(key<>#8) then key:=#0;



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

Форум: "Основная";
Текущий архив: 2002.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
1-36239
СлБ
2002-11-29 17:09
2002.12.12
Событие OnChange


14-36378
Skier
2002-11-21 12:23
2002.12.12
Уважаемые любители спорта !


14-36373
iNew
2002-11-20 08:56
2002.12.12
Как узнать к какому провайдеру подключен тот или иной сервер


1-36286
Beginner
2002-12-02 19:07
2002.12.12
Кто знает, почему ошибка в IntToHex() ?


1-36100
Dik!S
2002-12-03 08:34
2002.12.12
Delphi





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