Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Много кнопок - одна процедура


d3777 ©   (2006-04-04 23:27:00) 

Подскажите пожалуйста: есть, например, 10 кнопок. Нужно вызвать одну и туже процедуру но с разными параметрами
(передаётся одно целое число).
Понял что нужно использовать Sender....... а дальше?


d3777   (2006-04-05 00:20:00) [1]

всем огромное спасибо
особенно за скорость ответа!!!!!!
а то уже третий день над этим бьюсь :(


sniknik   (2006-04-05 00:09:00) [2]

присваиваеш методу onClick всех 10-и кнопок...

procedure TForm1.ButtonClick(Sender: TObject);

procedure Hello(Tag: integer);
begin
  Caption:= IntToStr(Tag);
end;

begin
 Hello(TComponent(Sender).Tag);
end;


вот тебе и вызов одной и тоже процедуры с разными параметрами (если Tag конечно разный поставиш у кнопок)


GanibalLector   (2006-04-04 23:47:00) [3]

2 Reindeer Moss Eater ©   (04.04.06 23:43) [3]
Угу,не выйдет :)
Тогда,можно так :
if TButton(Obj).Name='Button1' then ...


Reindeer Moss Eater   (2006-04-04 23:43:00) [4]

А что, если Tag будет одинаковым, ничего не выйдет?
:)


GanibalLector   (2006-04-04 23:39:00) [5]

Только у кнопок Tag сделай разным.


...
private
   procedure Hello(Obj:TObject);
   { Private declarations }
 public
...
procedure TForm1.Button1Click(Sender: TObject);
begin
 Hello(Sender);
end;

procedure TForm1.Hello(Obj: TObject);
begin
 case TButton(Obj).Tag of
  0:Caption:='0';
  1:Caption:='1';
 end;
end;


Reindeer Moss Eater   (2006-04-04 23:38:00) [6]

а дальше - больше


Наверх

Титульная страница Поиск, карта сайта Написать письмо