![]() |
AW: CheckListBox Ergebnisse auflisten
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ehm... ich weiß jetzt nicht genau worauf du hinaus willst Einen Screenshot hab ich mal nochmal gemacht Soll ich die Schritte machen auf der Seite "Debuggen der Anwendung"? |
AW: CheckListBox Ergebnisse auflisten
.. kann es sein das nach der for Schleife der Counter i nicht mehr richtig ist.
Grüße Klaus |
AW: CheckListBox Ergebnisse auflisten
Zitat:
Wo müsste ich den dann ändern? Ich habe i, n : Integer; als Variablen eingegeben |
AW: CheckListBox Ergebnisse auflisten
..Du könntest die Caption des Labels innerhalb der Schleife setzen
Grüße Klaus |
AW: CheckListBox Ergebnisse auflisten
Zitat:
Du schreibst:
Delphi-Quellcode:
Du verwendest i in der Zuweisung der Caption außerhalb der Schleife.
procedure TEquipment.Button1_prüfenClick(Sender: TObject);
begin n := 0; for i := 0 to CheckListBox1.Items.Count - 1 do begin if CheckListBox1.Checked[i] then inc(n); end; Label2_Überprüfung.Caption := Label2_Überprüfung.Caption + sLineBreak + CheckListBox1.Items[i]; end; end. Das ist Falsch. i wird am Ende jedes Schliefendurchlaufs um 1 erhöht. Auch beim letzten Durchlauf. Demnach sprichst du auch nach der Schleife ein Item der CheckListBox an, welches nicht existiert (Listenindex außerhalb des gültigen Bereichs). Wenn du mal diesen Code ausprobierst (um dir das zu verdeutlichen):
Delphi-Quellcode:
(Dieser Code setzt voraus, dass du einen Button mit dem Namen btn1 und ein Memo mit dem Namen mmo1 hast).
procedure TForm1.btn1Click(Sender: TObject);
var i: Integer; begin mmo1.Lines.Clear; for i:=0 to 5 do begin mmo1.Lines.Add('Innerhalb der Schleife: '+IntToStr(i));; end; mmo1.Lines.Add('Außerhalb der Schleife: '+IntToStr(i));; end; Da kommt folgendes Ergebins: Zitat:
Richtig wäre also:
Delphi-Quellcode:
wofür du n benötigst ist mir nicht klar.
procedure TEquipment.Button1_prüfenClick(Sender: TObject);
begin n := 0; for i := 0 to CheckListBox1.Items.Count - 1 do begin if CheckListBox1.Checked[i] then begin Label2_Überprüfung.Caption := Label2_Überprüfung.Caption + sLineBreak + CheckListBox1.Items[i]; inc(n); end; end; end; end. Und: Schleifenvariablen sollte immer lokal deklariert sein. Also im var-Abschnitt der Procedure. Finde ich bei dir nicht. Und: Warum nutzt du nicht die Delphi-Tags und schreibst deinen Code da hinein???? Ein Bild im Anhang macht es allen anderen schwer dir zu helfen. |
Dieses Thema wurde am "28. Nov 2018, 19:06 Uhr" von "Luckie" aus dem Forum "Programmieren allgemein" in das Forum "GUI-Design mit VCL / FireMonkey / Common Controls" verschoben.
|
AW: CheckListBox Ergebnisse auflisten
Zitat:
|
AW: CheckListBox Ergebnisse auflisten
Moin...:P
Was wällt dir an den 2 Screenshots auf? ![]() ![]() Du verwendest, neuerdings, I bei Label_Überprüfung. I ist außerhalb der Schleife nicht mehr gültig! (wurde schon gesagt) :wink: |
AW: CheckListBox Ergebnisse auflisten
Zitat:
Hier mangelt es an den Grundlagen. Tutorials, die es im Netz zu Hauf gibt, sollten helfen. Bevor die Grundlagen nicht vorhanden sind, bringt das alles nichts. Sorry. |
AW: CheckListBox Ergebnisse auflisten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 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