Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2010, 17:47   #1
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
Стрелка MaskEdit ошибка!

Всем доброе время сутки. У меня вопрос как в MaskEdit можна сделать перехват событий, тоесть есть у меня MaskEdit и на нем стоит маска, но я "не знаю какая", я хочу сделать так что бы при неправильной нажатом символе выводило сообщение о том что такой символ здесь не подходит. Наприпер маска с дата рождения, а я ввоже какое то слово.
Помогите пожайлуста.
Stranger333 вне форума Ответить с цитированием
Старый 05.07.2010, 09:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Насколько я знаю МаскЭдит не позволит ввести не подходящие символы.
Например маска !99/99/00;1;_ не позволит ввести ничего кроме даты.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.07.2010, 14:15   #3
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Насколько я знаю МаскЭдит не позволит ввести не подходящие символы.
Например маска !99/99/00;1;_ не позволит ввести ничего кроме даты.
да вы правильно говорте, но например кто то не знает что вводить (маска может быть 2 числа, 1 буква, 3 числа и 8 букв). Я хочу сделать сообщение при не правильном вводе, тоесть подсказку.

P.S. у меня не совсем МаскЭдит, у меня маска на ADOTable.
Stranger333 вне форума Ответить с цитированием
Старый 06.07.2010, 01:01   #4
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

может следует написать обработчик KeyPress.
Предположим есть MaskEdit1 (!99/llllllll/00) - это дата, где месяц вводится не числом а названием, например: 22.сентября.99. Тогда обработчик KeyPress может выглядеть следующим образом:

Код:
procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if ((MaskEdit1.SelStart in [0..1]) or (MaskEdit1.SelStart in [12..13]))
     and (not (Key in ['0'..'9',#8]))
    then ShowMessage(' здесь должна быть цифра ');
  if (MaskEdit1.SelStart in [2..10]) and
     (not ((Key in ['А'..'Я',#8]) or (Key in ['а'..'п',#8]) or (Key in ['р'..'я',#8])))
    then ShowMessage(' здесь должна быть русская буква ');
end;
свойство SelStart указывает позицию курсора в MaskEdit.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MaskEdit !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!! MeTeOpA Общие вопросы Delphi 4 16.06.2010 21:57
MaskEdit Sparky Общие вопросы Delphi 2 18.05.2009 11:26
из MaskEdit в Memo... Teleport Помощь студентам 6 12.06.2008 15:31
MaskEdit Veiron Общие вопросы Delphi 1 19.01.2008 15:41