![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ivan219 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Имеем:
Код основной прораммы.
Код дополнителного Unit.
Вопрос: можно пропустить обращение к процедуре TForm1.EditKeyPress(Sender: TObject; var Key: Char); и напремую из Edit1->Событие-> EditKey(Text: String; var Key: Char); собственно минуя вот это путь.
И как это организовать |
||||||
|
|||||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
А чем тебя так не устраивает?
-------------------- Ll 2 |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Ну хоца знать, дальше продвигатся ведь это я сам дошол, теперь проще так как этих Edit у меня в проге целая куча и не надо писать лишнего кода.
Ну так как можно это реализовать |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Нет! Для того, что бы запретить ввод некоторых символов (выполнить EditKey) в TEdit, нужно обработать событие OnKeyPress у него (можно конечно еще OnKeyDown, но это уже как вариант). Поэтому обрабатывать придется у каждого едита, если хочешь что бы у них всех был запрещен ввод. Еще возможен вариант присваивания события EditKeyPress в OnKeyPress каждого едита в цикле при создании программы. Что-то вроде
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Зачем тебе лишняя процедура?
Напиши в первом Edite:
А после этого всем Эдитам в свойствах постать OnKeyPress = Edit1KeyPress. Если ты откроешь всплывающее меню у этого свойства, ты там эту процедуру увидишь. Это сообщение отредактировал(а) Guedda - 19.1.2006, 23:49 -------------------- Ll 2 |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
А вообще я когда-писал для своих целей компонент на основе TEdit с возможностью запрета ввода букв, второго сепоратора и всякой другой дрибеденью. Могу выложить если нужно
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Если есть готовый компонент то выложи [email protected]
А по теме я знаю что может для несколких Edit задать одну процедуру поэтому в моей проге и нет 1,2,3... я так и зделал. А лишняя процедура в дополнительном Unit нужна для обращения других так как Form уменя 20 штук и вкаждой по 3-8 Edit поэтому я и заварил всю эту кашу чтоб упростить себе работу так как раньше когда я незнал я делал к каждому Edit свою процедуру в итоге лишнии строки кода а теперь легче вот я и решил может можно зделать ещё проще и обращатся на прямую к процедуре в доподнительном Unit но если нельзя то нельзя. А вобще возможно такое чтоб контролу в разделе события пресвоить процедуру каторая находится в другом Unit |
|||
|
||||
| Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
| AndreyANM |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 4.1.2006 Репутация: нет Всего: нет |
Зачем самому писать компоненты. Я так думаю что в данной ситуации подойдет
компонент TMaskEdit (кажется так называется), входящий в поставку Delphi В нем можно указать маску ввода и она будет отсеивать запрещенные символы. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Не что не получается ошибки новерное я ещё не всё знаю но да ладно пока будет и этим результатом ползоватся всётаки результат на лицо
Ладно всем спасибо Poseidon жду компонет |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Требует NumEdit.dcu, я тебе его отправил. Смотри внимательнее. NumEdit.dcr тоже был отправлен.
PS. Компонент отправлял в личку, так давай и вопросы задавай в личку. Поверь, остальным не интересно Это сообщение отредактировал(а) Poseidon - 20.1.2006, 01:25 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 23 Всего: 51 |
Poseidon, Вы это лично проверяли? просто я когда-то тоже пытался сделать что-то подобное и у меня не получилось(подробностей уже не помню). но в общем. я делал так же как и ivan219, - писал один обработчик дял формы и присваивал его всем контролам. |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
>Bose
Надо не только модулю в список Uses добавить, но и в том модуле, где реализована процедура/функция добавить ее описание в модуль интерфеса:
Это сообщение отредактировал(а) Демо - 20.1.2006, 12:25 -------------------- |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Нельзя забывать обработчиком события может быть только метод какого- либо объекта, а не процедура вообще. Более того не любой
метод а только метод с правельным набором парамтров -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 23 Всего: 51 |
с этим у меня всё в порядке, но такое предупреждение всегда актуально, спасибо! Это сообщение отредактировал(а) Bose - 20.1.2006, 13:38 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |