Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизВопрос делфисту, тема TButton Найти похожие ветки
← →
4aynik (2004-04-24 17:53) [0]в реж. run-time я создаю несколько кнопок(button.create), сохраняю их в массиве типа Тбаттон.
потом при нажатии каждой выполняется одно и то же действие, как
понять какая из них нажата, чтобы выполнять разные действия.
пробую, но никак не додумаюсь.
Спасибо!
← →
4aynik (2004-04-24 17:53) [0]в реж. run-time я создаю несколько кнопок(button.create), сохраняю их в массиве типа Тбаттон.
потом при нажатии каждой выполняется одно и то же действие, как
понять какая из них нажата, чтобы выполнять разные действия.
пробую, но никак не додумаюсь.
Спасибо!
← →
Mihey © (2004-04-24 18:53) [1]Запиши в тэг кнопки индекс, а потом (Sender As TButton).Tag.
← →
Mihey © (2004-04-24 18:53) [1]Запиши в тэг кнопки индекс, а потом (Sender As TButton).Tag.
← →
4aynik (2004-04-25 00:58) [2]Спасибо!
← →
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;
← →
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]не проще ли каждой кнопке назначить свой обработчик из которого сначала вызывать некую общую для всех процедуру, если это необходимо ?
← →
Polevi © (2004-04-25 09:51) [4]не проще ли каждой кнопке назначить свой обработчик из которого сначала вызывать некую общую для всех процедуру, если это необходимо ?
← →
KirillSKTS (2004-04-25 10:25) [5]Я его понимаю - бывает не проще. Так гораздо лучше читается. Если у меня на 9 задвижек на мнемосхеме, которая отображает один из 12 фильтров, один обработчик события. Отладка просто прелесть. Действия то типовые: Откр-Закр отличаются только номером фильтра и задвижки... Задвижка-это компонента с событием ОнКлик.
← →
KirillSKTS (2004-04-25 10:25) [5]Я его понимаю - бывает не проще. Так гораздо лучше читается. Если у меня на 9 задвижек на мнемосхеме, которая отображает один из 12 фильтров, один обработчик события. Отладка просто прелесть. Действия то типовые: Откр-Закр отличаются только номером фильтра и задвижки... Задвижка-это компонента с событием ОнКлик.
← →
Anatoly Podgoretsky © (2004-04-25 10:42) [6]Разные действия, разные обработчики, одинаковые действия общий обработчик. Зачем городить кашу из if/case
← →
Anatoly Podgoretsky © (2004-04-25 10:42) [6]Разные действия, разные обработчики, одинаковые действия общий обработчик. Зачем городить кашу из if/case
← →
KirillSKTS (2004-04-25 11:19) [7]не совсем одинаковые - один и тот же набор действий для каждой задвижки но с разными коэф. В обоих случаях получаем один и тот же результат. Я сначала делал 9 обработчиков - захламляется текст одним и тем же+ дублируется код+размер кода (ерунда конечно, но ведь красиво должно быть :). После сделал 9 обработчиков которые вызывают одну функцию...а еще после все свел в одну функцию - просто и красиво. ИМХО - на вкус и цвет как известно. :) Но главное результат-один и тот же. А насчет каши... незнаю. Десяток функций или одна конструкция if/case это уже как нравится.
← →
KirillSKTS (2004-04-25 11:19) [7]не совсем одинаковые - один и тот же набор действий для каждой задвижки но с разными коэф. В обоих случаях получаем один и тот же результат. Я сначала делал 9 обработчиков - захламляется текст одним и тем же+ дублируется код+размер кода (ерунда конечно, но ведь красиво должно быть :). После сделал 9 обработчиков которые вызывают одну функцию...а еще после все свел в одну функцию - просто и красиво. ИМХО - на вкус и цвет как известно. :) Но главное результат-один и тот же. А насчет каши... незнаю. Десяток функций или одна конструкция if/case это уже как нравится.
← →
evvcom © (2004-04-25 15:47) [8]Нет, это мусор! А если надо будет 1000 элементов сделать? На каждый из них копировать обработчик? Сам же утонешь потом в этой каше.
← →
evvcom © (2004-04-25 15:47) [8]Нет, это мусор! А если надо будет 1000 элементов сделать? На каждый из них копировать обработчик? Сам же утонешь потом в этой каше.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c