|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.06.2007, 14:06 | #11 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
вапще-то фактически OnChange - свойство. см. описание того же TButton
|
13.06.2007, 01:55 | #12 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Очень интересно. А поподробней можно? Хотя бы для того же TButton
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
13.06.2007, 03:05 | #13 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
вот кусок описания класса TControl (прародитель TButton и других контролов):
Код:
выполняется эта процедура не напрямую при клике мышкой, а при выполнении процедуры Click, где имеюцо следующие строки: Код:
|
13.06.2007, 10:41 | #14 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Так все-таки нет у TButton свойства OnChange?
Мне вполне достаточно знать что событие в Delphi это аналог сообщения в WinAPI. И что программа на самом деле получает сообщения от системы а VCL преобразует их в события. Как он это делает, для программирования в Delphi знать не обязательно.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 13.06.2007 в 10:57. |
13.06.2007, 10:57 | #15 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
ну про OnChange я очепятался так сказать... а вообще это все я просто к слову, т.к. мне самому пох как там это все реализовано
|
13.06.2007, 12:04 | #16 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if not (key in['0'..'9',#8]) then key:=#0; end; #8 - это бакспейс |
19.06.2007, 10:35 | #17 |
Пользователь
Регистрация: 18.06.2007
Сообщений: 26
|
Ответ на первый вопрос
Зачем мучить себя событиями, когда можно гораздо проще.
Нужно использовать функцию val, которая производит проверку ввода чисел. Например для Edit1 это будит выглядить так val(Edit1.Text,x,k). Она проебразует строку текста в число, значение которого присваивает переменной x. Следом необходимо записать проверку если введены веществееные числа, то переменная k = 0. Если окно пустое или введены буквы или символы то k будит отличной от 0 (k>0). |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопросы новичка(C++) | NetGod | Общие вопросы C/C++ | 22 | 17.04.2009 22:49 |
Два вопроса новичка по графике. | grey | Помощь студентам | 7 | 04.11.2007 17:48 |
Вопрос (новичка) по переменным. | grey | Помощь студентам | 5 | 03.11.2007 17:25 |
Литература для новичка | Deikwon | PHP | 1 | 23.09.2007 00:51 |