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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2011, 18:09   #1
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию Edit1Change, как сделать проверку, какая клавиша нажата?

Ну, чтобы если пользователь нажал цифру, то она печаталась, а если букву или другой символ, то выскакивал Hint с ошибкой.
hon вне форума Ответить с цитированием
Старый 05.11.2011, 18:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В OnKeyPress Эдита:
Код:
if not key in ['0'..'9'] Тхен Ашыпка, чуваче :)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.11.2011, 18:31   #3
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В OnKeyPress Эдита:
Код:
if not key in ['0'..'9'] Тхен Ашыпка, чуваче :)
Интуитивно сделал так:
Код:
procedure TForm1.minKeyPress(Sender: TObject; var Key: Char);
begin
   if NOT ((key='0') AND (key='1') AND (key='2') AND (key='3') AND (key='4') AND
           (key='5') AND (key='6') AND (key='7') AND (key='8') AND (key='9'))
      then
      begin
      Key:=#0;
      min.Hint:='Тхен Ашыпка, чуваче :)'
      end;
end;
(min - название Edit'а)
Вообще ничего не пишет

Зачем вы отвечаете с цитированием всего предыдущего поста ?
Чтоб "простыня" подлиннее получилась ?
Чтоб ваш "драгоценнейший" пост занимал весь экран ?
Вы не видите кнопку справа от кнопки "Цитата" ?
Или вам почему-то не видно пустое окно редактора под последним сообщением, куда можно просто ввести ответ ?
За оверквотинг у нас штрафуют, имейте это ввиду.
Дабы не нарушать правила раздела, внимательно их почитайте...

Последний раз редактировалось mihali4; 05.11.2011 в 19:26.
hon вне форума Ответить с цитированием
Старый 05.11.2011, 19:15   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
(key='0') AND (key='1')
"Если клавиша равна нулю и единице"
Вдумайся что ты приказываешь машине.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2011, 19:19   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Да, тут не И а ИЛИ надо, ну или конечно как посоветовали, key in ['0..'9']
Чтобы выскакивал хинт надо использовать
Код:
Application.ActivateHint(CalcCursorPos);
Естественно надо уже установить хинт, и проверить флаги Showhint и ParentshowHint

/off ещё хотелось напомнить hon вот об этой теме http://programmersforum.ru/showthread.php?t=169044

Последний раз редактировалось phomm; 06.11.2011 в 19:23.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если нажата клавиша то.... bananasus Помощь студентам 6 18.02.2011 15:29
Как прервать цикл, когда нажата кнопка какая-нибудь? Karyuudo Общие вопросы Delphi 1 12.04.2010 18:52
Как проверить нажата ли любая клавиша (в том числе и на мыши)? Вадим Буренков Общие вопросы Delphi 11 07.07.2009 16:30
Нажата ли клавиша... Xcopy Паскаль, Turbo Pascal, PascalABC.NET 14 26.03.2009 11:14
Как определить, какая кнопка нажата? Paul Hindenburg Компоненты Delphi 1 19.02.2009 23:15