|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.04.2011, 11:15 | #1 |
Регистрация: 17.03.2011
Сообщений: 9
|
Как получить доступ к процедурам объекта, не указывая его имя?
Привет всем от очередного быдлокодера.
Сперва пояснения. Есть несколько TImage на форме. При клике по каждому вызывается абсолютно одинаковая процедура, за исключением того, что меняется имя самого TImage - Image1, Image2, Image3 и т.д. Ну и вопрос: так как в дельфи получить доступ в объекту и его процедурам, не используя имя, учитывая только, что именно в этот момент по нему кликают? |
21.04.2011, 11:20 | #2 |
Очень суровый
Участник клуба
Регистрация: 17.12.2009
Сообщений: 1,988
|
Что то не понял. Можно пример? Для этого есть ключевое слово is.
if (sender is Tчототам) then делать чототам. Те если был клик по какой нибудь любой кнопке то Имя сендера получается ключевым словом (Sender as Tbutton). Те при клике по какой-то кнопке вам надо работать с ней вцелом: Код:
Ненавижу быть как все, но люблю, чтобы все были как я.
Последний раз редактировалось MyLastHit; 21.04.2011 в 11:30. |
21.04.2011, 11:28 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
всем Image в качестве обработчика Onckick назначается ОДНА и таже процедура
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.04.2011 в 11:33. |
21.04.2011, 11:28 | #4 |
Регистрация: 17.03.2011
Сообщений: 9
|
Спасибо за оперативность, но по-моему не катит.
Пример... эээ... Ну например: procedure TMainForm.ButtonXClick(Sender: TObject); begin ButtonX.Caption:='is Button X'; end; Вместо X число от 1 до 100000000. Хотелось бы назначить одну общую (и довольно длинную) процедуру как-то сразу на всех, да так, чтобы не пришлось каждому баттону\имейджу\чему-нибудь её отдельно прописывать. evg_m Так как через sender вызывать процеду TImage? Canvas, picture и всё остальное? Последний раз редактировалось Freddy_Kruger; 21.04.2011 в 11:31. Причина: по семейным обстоятельствам |
21.04.2011, 11:36 | #5 |
Регистрация: 17.03.2011
Сообщений: 9
|
Всё, всем спасибо. Ждите вечером альфа-версию моего SuperTextEditor.
|
21.04.2011, 11:37 | #6 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
21.04.2011, 11:38 | #7 |
Очень суровый
Участник клуба
Регистрация: 17.12.2009
Сообщений: 1,988
|
Ааа, ну понятно. Для этого есть FindComponent.
Пример назначения одной процедуры всем Label1, Label2,...,Label10 кроме Label 8 например: Код:
Ненавижу быть как все, но люблю, чтобы все были как я.
|
21.04.2011, 11:41 | #8 |
Регистрация: 17.03.2011
Сообщений: 9
|
MyLastHit
Обана... Ещё раз спасибо. Спасибище! |
23.04.2011, 12:45 | #9 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
а ПРИМЕННИЕ (вызов процедуры) для всех подходящих объектов НАЗНАЧЕНИЕ процедуро обработчиков событий делается немного не так. Код:
MyProcedure.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 23.04.2011 в 13:00. |
|
23.04.2011, 17:12 | #10 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
Чтобы уж окончательно добить вопрос: http://www.delphikingdom.com/asp/vie...?catalogid=342
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли в макрос передать имя объекта, его вызывающего | buagbu | Microsoft Office Excel | 3 | 16.04.2010 08:54 |
Как получить входящую/исходящую скороть сети/подключения? Зная его имя. | TwiX | Работа с сетью в Delphi | 10 | 01.04.2010 19:17 |
Имя переменной как переменная. Как получить доступ к такой переменной? | Denni | Microsoft Office Access | 8 | 02.04.2009 10:06 |
Как изменить свойство объекта, если его имя находится в переменной? | Aiden | Компоненты Delphi | 1 | 13.09.2007 07:57 |