Ну, собственно, ответ тебе почти дали.
Расстановка Tag'ов в нужном порядке, далее по текущему находим следующий (цикл по всем компонентам) и делаем его Checked.
вообще, если радиокнопки создаются динамисески, то можно просто при создании запихать их в массив и дальше работать с этим массивом:
Код:
type
TForm1=class(TForm)
private
FButtons : TObjectList;
end;
...
procedure TForm1.FormCreate(Sender : TObject);
begin
FButtons := TObjectList.Create(False);
end;
procedure TForm1.CreateRB(N : Integer);
var
I : Integer;
B : TRadioButton;
begin
FButtons.Clear;
For I := 1 To N Do
Begin
B := TRadioButton.Create(Self);
B.Top := I * 10;
B.Left := 10;
FButtons.Add(B);
B.Parent := GroupBox1;
End;
(FButtons[0] As TRadioButton).Checked := True;
end;
procedure TForm1.Button1Click(Sender : TObject);
var
I : Integer;
begin
For I := 0 To FButtons.Count-1 Do
If (FButtons[i] As TRadioButton).Checked Then
Begin
If I < FButtons.Count-1
Then (FButtons[I+1] As TRadioButton).Checked := True
Else (FButtons[0] As TRadioButton).Checked := True
End;
end;