Вниз
Скачать: CL | DM;

Вопрос делфисту, тема TButton   Найти похожие ветки 

← →
4aynik   (2004-04-24 17:53) [0]

в реж. run-time я создаю несколько кнопок(button.create), сохраняю их в массиве типа Тбаттон.
потом при нажатии каждой выполняется одно и то же действие, как
понять какая из них нажата, чтобы выполнять разные действия.
пробую, но никак не додумаюсь.
Спасибо!


← →
Mihey ©   (2004-04-24 18:53) [1]

Запиши в тэг кнопки индекс, а потом (Sender As TButton).Tag.


← →
4aynik   (2004-04-25 00:58) [2]

Спасибо!


← →
KirillSKTS   (2004-04-25 09:46) [3]

А Sender тогда зачем???
вот обработчик события:

procedure TForm1.Button1Click(Sender: TObject);
begin
if Sender is TButton then
begin
 if Sender=ArrayOfButton[0] then ....... else
 if Sender=ArrayOfButton[1] then ....... else
 if Sender=ArrayOfButton[2] then ....... else
........
 if Sender=ArrayOfButton[n] then ....... else
end;


← →
Polevi ©   (2004-04-25 09:51) [4]

не проще ли каждой кнопке назначить свой обработчик из которого сначала вызывать некую общую для всех процедуру, если это необходимо ?


← →
KirillSKTS   (2004-04-25 10:25) [5]

Я его понимаю - бывает не проще. Так гораздо лучше читается. Если у меня на 9 задвижек на мнемосхеме, которая отображает один из 12 фильтров, один обработчик события. Отладка просто прелесть. Действия то типовые: Откр-Закр отличаются только номером фильтра и задвижки... Задвижка-это компонента с событием ОнКлик.


← →
Anatoly Podgoretsky ©   (2004-04-25 10:42) [6]

Разные действия, разные обработчики, одинаковые действия общий обработчик. Зачем городить кашу из if/case


← →
KirillSKTS   (2004-04-25 11:19) [7]

не совсем одинаковые - один и тот же набор действий для каждой задвижки но с разными коэф. В обоих случаях получаем один и тот же результат. Я сначала делал 9 обработчиков - захламляется текст одним и тем же+ дублируется код+размер кода (ерунда конечно, но ведь красиво должно быть :). После сделал 9 обработчиков которые вызывают одну функцию...а еще после все свел в одну функцию - просто и красиво. ИМХО - на вкус и цвет как известно. :) Но главное результат-один и тот же. А насчет каши... незнаю. Десяток функций или одна конструкция if/case это уже как нравится.


← →
evvcom ©   (2004-04-25 15:47) [8]

Нет, это мусор! А если надо будет 1000 элементов сделать? На каждый из них копировать обработчик? Сам же утонешь потом в этой каше.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
3-1078892257
garry79
2004-03-10 07:17
2004.04.11
Почему IBExpert не может показать некоторые данные в базе?


6-1075729628
LordBTR
2004-02-02 16:47
2004.04.11
Структура GROUP_USERS_INFO_0.


9-1066828614
chuckloon
2003-10-22 17:16
2004.04.11
Поворот Bitmap - а


3-1079102196
Ceval
2004-03-12 17:36
2004.04.11
как вывести в Dbtext дату обновления файла


1-1082345043
Сергей Бушин
2004-04-19 07:24
2004.04.11
Как вытащить данные из Excel?




   Наверх