Главная страница
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.021 c
14-36412
Acorus
2002-11-22 15:58
2002.12.12
Где взять DsgnIntf.dcu ?


14-36366
iNew
2002-11-21 06:33
2002.12.12
Говорят, что для обучения программированию лучше подходят


1-36276
kex86
2002-12-02 14:14
2002.12.12
keydown


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


1-36079
Vcoder
2002-11-28 22:02
2002.12.12
Вертикальный текст в TCanvas