Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Checkboxen zurücksetzen? (https://www.delphipraxis.net/100623-checkboxen-zuruecksetzen.html)

Jack23 1. Okt 2007 16:00


Checkboxen zurücksetzen?
 
Hallo,

ich habe 20 check boxen und die möchte ich alle durch einen klick auf einen Button wieder zurücksetzen. Also das nichts mehr angekreuzt ist.

DeddyH 1. Okt 2007 16:05

Re: Checkboxen zurücksetzen?
 
Zuerst mal die simple Methode (da kommen nachher bestimmt weitere Vorschläge, aber ich mache jetzt Feierabend ;)):
Delphi-Quellcode:
procedure TMainform.btnResetClick(Sender: TObject);
begin
  CheckBox1.Checked := false;
  CheckBox2.Checked := false;
  CheckBox3.Checked := false;
  CheckBox4.Checked := false;
  ...
  CheckBox20.Checked := false;
end;

Bastler 1. Okt 2007 16:35

Re: Checkboxen zurücksetzen?
 
Hi;
was spricht gegen das hier:
Delphi-Quellcode:
procedure zuruecksetzen;
var i:integer;
begin
for i:=1 to 20 do
  begin
  TCheckBox(Form1.FindComponent('Checkbox'+inttostr(i))).checked:=false;
  end;
end;
... ich würds so machen... vor allem angenehmer, wenns nich 20 sondern 200 Checkboxenen sind...

DeddyH 1. Okt 2007 16:44

Re: Checkboxen zurücksetzen?
 
Das setzt aber voraus, dass die Checkboxen auch durchgehend "Checkbox1" bis "CheckBox20" heißen. Ansonsten könnte man sich über das Tag behelfen.

shmia 1. Okt 2007 16:48

Re: Checkboxen zurücksetzen?
 
Es gibt übrigens auch die Komponente TCheckListBox. Ideal, wenn man sehr viele gleichartige Checkboxen braucht.

DP-Maintenance 1. Okt 2007 17:08

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Frage

hjm 1. Okt 2007 17:20

Re: Checkboxen zurücksetzen?
 
Hallo,

was auch geht, ein Array mit den in Frage kommenden Checkboxen zu erstellen.

Funktioniert auch dann, wenn noch mehrere andere Checkboxen vorhanden sind.

Delphi-Quellcode:
var
  Mein_CH_box : Array [0..19] OF TCheckbox;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Mein_CH_box[ 1] := Checkbox1;   // CheckBoxen in Array eintragen
  Mein_CH_box[ 2] := Checkbox3;
  Mein_CH_box[ 3] := Checkbox5;
  Mein_CH_box[ 4] := Checkbox6;
              ..
              ..
              ..
  Mein_CH_box[19] := Checkbox38;
end;

procedure TForm1.ClearChecks;
var
  i : Integer;
begin
  for i := 0 TO 19 DO Mein_CH_box[i].Checked := False; // Checked entfernen
end;

DeddyH 1. Okt 2007 17:31

Re: Checkboxen zurücksetzen?
 
Ehrlich gesagt finde ich shmias Vorschlag am Elegantesten.

uwewo 2. Okt 2007 07:00

Re: Checkboxen zurücksetzen?
 
Hier noch eine Möglichkeit, allerdings nur wenn Du alle CheckBoxen ändern willst.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var i : Integer;
    c : TObject;
begin
  for i := 0 to ComponentCount-1 do
    begin
      c := Components[i];
      if (c is TCheckBox) then (c as TCheckBox).Checked := False;
    end;
end;

Bastler 2. Okt 2007 15:09

Re: Checkboxen zurücksetzen?
 
@ DeddyH: Du gehts doch selbst von aus, das die alle gleich heißen :lol:


@ hjm: hierfür würde ich ja wieder ne for-schleife setzten... allein aus faulheit... :D

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Mein_CH_box[ 1] := Checkbox1;   // CheckBoxen in Array eintragen
  Mein_CH_box[ 2] := Checkbox3;
  Mein_CH_box[ 3] := Checkbox5;
  Mein_CH_box[ 4] := Checkbox6;
              ..
              ..
              ..
  Mein_CH_box[19] := Checkbox38;
end;
Ich würd auch wie Shima sagt machen, solange ich die ganzen CheckBoxen nicht kreuz und quer auf der Form verteilt habe, und diese Funktion nur zum zurücksetzten brauche...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
Seite 1 von 2  1 2      

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