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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2015, 19:31   #11
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
s:=Text;
Val(Text,i,c);
if i>Max then Text:=s
словами расскажите что тут делаете, может тогда охота пропадет от всех обработчиков
come-on вне форума Ответить с цитированием
Старый 17.12.2015, 19:34   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не пойму, что хочешь сделать. В принципе KeyPress можно из protected в public перетащить и вызвать KeyPress, запустив при этом бесконечную рекурсию и падение стека
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.12.2015, 19:41   #13
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
словами расскажите что тут делаете, может тогда охота пропадет от всех обработчиков
Пытаюсь оградить пользователя от ввода числа большего чем Max.
Andre44 вне форума Ответить с цитированием
Старый 17.12.2015, 19:44   #14
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Чем не устраивает компонент TSpinEdit?
Arigato вне форума Ответить с цитированием
Старый 17.12.2015, 19:45   #15
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Ну тут во первых все наоборот, а во вторых это не надо делать, проверяйте когда он или покидает едит или вообще тогда когда это надо.
Валидируйте перед использованием. Меньше гемора и таких странных кодов
come-on вне форума Ответить с цитированием
Старый 17.12.2015, 19:46   #16
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не пойму, что хочешь сделать. В принципе KeyPress можно из protected в public перетащить и вызвать KeyPress, запустив при этом бесконечную рекурсию и падение стека
Мне надо чтобы на месте этой строчки выполнилось действие заложенное создателями языка, т.е. если естьвыделение то произошло замещение текста, если его нет то просто Key дописался

Цитата:
Сообщение от Arigato Посмотреть сообщение
Чем не устраивает компонент TSpinEdit?
Согласен что с ним без гемора, но надо с простым edit

Цитата:
Сообщение от come-on Посмотреть сообщение
Ну тут во первых все наоборот, а во вторых это не надо делать, проверяйте когда он или покидает едит или вообще тогда когда это надо.
Валидируйте перед использованием. Меньше гемора и таких странных кодов
Как раз не наоборот, если получается число больше то я в Text возвращаю старое значение из s. Проверка когда Вы советуете создает своеобразное неудобство для пользователя, т.к. придется читать сообщение об ошибке ввода, а в моем случае просто при не правильном вводе не должен вводиться символ как например при NumbersOnly=True мы просто не можем ввести в edit не число

Последний раз редактировалось Stilet; 17.12.2015 в 23:02.
Andre44 вне форума Ответить с цитированием
Старый 17.12.2015, 19:59   #17
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Тогда обработчик OnChange вешайте и в нем проверяйте.
Arigato вне форума Ответить с цитированием
Старый 17.12.2015, 19:59   #18
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Ну тогда пользователь скопирует текст и вставит в эдит (мышкой), надо еще и с этим вам побороться.
Как только поборите мышку, приходите, еще расскажу с чем надо бороться.
come-on вне форума Ответить с цитированием
Старый 17.12.2015, 20:34   #19
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Тогда обработчик OnChange вешайте и в нем проверяйте.
Спасибо, вот это уже работает

Цитата:
Сообщение от come-on Посмотреть сообщение
Ну тогда пользователь скопирует текст и вставит в эдит (мышкой), надо еще и с этим вам побороться.
Как только поборите мышку, приходите, еще расскажу с чем надо бороться.
поборол мышку, что еще кроме того что каретка ставится а первую позицию вместо последней?

Последний раз редактировалось Stilet; 17.12.2015 в 23:03.
Andre44 вне форума Ответить с цитированием
Старый 17.12.2015, 20:43   #20
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

не верю (с)
come-on вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов обработчика события Homa_1983 C++ Builder 8 20.05.2013 17:20
Как из обработчика прерываний от таймера вызвать int 21h ? ccccfr Операционные системы общие вопросы 1 21.03.2011 01:13
Выход из обработчика события tools Visual C++ 1 20.12.2010 10:24
Назначение обработчика события Gypsy Общие вопросы Delphi 2 22.12.2009 09:50
динамическое создание обработчика события Мэс Общие вопросы Delphi 4 07.09.2009 01:04