Hallo,
Beim drücken auf einen OK-Button soll geprüft werden ob ein
(einer von mehreren!) RadioButton aktiviert is oder nicht,
wenn nicht soll einen Message kommen die einen Auffordert ein
RadioButton zu aktivieren.
schreib dir eine Funktion:
function TForm1.IsRadioButtonActive: Boolean;
var
i: Integer;
begin
Result := false;
for i := 0 to ControlCount -1 do begin
if Controls[i] is TRadioButton and TRadioButton(Controls[i]).Checked = true then begin
Result := true;
Exit;
end{if};
if Controls[i] is TRadioGroup and TRadioGroup(Controls[i]).ItemIndex \> -1 then begin
Result := true;
Exit;
end{if};
end{for};
end;
Diese Funktion gibt true zurück, wenn irgendein Radiobutton oder eine Radiogroup auf dem Formular gedrückt ist. Du kannst auch die Radiobuttons und Radiogroups einzeln abfragen. Das hat den Vorteil, dass du auch solche erfasst, die auf Panels liegen, hat aber den Nachteil, dass du bei jedem neuen Radiobutton / Radiogroup diese auch in der Funktion eintragen musst, während obige Funktion auch neu hinzukommende erfasst.
Gruß, Niels