Hallo,
hab folgendes Problem bei dem ihr mir hoffentlich helfen könnt:
Habe ein Programm geschrieben bei dem ein selbstegewählter pafd
rekursiv nach mp3 dateien durchsucht wird.
diese sollen
ohne den Pfad in chekclistbox1 ausgegeben werden aber in sl2 (einer stringlist)
mit Pfad
geschrieben werden. Allerdings lässt der den Pfad nicht weg:
Delphi-Quellcode:
Procedure FindFiles (aPath, aFindMask: String; aWithSub: Boolean; aResult: tStrings; removePath:Boolean);
Var
FindRec: tSearchRec;
Begin
If (aPath = '') or (aFindMask = '') or Not Assigned (aResult) Then
Exit;
If aPath[Length (aPath)] <> '\' Then
aPath := aPath + '\';
If FindFirst (aPath + aFindMask, faAnyFile, FindRec) = 0 Then
Repeat
If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then
begin
if removePath then
aResult.Add(ExtractFileName(aPath + FindRec.Name))
else
aResult.Add(aPath + FindRec.Name);
end;
Until FindNext (FindRec) <> 0;
FindClose (FindRec);
If Not aWithSub Then
Exit;
If FindFirst (aPath + '*.*', faAnyFile, FindRec) = 0 Then
Repeat
If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then
If Boolean (FindRec.Attr and faDirectory) Then
FindFiles (aPath + FindRec.Name, aFindMask, aWithSub, aResult, false);
Until FindNext (FindRec) <> 0;
FindClose (FindRec);
End;
procedure TForm3.Button1Click(Sender: TObject);
var
i: Integer;
begin
if SelectDirectory('Verzeichnis wählen', '*:\', sDir) then
begin
if DirectoryExists(sDir) then
begin
FindFiles(sDir, '*.mp3', True, CheckListBox1.Items, true);
sl2.Clear;
for i := Pred(CheckListBox1.Items.Count) downto 0 do
begin
sl2.Add(CheckListBox1.Items[i]);
end;
end;
end;
end;
hab schon mehreres versucht.
hab auch mit
removeExt
versucht aber geht auch nicht.
Hoffe ihr habt da was für mich.
schon mal DANKE