AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Count Checkbox?

Ein Thema von Tommy1988 · begonnen am 26. Jan 2007 · letzter Beitrag vom 23. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Tommy1988
(Gast)

n/a Beiträge
 
#1

Count Checkbox?

  Alt 26. Jan 2007, 18:50
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?
  Mit Zitat antworten Zitat
Benutzerbild von p0w3r5tr34m3r
p0w3r5tr34m3r

Registriert seit: 18. Aug 2003
Ort: Monheim am Rhein
153 Beiträge
 
RAD-Studio 2009 Pro
 
#2

Re: Count Checkbox?

  Alt 26. Jan 2007, 19:03
Hi,

versuchs doch mal mit einer For - Schleife und FindComponent..

Bsp.

Delphi-Quellcode:
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;
Musst den Code halt nur noch anpassen
Hoffe es ist das was du haben wolltest.

Mit freundlichen Grüßen
p0w3r5tr34m3r

// EDiT
- kleiner bugfix (Der Parameter CheckBox muss als String übergeben werden)
Florian Cülter
ich bin ein notorischer alles-klein-schreiber!

der 100. Beitrag nach 3 Jahren 25 Wochen und einem Tag
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#3

Re: Count Checkbox?

  Alt 26. Jan 2007, 19:07
Delphi-Quellcode:
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;
Inkompatible Typen: 'string' und 'TCheckBox'
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Count Checkbox?

  Alt 26. Jan 2007, 19:09
Hallo Tommy,

viele Wege führen nach Rom:

Delphi-Quellcode:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Count Checkbox?

  Alt 26. Jan 2007, 21:02
Zitat von marabu:
  Inc(n, Ord(CheckBox3.Checked));
Das ist aber schon eklig.
Uli Gerhardt
  Mit Zitat antworten Zitat
Tumm

Registriert seit: 17. Jun 2006
Ort: Celle
171 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Count Checkbox?

  Alt 26. Jan 2007, 21:03
guck mal hier
Code Gear = Kot Gier
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#7

Re: Count Checkbox?

  Alt 27. Jan 2007, 18:11
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:
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;
Nur leider zählt er die RadioButtons so wie ich sie dort eingetragen habe nicht mit

was ist da falsch?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Count Checkbox?

  Alt 27. Jan 2007, 18:38
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
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#9

Re: Count Checkbox?

  Alt 27. Jan 2007, 19:43
ich lasse mir die summe als zahl ausgeben

Label59.Caption := IntToStr(n_2); 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
(zu deiner frage..)
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Count Checkbox?

  Alt 27. Jan 2007, 20:01
hi
ich würds auch über FindComponent machen:

Delphi-Quellcode:
var I, N: Integer;
//...
N := 0;
for I := 1 to 6 do
  if (FindComponent('CheckBox'+IntToStr(I)) as TCheckBox).Checked then
    Inc(N);
In N steht dann die Anzahl.
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
Dominik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
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