AGB  ·  Datenschutz  ·  Impressum  







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

Prüfen ob mehrere Checkboxen = checked

Ein Thema von SaFu · begonnen am 20. Okt 2009 · letzter Beitrag vom 23. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 10:48
Morgen,

habe mehrere checkboxen auf einer Form wie kann man jetzt in einem rutsch prüfen ob eine davon checked oder auch nicht ist.

habe es mal so versucht schein aber nicht ganz richtig zu sein


Delphi-Quellcode:
Var
   i: Integer;
Begin
   For i := 0 To ComponentCount - 1 Do
    Begin
      If Components[i] Is TComboBox Then
         (FindComponent( 'chk'+IntToStr(i)) as TComboBox).checked:= False;
    End;
End;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#2

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 10:54
Setzt Checked bei alle Checkboxen auf der Form auf False:

Delphi-Quellcode:
var
  i: Integer;
begin
  for i := 0 to ControlCount -1 do
  begin
    if Controls[i] is TCheckBox then
      TCheckBox(Controls[i]).Checked := False;
  end;
end;
EDIT: Zu deinen Code:
1. Du willst Checkboxen verwenden, überprüfst aber auf TComboBox
2. Enthält Components auch alle nicht-visuellen Komponenten, Controls nur visuelle, sollte also schneller sein
3. Hast du die aktuell gefundene Komponente im Array Components, verwendest dann aber FindComponent, macht doch keinen Sinn oder?
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 10:54
TComboBox? Is klar dass dann nich funktioniert oder
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 11:02
Ok das mit dem Combobox war ziemlich du ist mir garnet aufgefallen.

hab jetzt soweit umgeschrieben

Das mit dem Array habe ich nicht ganz verstanden
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 11:07
Warum verwendest du nicht gleich meinen Code?

Also, zu deinen neuen Schnipsel :
1. Geht die Schleife bis ComponentCount, du greifst aber dann auf Controls zu. Der Index eines Elements in Controls wird wahrscheinlich nicht das selbe Objekt wie in Components sein.
2. Ist FindComponent absolut überflüssig. In Controls bzw. Components sind alle Komponente vom Formular enthalten. Du durchgehst also die Liste (das Array) Controls, überprüfst ob es sich beim aktuellen Objekt (Controls[i]) um eine TCheckBox handelt (is TCheckBox), falls ja kannst du auf das Objekt direkt zugreifen in dem du Controls[i] auf TCheckBox castest (TCheckBox(Controls[i])), dann stehen dir alle Eigenschaften wie Name, Checked, Visible, etc. zur Verfügung. Hoffe das war verstandlich aonsten einfach fragen.

EDIT: Wo ist denn dein Code jetzt auf einmal hin?
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 11:11
Jetzt ja und siehe da es Funzt.

Danke.

//Edit:Hab gesehen das ich schrott geschrieben habe
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 11:11
Hallo,

willst du jetzt eigentlich wissen, wie man alle CheckBoxen disabled bzw. enabled, oder willst du wissen, wie man in einem Rutsch feststellen kann, ob z. B. eine CheckBox von den Vielen gechecked ist oder nicht.

Jedenfalls les ich aus deinem ersten Beitrag raus, dass du meine zweite Vermutung nicht und nicht die Erste.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 11:15
JA eigentlich wollte ich wissen wie man prüft ob eine von den ganzen Checkboxen checked ist, veruche es mir jetzt so umzubauen das es funzt.

Aber wenn ich auf dem Holzweg bin sag es mir ruhig
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 11:22
eigentlich dürft das ja so funktionieren:

Variante 1:
-----------

Delphi-Quellcode:
var
  i: Integer;
  b: Boolean;
begin
  b := false;
  for i := 0 to ControlCount -1 do
  begin
    if Controls[i] is TCheckBox then
      b := b or (TCheckBox(Controls[i]).Checked);
  end;

 If b then
   ShowMessage('ja, eine CheckBox war gechecked!');
end;

Variante 2:
-----------

Delphi-Quellcode:
var
  i: Integer;
  b: Boolean;
begin
  b := false;
  for i := 0 to ControlCount -1 do
  begin
    if Controls[i] is TCheckBox then
      b := TCheckBox(Controls[i]).Checked;

    If b then
      break;
  end;

 If b then
   ShowMessage('ja, eine CheckBox war gechecked!');
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Prüfen ob mehrere Checkboxen = checked

  Alt 20. Okt 2009, 11:24
So geht es auch oder ist das nicht so gut

Delphi-Quellcode:
Var i: Integer;
begin
  for i := 0 to ControlCount -1 do
  begin
    if Controls[i] is TCheckBox then
     if TCheckBox(Controls[i]).Checked then
       begin
       ShowMessage('Hallo');
       end;
  end;
end;
// Edit Ok deins ist besser hab den Fehler bei mir bemerkt
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  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 09:35 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