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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2009, 14:34   #1
mixer94
Пользователь
 
Аватар для mixer94
 
Регистрация: 07.06.2009
Сообщений: 40
По умолчанию Имя объекта, который сгенерировал событие

Вобщем у меня вопрос такой, как определить имя объекта, который сгенерировал событие....
К примеру по нажатию кнопки происходит событие Button1Click(Sender: TObject) как можно определить имя объекта, вызвавшего событие. Можно ли это сделать с помощью Sender?
И ещё, можно ли объектам присваивать свои события(процедуры)?
mixer94 вне форума Ответить с цитированием
Старый 14.07.2009, 14:37   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

1) конечно можно с помощью Sender:
Код:
 (Sender as TButton).Caption := 'caption';
или
Код:
 TButton(Sender).Caption := 'caption';
2) Конечно можно присваивать свои события:
Код:
 ...
 private
 ...
  procedure ButtonClick(Sender: TObject);
 ...
procedure ...
begin
 Button1.OnClick := ButtonClick;
end;
Самое главное, чтобы параметры совпадали.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 14.07.2009, 14:53   #3
mixer94
Пользователь
 
Аватар для mixer94
 
Регистрация: 07.06.2009
Сообщений: 40
По умолчанию

За 1 большое спасибо,
на счёт второго: нужно чтобы были свои параметры, к примеру событию onclick кнопки сделать bclick(name: string) или как-то по другому...
mixer94 вне форума Ответить с цитированием
Старый 14.07.2009, 14:56   #4
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

нет, надо так:
Код:
bclick(Sender: TObject);
ведь обрабатывается событие так:
Код:
procedure Button1Click(Sender: TObject);
а тут параметр
Код:
Sender: TObject
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 14.07.2009, 15:33   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Сообщение от mixer94 Посмотреть сообщение
За 1 большое спасибо,
на счёт второго: нужно чтобы были свои параметры, к примеру событию onclick кнопки сделать bclick(name: string) или как-то по другому...
Объявить наследника, переопределить соответствующие методы.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменное имя объекта transgd Microsoft Office Excel 3 16.04.2009 12:17
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта User>lia Общие вопросы Delphi 4 16.01.2009 16:37
при навелении на любой объект на форме в лабеле имя объекта Arkuz Общие вопросы Delphi 6 02.06.2008 09:15