Also ich würde ja versuchen erstmal Übersicht zu schaffen, indem ich die ganzen AnsichtForm.Findcomponent auslagern würde:
Delphi-Quellcode:
// Index einer gesuchten RadioGroup
function GetRadioGroupIdx(aParent : TWinControl; No : Integer) : Integer;
var
aName : String;
begin
aName := 'RadioGroup' + IntToStr(No);
Result := (aParent.FindComponent(aName)as TRadioGroup).ItemIndex;
end;
// Status einer Checkbox
function GetCheckBoxState(aParent : TWinControl; No : Integer) : Boolean;
var
aName : String;
begin
aName := 'CheckBox' + IntToStr(No);
Result := (aParent.FindComponent(aName) as TCheckBox).Checked;
end;
// usw...
procedure TForm1.Button3Click(Sender: TObject);
begin
// der Case-Konstrukt wird dann übersichtlicher:
case GetRadioGroupIdx(AnsichtForm, iRadioGroup) of
0:
begin
if GetCheckBoxState(AnsichtForm, iCheckBox) then
Dann sieht man auch besser durch, ich erkenne kaum was, weil ich das nicht kann, solchen Code zu lesen.