AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TStringList Fehler Listenindex überschreitet das Maximum 0
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList Fehler Listenindex überschreitet das Maximum 0

Ein Thema von newuser01 · begonnen am 4. Okt 2006 · letzter Beitrag vom 4. Okt 2006
 
newuser01

Registriert seit: 30. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#1

TStringList Fehler Listenindex überschreitet das Maximum 0

  Alt 4. Okt 2006, 16:29
Hallo

Ich habe folgendes Problem wenn ich mp3s in einer StringList schreibe und Sie dann auf ID3Tag Einträge überprüfe kommt ab und an mal der Fehler "ListenIndex überschreitet das Maximum (0)" Der Fehler tritt aber nur dann auf glaub ich zumindest, wenn die StringList "slMP3" zu viele Daten enthält. Lade ich zb: einen Ordner der ca. 4500 MP3s (einschließlich Unterordner) enthält klappt alles bestens. Versuch ich aber von einem Ordner zu laden der noch mehr mp3s (einschließlich Unterordner) enthält kommt der besagte Fehler. Andererseits wenn ich die for Schleife unten im Code ausklammer also nicht ausführen lasse sondern nur die StringList slMP3 mit MP3s befülle kommt der Fehler auch nicht egal vieviel MP3s sich im Ordner befinden. Der Fehler wird wohl in der Schleife stecken

Delphi-Quellcode:
//StringList slMP3 wird mit MP3s mit Pfadangabe gefüllt
 FindAllFiles(fMain.slMP3,fVerzeichnis.DirectoryListBox1.Directory+'\','*.mp3', true, true, false);

             
for i := 0 to fMain.slMP3.Count - 1 do
begin

//ID3v1Tag auslesen

if fMain.ID3v1Tag.ReadFromFile(fMain.slMP3.Strings[i]) then
begin
  with fMain.ID3v1Tag do
  begin
   fMain.slTmp1.Add(Artist);
   fMain.slTmp1.Add(Album);
   fMain.slTmp1.Add(Year);
   fMain.slTmp1.Add(Title);
  end;
end;

//ID3v2Tag auslesen

if fMain.ID3v2Tag.ReadFromFile(fMain.slMP3.Strings[i]) then
begin
  with fMain.ID3v2Tag do
  begin
   fMain.slTmp2.Add(Artist);
   fMain.slTmp2.Add(Album);
   fMain.slTmp2.Add(Year);
   fMain.slTmp2.Add(Title);
  end;
end;


if (fMain.slTmp1.Strings[0] <> '') and (fMain.slTmp1.Strings[3] <> '') then
begin
 sArtist := fMain.slTmp1.Strings[0];
 sTitle := fMain.slTmp1.Strings[3];
 fMain.lbMP3Ausgabe.Items.Add(IntToStr(i+1) + '.' + ' '+ sArtist +' - '+ sTitle);
end
   else
       begin
        //wenn nichts vorhanden ist weiter und slTmp2 überprüfen
        if (fMain.slTmp2.Strings[0] <> '') and (fMain.slTmp2.Strings[3] <> '') then
        begin
         sArtist := fMain.slTmp2.Strings[0];
         sTitle := fMain.slTmp2.Strings[3];
         fMain.lbMP3Ausgabe.Items.Add(IntToStr(i+1) + '.' + ' '+ sArtist +' - '+ sTitle);
        end
           else
               begin
                // wenn in slTmmp2 auch nichts enthalten ist dann nur Dateinamen eintragen
                sDateiname := ExtractFileName(fMain.slMP3.Strings[i]);
                fMain.lbMP3Ausgabe.Items.Add(IntToStr(i+1) + '.' + ' '+ ChangeFileExt(sDateiname,''));
        end;//if slTmp2
end;//if slTmp1

fMain.slTmp1.Clear;
fMain.slTmp2.Clear;
end;//for
Gruß: Holger

[Hobby-Programmierer]
  Mit Zitat antworten Zitat
 


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 08:16 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