Hallihallo,
deine Parameterliste würde ich etwas einkürzen. Der Parameter Datei wird momentan nutzlos mitgeschliffen. Nimm doch einfach Parameter Pfad,Mask:string
Mask kann z.B. *.mp3 lauten
Wenn du damit FindFirst fütterst, dann kannst du dir später die abfrage der Extension sparen
die Funktion IncludeTrailingPathDelimiter fürgt übrigens bei bedarf einem Pfad einen '\' an
Ein Problem ist definitiv, dass du nach der Rekursion die Array-Länge nicht mehr abfragst. Während der Rekursion ändert sich zwar die Arraylänge aber die Längenvariable bleibt nach dem ersten Zuweisen unverändert.
Mir ist auch aufgefallen, dass du von deinem Array nur eine einzige Variable zuweist und der Rest brach liegt. An der Stelle implementierst du bestimmt noch das Auslesen des ID3-Tags?
Der rekursive Aufruf muss so oder ähnlich lauten:
Delphi-Quellcode:
if (SR.Attr and faDirectory = faDirectory) //nur Verzeichnisse rek. abgrasen
then GetAllFiles(Frec,IncludeTrailingPathDelimiter(pfad)+sr.Name, mask);
Dann probiere ma
Gruß Roedel