Сайт EduRM.ru |
Помощь
Поиск
Пользователи
Календарь
Портал
Обменник
|
| Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
![]() ![]() ![]() |
| Bloody Eagle |
Дата 20.03.2009 - 16:08
|
||||||
![]() ![]() Злобный Админ Профиль Сообщений: 4 032 |
В различных программах часто встречаются ситуации, когда на несколько разных обьектов нужно навесить практически одинаковые обработчики событий. Ярким примером тому может служить следующая программа (на ее основе можно сделать калькулятор). Итак, задача:
Очень часто даже те, кто программирует не первый год пытаются решить такую задачу "в лоб", навешивая на каждую кнопку по обработчику. Выглядит это примерно следующим образом:
Такое решение не может считаться приемлемым, и по моему его нельзя считать даже правильным, т.к. таким решением вы просто перечеркиваете всю парадигму обьектно-ориентированного программирования. А правильное решение очень простое. Дело в том, что в каждый обработчик события передается ссылка(указатель) на обьект, от которого это событие пришло. Обратите внимание, что каждый обработчик имеет параметр Sender типа TObject - это и есть тот самый указатель на обьект, сгенерировавший событие. Так что нам остается только привести его к нужному типу и вуаля - мы имеем доступ ко всем свойствам обьекта:
После этого мы можем назначить этот обработчик на все кнопки, и все это будет работать. -------------------- Не нарушай правила
Доступность моей аси на форуме не повод стучаться туда по всяким мелочам |
||||||
![]() |
![]() ![]() ![]() |