| 
| 
 | Вопрос # 5 994/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Подскажите пожалуйста, почему  могут не присваиваются значения key?
 Mне нужно организовать фильтр на ввод чисел, но едит не фильтрует вводимые данные. Программирую на delphi 7 lite.
 Приложение:Переключить в обычный режим procedure TForm1.edtXoKeyPress(Sender: TObject; var Key:Char);begin   if   (Key<'0') or (Key >'9')  then Key:=#0; end;
|  |   Вопрос задал: Meffect (статус: Посетитель)Вопрос отправлен: 12 марта 2012, 12:06
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: min@y™ Судя по условию "if" ты хочешь, чтобы вводились ТОЛЬКО ЦИФРЫ. У меня работает, проверил щас.Или, всё-таки, нужно, чтобы цифры НЕ вводились?
 
 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  //if Key in ['0'..'9']          // <--- всё, кроме цифр
  //if not (Key in ['0'..'9'])    // <--- только цифры
  if (Key < '0') or (Key > '9')   // <--- только цифры 
    then Key:= #0;
end;Если не работает, проверь, связан ли обработчик события с самим событием. А то мало ли...З.Ы. Символ #8 в этом наборе не помешает в любом случае.
 З.З.Ы. Ctrl + V ещё не отменили.
 
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 12 марта 2012, 20:26
 Оценка за ответ: 5
 Комментарий к оценке: спасибо за помощь, обработчик события с самим событием был не связан. |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |