AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi List Index Out of Bounds
Thema durchsuchen
Ansicht
Themen-Optionen

List Index Out of Bounds

Ein Thema von Flips · begonnen am 17. Feb 2005 · letzter Beitrag vom 17. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#1

List Index Out of Bounds

  Alt 17. Feb 2005, 20:16
Hi @ all Delphi-Coder.

Ein Kollege von mir wollte einen MP3-Player haben der auf dem PC möglichst wenig Ressourcen verbraucht. Deshalb wollte ich diesen in Delphi für ihn schreiben. Eine Routine sieht so aus:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i: integer;
begin

 if OpenDialog1.Execute then
  ListBox1.Items.LoadFromFile(OpenDialog1.Filename);
 for i:=0 to ListBox1.Count do
  begin
       if copy(ListBox1.Items[i],0,1) = '#then
    ListBox1.Items.Delete(i);
  end;
end;
Wie ihr vielleicht erkennen könnt soll der Code folgendes machen.
Er soll eine Datei zeile für Zeile absuchen und jede Zeile die mit # anfängt löschen. Wofür das ist ist egal.

Jedenfalls zeigt Delphi an dieser Stelle
     if copy(ListBox1.Items[i],0,1) = '#then immer die Exception: List Index Out of Bounds(X) //x ist eine Zahl

Woran liegt das?

Ach und, die Dateien sind nach dem Weiterlaufen lassen des Programmes trotzdem genauso wie sie es sein sollten in der ListBox.

Danke für die Antworten

Flips
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:18
Hi,


Das erste Item hat Index 0
Das letzte ListBox1.Count -1

Ergo muss es so heissen:
for i:=0 to ListBox1.Count -1 do
Thomas
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#3

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:25
hatt ich ach schon gedacht aber daran liegts ned.
Trotzdem danke.
Ps: ich denke es hat was mit der Bedingung zu tun
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:31
Nein es liegt unteranderem daran. Aber du musst noch was beachten. Die for-Schleife läuft von, sagen wir 0 bis 9. Jetzt löscht du einen Eintrag jetzt sind es nicht mehr zehn, sondern nur noch neun. Und dann kracht es, weil die Scheife bis 10 Einträge läuft. Du musst die Schleife rückwärtslaufen lassen:
for Listbox1.Itmes.Count - 1 downto 0 do
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#5

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:35
geht so nicht.

for i := ListBox1.Items.Count - 1 downto 0 do So gehts
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#6

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:38
for Listbox1.Count - 1 downto i:=0 do [Error] music.pas(333): For loop control variable must be simple local variable


Was is das?
(ich weiß so gut bin ich auch wieder nicht )
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:39
Vergleich mal deine Zeile mit meiner.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:40
Zitat von Luckie:
Vergleich mal deine Zeile mit meiner.
Sie sind verschieden - aber sie gehen beide nicht

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#9

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:41
So ein schnelles Forum hab ich noch nie gesehn.
Thx @ all

Das war mein größtes Problem ^^
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: List Index Out of Bounds

  Alt 17. Feb 2005, 20:44
So geht es aber:
Delphi-Quellcode:
var
  i: Integer;
begin
  for i := Listbox1.Items.Count - 1 downto 0 do
    ShowMessage(Listbox1.Items[i]);
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  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