AGB  ·  Datenschutz  ·  Impressum  







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

CheckListBox Ergebnisse auflisten

Ein Thema von Das Orakel von · begonnen am 28. Nov 2018 · letzter Beitrag vom 29. Nov 2018
Antwort Antwort
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
684 Beiträge
 
Delphi 12 Athens
 
#1

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 15:15
Zitat von Das Orakel:
Wenn ich jetzt aber den Button klicke kommt die Fehlermeldung: "Listenindex außerhalb des gültigen Bereichs (9)"

Listen zählen von 0 bis (Anzahl-1) bzw von Low(...) bis High(...)
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.436 Beiträge
 
Delphi 12 Athens
 
#2

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 15:20
Zitat:
Listenindex außerhalb des gültigen Bereichs (9)
An welcher Quellcode Stelle?
  Mit Zitat antworten Zitat
Das Orakel von

Registriert seit: 28. Nov 2018
7 Beiträge
 
#3

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 15:26
Zitat:
Listenindex außerhalb des gültigen Bereichs (9)
An welcher Quellcode Stelle?

An gar keiner, das Debugging meldet nichts, das Programm startet.
Wenn ich dann den Butten (oben beschrieben) drücke, erscheint die Meldung
  Mit Zitat antworten Zitat
Das Orakel von

Registriert seit: 28. Nov 2018
7 Beiträge
 
#4

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 15:24
Listen zählen von 0 bis (Anzahl-1) bzw von Low(...) bis High(...)

Okay, wie muss ich denn da konkret die Unit ändern?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.436 Beiträge
 
Delphi 12 Athens
 
#5

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 15:27
Vorhin hast du es doch auch richtig gemacht... (erster Post Bild)
Die Stelle (Breakpoint) wo der Fehler auftritt. Da kann man auch sehen welche Werte die Variablen haben. (vorher)
http://docwiki.embarcadero.com/RADSt...(IDE-Tutorial)

PS: Stelle mal in deinem Profil deine Delphi Version ein. Da können wir besser helfen.

Geändert von haentschman (28. Nov 2018 um 15:35 Uhr)
  Mit Zitat antworten Zitat
Das Orakel von

Registriert seit: 28. Nov 2018
7 Beiträge
 
#6

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 15:53
Vorhin hast du es doch auch richtig gemacht... (erster Post Bild)
Die Stelle (Breakpoint) wo der Fehler auftritt. Da kann man auch sehen welche Werte die Variablen haben. (vorher)
http://docwiki.embarcadero.com/RADSt...(IDE-Tutorial)

PS: Stelle mal in deinem Profil deine Delphi Version ein. Da können wir besser helfen.


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"?
Angehängte Grafiken
Dateityp: jpg Problem 2.JPG (30,0 KB, 26x aufgerufen)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.780 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 15:58
.. kann es sein das nach der for Schleife der Counter i nicht mehr richtig ist.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Das Orakel von

Registriert seit: 28. Nov 2018
7 Beiträge
 
#8

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 16:03
.. kann es sein das nach der for Schleife der Counter i nicht mehr richtig ist.

Grüße
Klaus


Wo müsste ich den dann ändern?
Ich habe
i, n : Integer;

als Variablen eingegeben
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.780 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 16:07
..Du könntest die Caption des Labels innerhalb der Schleife setzen

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#10

AW: CheckListBox Ergebnisse auflisten

  Alt 28. Nov 2018, 16:21
.. kann es sein das nach der for Schleife der Counter i nicht mehr richtig ist.

Grüße
Klaus


Wo müsste ich den dann ändern?
Ich habe
i, n : Integer;

als Variablen eingegeben

Du schreibst:
Delphi-Quellcode:
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.
Du verwendest i in der Zuweisung der Caption außerhalb der Schleife.
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:
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;
(Dieser Code setzt voraus, dass du einen Button mit dem Namen btn1 und ein Memo mit dem Namen mmo1 hast).

Da kommt folgendes Ergebins:
Zitat:
Innerhalb der Schleife: 0
Innerhalb der Schleife: 1
Innerhalb der Schleife: 2
Innerhalb der Schleife: 3
Innerhalb der Schleife: 4
Innerhalb der Schleife: 5
Außerhalb der Schleife: 6
Spricht für sich.


Richtig wäre also:
Delphi-Quellcode:
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.
wofür du n benötigst ist mir nicht klar.

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.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

Geändert von Hobbycoder (29. Nov 2018 um 13:12 Uhr)
  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 01:30 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