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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
7-36426
Werewolfru
2002-10-11 17:51
2002.12.12
Как осуществить Запуск Explorer в режиме SHELL из моей проги


1-36112
vlad51
2002-12-03 07:49
2002.12.12
Delphi4 и Wondows 2000


14-36338
Snake2000
2002-11-20 15:11
2002.12.12
Интересная задачка


3-36076
berezne
2002-11-24 00:52
2002.12.12
Вопрос по БД


4-36490
kuzmich
2002-10-20 16:45
2002.12.12
Меню