AGB  ·  Datenschutz  ·  Impressum  







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

For Schleife bei mehreren Checkboxen

Ein Thema von Circle · begonnen am 21. Mär 2008 · letzter Beitrag vom 22. Mär 2008
Antwort Antwort
Circle

Registriert seit: 11. Okt 2004
48 Beiträge
 
#1

For Schleife bei mehreren Checkboxen

  Alt 21. Mär 2008, 23:39
Hallo Leute

Jetzt kommt ne bissl blöde Frage, bei der sich wahrscheinlich die meisten an die Stirn langen werden ^^, aber muss trotzdem fragen.

Ich habe 12 Checkboxen die ich alle mit einer For-Schleife abfragen will. Ich dacht immer das sollt irgendwie so gehen. Ich geb nen Beispielcode.

Delphi-Quellcode:
for i := 1 to 12 do begin
    if Form1.CBuff[i].Enabled = True then begin
      Form1.TBuff[i].Intervall = StrToInt(Form1.SBuff[i].Text) * 1000;

Das Problem ist jetzt wie ihr wahrscheinlich schon bemerkt habt hier "CBuff[i]" in meinen Augen sollte der Compiler das dann als "CBuff1" "CBuff2" usw. verstehen, tut er aber nicht ^^
Ich weiss es gibt ne Möglichkeit wie das geht, ich weiss nur nicht mehr wie. Ist echt ewigs her seid ich ma mit Delphi gearbeitet hab.
Hoffe mir kann wer helfen, wenns niemandem zu grosse Umstände macht.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: For Schleife bei mehreren Checkboxen

  Alt 21. Mär 2008, 23:46
Moin Circle,

such' hier mal nach Hier im Forum suchenFindComponent.
Das Thema kommt öfter

BTW:
Einen boolschen Ausdruck sollte man nie auf Gleichheit prüfen, vor allem nicht auf gleich true.
Würde in Deinem Falle zwar funktionieren, aber ich halte es für besser sich gar nicht erst daran zu gewöhnen.
Begründung: U.a. in der Windows-API ist true jeder Wert ungleich 0 und false 0.

So
if Form1.CBuff[i].Enabled then begin wäre es besser.
(und wie ich finde auch besser lesbar)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

Re: For Schleife bei mehreren Checkboxen

  Alt 21. Mär 2008, 23:47
Zitat von Circle:
Ich habe 12 Checkboxen die ich alle mit einer For-Schleife abfragen will.
Schau dir mal die TCheckListBox an!!
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: For Schleife bei mehreren Checkboxen

  Alt 21. Mär 2008, 23:50
Zitat von Christian Seehase:
So
if Form1.CBuff[i].Enabled then begin wäre es besser.
(und wie ich finde auch besser lesbar)
Und das spart sogar Prozessorzeit (na ja im Microsekundenbreich), weil der JZ (Jump Zero) Befehl benützt werden kann.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: For Schleife bei mehreren Checkboxen

  Alt 22. Mär 2008, 09:21
Zitat von Circle:
Delphi-Quellcode:
for i := 1 to 12 do begin
    if Form1.CBuff[i].Enabled = True then begin
      Form1.TBuff[i].Intervall = StrToInt(Form1.SBuff[i].Text) * 1000;
Dazu fallen mir noch 2 Sachen auf:
  • Lass das Form1 weg, wenn du dich innerhalb der TForm1 Klasse bewegst. Es sieht zumindest danach aus, dass du das machst. Mit Form1 greifst du explizit auf eine Instanz von TForm1 zu. Wenn du irgendwann eine 2. Instanz von TForm1 erstellst (z.B. Form1Ex), dann greift dein Code auf die falsche Instanz zu
  • TBuff ist eine schlecht Namensgebung für eine Komponente (sieht mir nach einem Timer aus bei dir). Unter Delphi gibt es die Konvention, dass Klassendeklarationen und Typen ganz allgemein mit einem T als Präfix geschrieben werden. Wenn deine Variable jetzt TBuff heisst, ist das nur irritierend.
  Mit Zitat antworten Zitat
Antwort Antwort


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:25 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