Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prüfen ob mehrere Checkboxen = checked (https://www.delphipraxis.net/141990-pruefen-ob-mehrere-checkboxen-%3D-checked.html)

DeddyH 20. Okt 2009 12:10

Re: Prüfen ob mehrere Checkboxen = checked
 
Aus Performancegründen würde ich entweder wie oben break benutzen oder es so machen:
Delphi-Quellcode:
i := 0;
b := false;
while (i < ControlCount) and not b do
  begin
    if Controls[i] is TCheckbox then
      b := TCheckbox(Controls[i]).Checked;
    inc(i);
  end;

if b then
  //was auch immer

Frederika 23. Okt 2009 17:25

Re: Prüfen ob mehrere Checkboxen = checked
 
oder kurz und performant so:

Delphi-Quellcode:
function TForm1.AnyCheckbox: Boolean;
  var i : Integer;
begin
  Result := True;
  for i := 0 to Pred(ControlCount) do
    if (Controls[i] is TCheckbox) and TCheckbox(Controls[i]).Checked then Exit;
  Result := False;
end;
(dafür muss natürlich "complete boolean eval" false sein)

Meflin 23. Okt 2009 18:32

Re: Prüfen ob mehrere Checkboxen = checked
 
Oder ganz ohne if, unter der waghalsigen Annahme, dass keine Checkbox das letzte Control in der Liste ist :angel:
Delphi-Quellcode:
function TForm1.AnyCheckbox: Boolean;
  var i : Integer;
begin
  Result := True;
  i := 0;
  while Result do begin
    Result := (Controls[i] is TCheckBox) and TCheckbox(Controls[i]).Checked;
    Inc(i);
  end;
end;
ka obs was bringt :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz