Autor Beitrag
Metschu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135

Windows XP SP2 Home
Delphi 7; Delphi XE2-Starter
BeitragVerfasst: So 12.06.11 19:40 
Hallo zusammen,

ich bin gerade dabei meinen Programmcode etwas aufzuräumen.

Hierbei wollte ich die Abfrage, ob mindestens eine von 8 Checkboxen angeklickt ist, vereinfachen bzw zumsammenfassen.

Momentan ist das mit einer "If (Checkbox1.checked) or (Checkbox2.checked) or ..." gelöst.

Die Checkboxen haben alle den gleichen Namen und sind nummeriert.

Gibt es dafür eine "Sammelabfrage"?

Ne andere Idee wäre das noch mit einer For-Schleife zu lösen, ist aber Codemäßig genausoviel Aufwand:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
For i:=1 to 8 do 
 If TCheckBox(FindComponent('CheckBox'+IntToStr(i))).checked
  then begin;
   weiter:=true;
   breake
  end;

if Weiter
 then ....


Gruß

Torsten
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 12.06.11 19:47 
So etwas musst du dir dann selbst basteln. Du kannst z.B. einen class helper für TForm schreiben, der das macht.

Vorgefertigt gibt es das jedenfalls noch nicht. ;-)

// EDIT:
Wobei ich gerade sehe, dass du noch Delphi 7 hast. Damals gab es noch keine class helper. Da kannst du dann nur eine Zusatzroutine irgendwo unterbringen und die dann aufrufen.

Für diesen Beitrag haben gedankt: Metschu