Ich arbeite auf Formularen gerne mit Actions und somit einer ActionList. Die hat ein Event OnUpdate. Das feuert "recht häufig" und ist mMn ganz praktisch für solche "
GUI"-Verändernden Prüfungen. Da brauchst du dann auch den Timer nicht. Und wenn du dann das eigentliche anpassen der
GUI in jeweils eigene Prozeduren verschiebst sieht das Ganze auch schon übersichtlich aus:
Delphi-Quellcode:
procedure TMain.ActionListUpdate(Action: TBasicAction; var Handled: Boolean);
begin
if (checkbox1.Checked) and (checkbox2.checked) then
SetScenario1 // hier gehen natürlich durchaus auch sinnvolle Namen
else if (checkbox1.Checked) and (checkbox3.checked) then
SetScenario12
//...
end;
procedure TMain.SetScenario1
begin
checkbox3.Enabled := false;
checkbox4.Enabled := false;
checkbox5.Enabled := false;
label1.caption := 'Geben Sie die Länge der Geraden a ein:';
label6.caption := 'Geben Sie die Länge der Geraden b ein:';
label3.Caption := 'Geben Sie die Länge der Geraden c ein:';
label4.Caption := 'Geben Sie den Winkel alpha ein:';
label5.Caption := 'Geben Sie den Winkel beta ein:';
end;
So als erster Schritt. Das geht aber sicher noch eleganter.