Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: 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 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-1079013272
Denrom
2004-03-11 16:54
2004.04.04
ИК волны (область применения)


14-1078163302
Pa5ha
2004-03-01 20:48
2004.04.04
TEMP


14-1078600476
Undert
2004-03-06 22:14
2004.04.04
Где можно почитать о том


3-1078374316
OlegM
2004-03-04 07:25
2004.04.04
Подскажите с TQRExpr


14-1079001104
Igor_thief
2004-03-11 13:31
2004.04.04
Maximize