![]() |
Count Checkbox?
hallo, ich würde gerne das so haben, dass die checkboxen die "checked" sind gezählt werden.
kann man (wenn z.b. 2 boxen checked sind) auch in einer Combobox eine 2 stehen haben? |
Re: Count Checkbox?
Hi,
versuchs doch mal mit einer For - Schleife und FindComponent.. Bsp.
Delphi-Quellcode:
Musst den Code halt nur noch anpassen :)
var
i, count: integer; c: TComponent; begin for i := 0 to 9 do begin c := FindComponent('CheckBox'+inttostr(i)); if (c as TCheckbox).Checked then inc(count); end; ShowMessage('Es sind '+inttostr(count)+' CheckBoxen angeklickt worden'); end; Hoffe es ist das was du haben wolltest. Mit freundlichen Grüßen p0w3r5tr34m3r // EDiT - kleiner bugfix (Der Parameter CheckBox muss als String übergeben werden) |
Re: Count Checkbox?
Delphi-Quellcode:
Inkompatible Typen: 'string' und 'TCheckBox'
procedure TForm1.Button1Click(Sender: TObject);
var i, count: integer; c: TComponent; begin for i := 0 to 9 do begin c := FindComponent(CheckBox1+inttostr(i)); // das ist die rote zeile if (c as TCheckbox).Checked then inc(count); end; ShowMessage('Es sind '+inttostr(count)+' CheckBoxen angeklickt worden'); end; |
Re: Count Checkbox?
Hallo Tommy,
viele Wege führen nach Rom:
Delphi-Quellcode:
Grüße vom marabu
var
n: Word; begin n := 0; if CheckBox1.Checked then n := n + 1; if CheckBox2.Checked then Inc(n); Inc(n, Ord(CheckBox3.Checked)); Edit.Text := IntToStr(n); end; |
Re: Count Checkbox?
Zitat:
|
Re: Count Checkbox?
guck mal
![]() |
Re: Count Checkbox?
hallo ich habe das problem jetzt durch eure vorschläge "wunderbar" gelöst.
nur es ist so: ich habe neben 10 Checkboxen auch 2 RadioButtons auf meinem Formular.
Delphi-Quellcode:
Nur leider zählt er die RadioButtons so wie ich sie dort eingetragen habe nicht mit
procedure TForm1.SpeedButton3Click(Sender: TObject);
var addieren_2, ergebnis_2, zahl_2, zahl1_2, zahl2_2, zahl3_2, zahl4_2, zahl5_2, zahl6_2, zahl7_2, zahl8_2, zahl9_2,zahl10_2, anzahl_2 : real; n_2: Word; begin n_2 := 0; if CheckBox3.Checked then n_2 := n_2 + 1; if CheckBox4.Checked then Inc(n_2); if CheckBox5.Checked then Inc(n_2); if CheckBox6.Checked then Inc(n_2); if CheckBox7.Checked then Inc(n_2); if CheckBox19.Checked then Inc(n_2); if CheckBox20.Checked then Inc(n_2); if CheckBox21.Checked then Inc(n_2); if CheckBox23.Checked then Inc(n_2); if CheckBox15.Checked then Inc(n_2); //Radios if RadioButton1.Checked then Inc(n_2); if RadioButton2.Checked then Inc(n_2); Label59.Caption := IntToStr(n_2); //... hier folg noch viel mehr und irgentwann kommt end; end; was ist da falsch? |
Re: Count Checkbox?
Hallo,
woran merkst du denn, dass deine RadioButtons nicht mitgezählt werden? Kennst du den Unterschied zwischen der "Checked-Summe" bei CheckBoxen (maxSum = n) und RadioButtons (maxSum = 1)? Welche Bedeutung hat die Summe eigentlich für dich? Freundliche Grüße |
Re: Count Checkbox?
ich lasse mir die summe als zahl ausgeben
Delphi-Quellcode:
Ich weis nicht wieso aber komischerweise klappts jetzt.. hab noch nichtmal was gemacht wäre aber schön, wenn du mir den unterschied nennen würdest
Label59.Caption := IntToStr(n_2);
(zu deiner frage..) |
Re: Count Checkbox?
hi
ich würds auch über FindComponent machen:
Delphi-Quellcode:
In N steht dann die Anzahl.
var I, N: Integer;
//... N := 0; for I := 1 to 6 do if (FindComponent('CheckBox'+IntToStr(I)) as TCheckBox).Checked then Inc(N); einen Nachteil hat das ganze aber: Mann muss seine CheckBoxen CheckBox1, CheckBox2 etc nennen und der compiler hat bei dir gemeckert weil du die '' vergessen hast |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz