Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.21;
Скачать: 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 вся ветка

Текущий архив: 2009.06.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
15-1239568612
Юрий
2009-04-13 00:36
2009.06.21
С днем рождения ! 13 апреля 2009 понедельник


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


2-1240998993
AG
2009-04-29 13:56
2009.06.21
Delphi, матрицы


15-1239804912
IvanIvan2
2009-04-15 18:15
2009.06.21
. PhysicalDriveN


4-1211554502
sssyura
2008-05-23 18:55
2009.06.21
Панель инструментов