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




Вниз

Обработчик KeyPress 


Виталий_2002   (2002-02-25 11:01) [0]

Здравствуйте. У меня маленький вопрос: как сделать так чтобы при вводе данных например в Edit при нажатии недопустимых клавиш курсор просто не двигался?



VictorT   (2002-02-25 12:06) [1]

if Key = недопустимый символ
then Key := 0;



Виталий_2002   (2002-02-25 12:12) [2]

пасибо ))



[NIKEL]   (2002-02-25 12:18) [3]

а чтоб не париться в бесконечных проверках советую сделать так
допустим ты хочешь чтоб надо было вводить тока цифры:

Set <char,"0", "9"> Dig;
Dig << "0" << "1" << "2" << "3" << "4" << "5" << "6" << "7"
<< "8" << "9";//заносим в множество все допустимые символы
//и элигантная проверка
if (! Dig.Contains(Key))
Key = 0;//подменям недопустимый символ нулём(он нигде не появиться)



greenrul   (2002-02-25 12:27) [4]

Вопрос не в кассу - как Key переверсти в
1. Ctrl,Alt,A,B
2. VK_CONTROL, VK_PAUSE

то есть из всяких 101,13,89 в это



VictorT   (2002-02-25 12:55) [5]

2 [NIKEL]
Маленькое уточнение: надо ещё разрешить ввод символов с кодом меньше 32 (пробел), иначе не будут работать некоторые управляющие клавиши, например, стрелки. Приведённый тобой код у меня реализован так:
if (((Key<"0") || (Key>"9")) && (Key >= " "))
Key = 0;



[NIKEL]   (2002-02-25 15:21) [6]

2greenrul
чё то не понятно :)
как перевести? VK_CONTROL, VK_PAUSE - это всё именнованные константы
можно описывать как угодно
клавиша F1 в десятичном представлении выглядит как 112, в hex выглядит как 0x70, а в символьном как VK_F1
лучше использовать всегда hex-предстовление или десятичное



greenrul   (2002-02-25 18:51) [7]

Ну как тогда Key=101 в строку "A" перевести?




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




Наверх





Память: 0.72 MB
Время: 0.014 c
3-32402           KaPaT                 2002-02-12 14:06  2002.03.11  
Посоветуйте как правильней сделать


14-32563          Егор                  2002-01-18 08:51  2002.03.11  
Microsoft Agent


1-32454           Schummmi              2002-02-03 10:13  2002.03.11  
В чем глюк?


4-32613           vvr                   2002-01-10 17:25  2002.03.11  
CREATECARET


3-32408           Paxer                 2002-02-12 14:40  2002.03.11  
Переиндексация с помощью TADOQuery