Вниз
Скачать: CL | DM;

Case & not   Найти похожие ветки 

← →
stelius ©   (2004-03-16 10:30) [0]

Мастера, необходимо, чтобы в TEdit обрабатывалось только нажатие на определенные клавиши (например: пробел и enter), а остальные клавиши не функционировали. Пишу в OnKeyPressed следующее:
 case Key of
   #32, #13: begin
             end;
 else
   Key := #0;
 end; //case

Проблема вот в чем: есть ли возможность сделать инверсию, вставить чтот-то вроде not, чтобы избавиться от пустого оператора?


← →
NAlexey ©   (2004-03-16 10:36) [1]

есть:
 if not ((Key in [ #32, #13]) or (Key < #32)) then
   Key := #0;


← →
stelius ©   (2004-03-16 10:45) [2]

Согласен. Сорри, не достаточно конкретизировал, надо вот такую конструкцию реализовать:
case Key of
 #48..#57: begin
             <какие-то_действия>
           end;
 #32, #13: begin
           end;
else
 Key := #0;
end; //case


← →
TUser ©   (2004-03-16 10:54) [3]

Любой case можно представить в виде последовательности if"ов. В данном случае
if Key in [ #48..#57] then begin
            <какие-то_действия>
          end else
if not (key in [ #32, #13]) then
Key := #0;
// end; //case


← →
Noway ©   (2004-03-16 10:56) [4]

if not ((Key in [ #32, #13]) or (Key < #32)) then
   Key := #0;
Добавь суда все свои коды
будет множество [ #48..#57,#32, #13]


← →
stelius ©   (2004-03-16 11:08) [5]

2 Noway

> Добавь суда все свои коды
> будет множество [ #48..#57,#32, #13]


В таком случае <какие-то_действия> не будут выполняться для #48..#57, а если добавить для if"а else, то <какие-то_действия> будут выполняться еще при нажатии на пробел и enter и то и другое не желательно.

Thanks 2 All. Обсуждение натолкнуло меня на необходимое решение.
Надо добавить в else для case if.
case Key of
#48..#57: begin
            <какие-то_действия>
          end;
else
if not (Key in [ #32, #13]) then Key := #0;
end; //case


← →
Noway ©   (2004-03-16 11:14) [6]

удачи



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
4-1074959994
ESER
2004-01-24 18:59
2004.04.04
Уважаемые, мастера. Прошу о помощи! Реестр и API


3-1078931851
Ceval
2004-03-10 18:17
2004.04.04
упорядочить таблицу ...про помоци CheckBox


9-1060437914
Still_Swamp
2003-08-09 18:05
2004.04.04
Сфера случайных точек


14-1078603282
Piter
2004-03-06 23:01
2004.04.04
Новый клиент для форума


1-1079549153
dmk
2004-03-17 21:45
2004.04.04
В чем разница?




   Наверх