Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Datei in StringList laden (https://www.delphipraxis.net/13584-datei-stringlist-laden.html)

Uncle Cracker 21. Dez 2003 19:33


Datei in StringList laden
 
Wie kann ich Dateien, in diesem Fall Musiktitel, in eine StringList laden, die sich in einem Ordner befinden.

Bisher habe ich folgende Funktion verwendet:

Delphi-Quellcode:
function Inhalt(Pfad, Maske: string; Pfadanzeigen: boolean): TStringlist;
var SRec: TSearchRec;
  SL: TStringList;
begin
  SL := TStringList.Create;
  FindFirst(Pfad + Maske, not faDirectory, SRec);
  if Pfadanzeigen then
    SL.Add(Pfad + SRec.Name)
  else
    SL.Add(SRec.Name);
  while FindNext(SRec) = 0 do
    if Pfadanzeigen then
      SL.Add(Pfad + SRec.Name)
    else
      SL.Add(SRec.Name);
  FindClose(SRec);
  Result := SL;
end;
Jedoch spinnt diese Funtkion, wenn die Titel z.B. "04 - Apocalyptica - Pray.mp3" heißen, denn wird der Name in einzelne Stücke zerlegt. Bei Namen wie "Apocalyptica.mp3" geht alles.

Vielleicht hat jemand eine andere Funktion, wie er Dateien sucht, denn ich kann den Fehler nicht finden.


:love: Danke UC

[edit=Luckie]Delphi-Tags korrigiert. Mfg, Luckie[/edit]

alcaeus 21. Dez 2003 19:55

Re: Datei in StringList laden
 
Verwende
Code:
SRec.FindData.cFileName
anstatt
Code:
SRec.Name
Das könnte helfen

Uncle Cracker 22. Dez 2003 22:20

Re: Datei in StringList laden
 
Hat auch nicht geholfen, deswegen habe ich es nochmal probiert und jetzt geht's.

Ich weiß zwar nicht wo der Fehler lag, aber so funktioniert es:


Code:
var
  SRec: TSearchRec;
  Stl: TStrings;
begin
 Stl := TStringList.Create;
  try
   FindFirst('C:\MP3\*.*', not faDirectory, SRec);
   Stl.Add(SRec.Name);
  while FindNext(SRec) = 0 do
   Stl.Add(SRec.Name);
   FindClose(SRec);
   ListBox1.Items.AddStrings(Stl)
  finally
 Stl.Free;
end;
end;
Jetzt werden alle Dateien eines Ordners in eine Stringlist geladen und man kann sie dann in eine Listbox laden oder mit der Stringlist weiter arbeiten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 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