Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: suche einfache Lösung für Verzweigung

  Alt 23. Nov 2017, 17:45
Da die Frage recht allgemein gehalten ist, müssen wir uns mal in eine Richtung tasten...


Du kannst natürlich die if´s schachteln:

Delphi-Quellcode:
if CheckBox1.Checked then
begin
  if CheckBox11.Checked then
  begin
  end;
  if CheckBox12.Checked then
  begin
  end;
end;

Dann könntest Du alle Fälle "nummerieren" und case verwenden:
Delphi-Quellcode:
Value := WertberechnungAusCheckboxEinstellungen;
case Value of
 1:begin
   end;
 2:begin
   end;
 3:begin
   end;
end;
Das ist zwar letztlich das Gleiche wie Fall 1, aber trennt die Fallermittlung etwas besser von der Behandlung und erhöht ggf. die Lesbarkeit etwas.


Und man kann auch so etwas benutzen:
Label.Visible := (CheckBox1.Checked and CheckBox2.Checked);
PS: Wenn Du die Änderungen zyklisch in einem Timer prüfst und die Controls anpasst, solltest Du ggf. zunächst auf Änderungen prüfen.
In dem Fall wäre die Case-Variante sinnvoll. Du könntest den Value ermitteln und nur wenn dieser sich zum letzten Wert geändert hat die betreffenden Controls umstellen.

PS2: Setze Code mal bitte in Delphi-Tags, so ist der besser lesbar.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat