Если у них один обрабочик, то просто, правда тебе нужно будет создать массив указателей на TRadioButton:
| Код | var RadioButtons: array[1..50] of TRadioButton; //Где то до вызова :)
//Потом вызываешь так for i := 1 to 50 do RadioButtonClick(RadioButtons[i]);
|
Если же обработчики разные, то можешь сделать так:
| Код | var RadioButtonEvents: array[1..50] of TNotifyEvent; //Опять же массив нужно заполнить, например в OnCreate :)
for i := 1 to 50 do RadioButtonEvents[i](nil); //ni только в том случае, если ты ни как параметр Sender внутри не используешь
|
Либо даже так, но этот способ будет значительно тормознее(особенно при наличии большого количество других компонентов на форме):
| Код | procedure TForm1.Button1Click(Sender: TObject); var i: integer; RadioButton: TRadioButton; begin for i := 1 to 50 do begin RadioButton := FindComponent(Format('R%d', [i])) as TRadioButton; if Assigned(RadioButton) and Assigned(RadioButton.OnClick) then RadioButton.OnClick(RadioButton); end; end;
| |