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

Нажатие кнопки   Найти похожие ветки 

← →
Knob   (2009-05-05 17:00) [0]

На форме есть очень много кнопок, как сделать единую процедуру для всех В процедуре обязательно нужно знать какую именно кнопку нажали. Как определить её?


← →
Игорь Шевченко ©   (2009-05-05 17:01) [1]

Sender


← →
sniknik ©   (2009-05-05 17:01) [2]

> Как определить её?
Sender


← →
Knob   (2009-05-05 17:03) [3]

Сколько раз пробывал, разве в Sender можно узнать название её?


← →
Palladin ©   (2009-05-05 17:05) [4]

сколько раз пробовал чего? и где вы такой язык берете...

ShowMessage(TComponent(Sender).Name);


← →
Knob   (2009-05-05 17:07) [5]

Спасибо за помощь


← →
Amoeba ©   (2009-05-05 17:36) [6]

Эффективнее идентифицировать кнопки не по
TComponent(Sender).Name
а по
TComponent(Sender).Tag

Тогда можно применить в коде оператор Case.

Естественно, каждой кнопке нужно задать свое уникальное значение Tag.


← →
Knob   (2009-05-05 17:45) [7]

И вам спасибо


← →
Игорь Шевченко ©   (2009-05-05 18:27) [8]

Amoeba ©   (05.05.09 17:36) [6]


> Эффективнее идентифицировать кнопки не по


И забыть этот Tag присвоить


> Тогда можно применить в коде оператор Case.


И сделать совершенно нечитабельный код.

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

На самом деле полезнее, раз уж назначаются одинаковые события на срабатывание кнопки, делать эти события независимыми от того, на какую кнопку нажали. А если они зависят, то назначать каждое событие конкретной кнопке.


← →
Palladin ©   (2009-05-05 18:58) [9]

Ну иногда случаются такие вещи, как 95% кода одинаковы, а 5% зависят от источника... а мы же не китайцы )
tag, конечно, штука полезная, но, согласен с Игорем, применение его для идентификации довольно сомнительно.


← →
Германн ©   (2009-05-05 19:19) [10]


> tag, конечно, штука полезная, но, согласен с Игорем, применение
> его для идентификации довольно сомнительно.
>

На вкус и цвет...
:)


← →
Denis__ ©   (2009-05-05 23:24) [11]

Сделать целочисленные константы, присвоить их значения тагу %) Код станет читабельным) *CRAZY*


← →
Германн ©   (2009-05-06 02:09) [12]


> Denis__ ©   (05.05.09 23:24) [11]
>
> Сделать целочисленные константы, присвоить их значения тагу
> %) Код станет читабельным) *CRAZY*
>

???


← →
Германн ©   (2009-05-06 02:17) [13]

Имхо.
При использовании тэгов (свойство Tag в Дельфи), для "удобочитаемости" кода ,достаточно привести комментарии, которые нужно приводить всегда!


← →
Игорь Шевченко ©   (2009-05-06 02:28) [14]

Германн ©   (06.05.09 02:17) [13]


> При использовании тэгов (свойство Tag в Дельфи), для "удобочитаемости"
> кода ,достаточно привести комментарии, которые нужно приводить
> всегда!


"Штирлиц — добрая душа, — вздохнул второй фронтовик, — я помню, три дня назад тут били японского шпиона, так все били ногами, а Штирлиц — нет" (с)



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

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



Память: 0.48 MB
Время: 0.008 c
15-1239723295
oxffff
2009-04-14 19:34
2009.06.21
oxffff в Москве


2-1241003506
Начинающий93
2009-04-29 15:11
2009.06.21
сохранение чтение в из файла


15-1239525868
Kerk
2009-04-12 12:44
2009.06.21
С днем космонавтики!


11-1201597213
Elec3C
2008-01-29 12:00
2009.06.21
Баг ListBox.DoubleBuffer := True


2-1241619626
Maksas
2009-05-06 18:20
2009.06.21
Вопрос по Мемо




   Наверх