Hi,
ich möchte nen Programm schreiben, dass Mp3 dateien findet und abspielt.
bis jetzt taucht da aber immer ein Fehler auf:
Delphi-Quellcode:
var
Form3: TForm3;
sl2: TStringList;
implementation
uses Unit1;
{$R *.dfm}
Procedure FindFiles (aPath, aFindMask: String; aWithSub: Boolean; aResult: tStrings; removePath:Boolean); //eine rekursive suche die funktionieren müsste
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(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);
begin
if SelectDirectory('Verzeichnis wählen', '*:\', sDir) then
begin
if DirectoryExists(sDir) then
begin
FindFiles(sDir, '*.mp3', True, CheckListBox1.Items, true); //hier soll er dann die Mp3´s (nur den namen) auflisten
FindFiles(sDir, '*.mp3', true, sl2, false); // und einmal den kompletten pfad+name+.mp3 in sl2 speichern.
end;
end;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
sl2 := TStringList.Create;
end;
procedure TForm3.FormDestroy(Sender: TObject);
begin
sl2.Free;
end;
procedure TForm3.Button2Click(Sender: TObject);
Var i:integer;
begin
i:=0;
repeat
if checklistbox1.Checked[i] then
begin
MediaPLayer1.FileName:=sl2.Strings[i]; //hier möchte ich dann sl2 als pfad+name+.mp3 für die datei angeben
MediaPlayer1.Open;
MediaPlayer1.Play; //und die musik starten.
end;
i:=i+1;
until i=checklistbox1.Count-1
end;
Mein Problem:
Es kommt immer die Fehlermeldung:
Die Datei wurde nicht gefunden. Bitte stellen sie sicher, dass der Pfad und der Dateiname richtig sind.
Vier Fragen:
1. Wie kann ich dieses Problem lösen?
2. Wieso tritt dieses auf, also wo ist mein Denkfehler.
3. Gibt es sonst noch etwas, an meinem Programm, das ich ändern sollte, weil es anders besser schneller einfacher ect. funktioniert?
und
4. Nach dem beheben des Fehlers, müsste doch so alles funktionieren oder?
Naja, viele Fragen.
Danke schonmal.
MFG
Jonsen