Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Однотипные процедуры


Леонид ©   (2007-03-24 21:08:00) 

У меня есть набор одинаковых элементов, подскажите как сделать так чтобы когда пользователь переходит к другому элементу вызывалась процедура проверки и редактирования содержимого. Процедура проверки уже написанна, но элементов 40 шт, и писать для каждого
procedure TForm1.Edit1Exit(Sender: TObject);
begin
//Процедура проверки
end;
не хочется. Возможно ли TForm1.Edit1Exit применить для всех элементов, для Edit1..EditN. И как это сделать? Спосибо.


RASkov   (2007-03-25 00:18:00) [1]

> (Sender as Tedit)
>
> Так надёжнее. Все таки раздел "Начинающим"

Тогда уж так:

procedure TForm1.Edit1Exit(Sender: TObject);
begin
 if Sender is TEdit then Verify((Sender as Tedit).Text);
end;

Можно же и так вызвать обработчик:

procedure TForm1.ButtonClick(Sender: TObject);
begin
  Edit1Exit(Sender);
end;

PS Verify - какая-то сомодельная проверка Едитов


Belorus   (2007-03-24 23:37:00) [2]

(Sender as Tedit)

Так надёжнее. Все таки раздел "Начинающим"


Леонид   (2007-03-24 21:21:00) [3]

Спосибо.


Kolan   (2007-03-24 21:19:00) [4]

> того Edit фокус которого был потерен

Sender — объект вызвавший событие…


Леонид   (2007-03-24 21:18:00) [5]

Хорошо, а так чтобы проверял содержимое того Edit фокус которого был потерен


Kolan   (2007-03-24 21:14:00) [6]

Можно выбрать сразу ве элементы и всем разом назначить.

И самое главное:
но элементов 40 шт
Нафиг не надо столько, перепроэктируй UI пока не поздно.


Belorus   (2007-03-24 21:12:00) [7]

Выдели все свои компоненты к которым нужно применить и св-во OnExit укажи например TForm1.Edit1Exit


Kolan   (2007-03-24 21:10:00) [8]

> TForm1.Edit1Exit применить для всех элементов

Да, просто в дизайнере перейди на вкладку Events и в событии(OnClick например) выбири эту функцию из списка.

Ватиант два — использоватьс TActionList, TActionManager.


Наверх

Титульная страница Поиск, карта сайта Написать письмо