AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Media Player

Offene Frage von "jonsen2.0.0.9"
Ein Thema von jonsen2.0.0.9 · begonnen am 9. Feb 2010 · letzter Beitrag vom 9. Feb 2010
Antwort Antwort
Seite 1 von 2  1 2      
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#1

Media Player

  Alt 9. Feb 2010, 11:20
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: Media Player

  Alt 9. Feb 2010, 11:27
Lass Dir doch vor dem Abspielen einmal den Dateinamen ausgeben und poste dann hier, was dabei herauskommt. Danach können wir weitersehen, zumindest ich bin gerade zu faul, auf Gut Glück nach dem Fehler zu suchen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Media Player

  Alt 9. Feb 2010, 11:29
Wenn in sl2 nur der Pfad steht...
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#4

Re: Media Player

  Alt 9. Feb 2010, 11:35
sorry hab beim kommentieren ein paar fehler gemacht:

in sl2 soll name, pfad und endung (.mp3) stehen.

wenn ich mir anschaue was in sl2 steht da nur der name drin...wieso?

FindFiles(sDir, '*.mp3', true, sl2, false); das false heisst doch, das der pfad nicht weggelassen werden soll....hilfe
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Media Player

  Alt 9. Feb 2010, 11:38
aWithSub bedeutet wohl, ob Unterverzeichnisse mit durchsucht werden sollen oder nicht. oder wie meist du hätte diese zeile mit dem Dateipfad zu tun:
If Not aWithSub Then
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#6

Re: Media Player

  Alt 9. Feb 2010, 11:39
ok ich glaub ich hab meinen fehler gerade gefunden

Delphi-Quellcode:
     if removePath then
      aResult.Add(ExtractFileName(aPath + FindRec.Name))
     else
      aResult.Add(FindRec.Name); //<--- hier wird nur der name aufgelistet
    end;
aber wie schreibe ich auch den pfad mit rein?

(wenn das der fehler ist)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

Re: Media Player

  Alt 9. Feb 2010, 11:40
Ändere mal diese Stelle
Zitat:
Delphi-Quellcode:
if removePath then
      aResult.Add(ExtractFileName(aPath + FindRec.Name))
     else
      aResult.Add(FindRec.Name);
um in
Delphi-Quellcode:
if removePath then
        aResult.Add(FindRec.Name)
     else
       aResult.Add(aPath + FindRec.Name);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#8

Re: Media Player

  Alt 9. Feb 2010, 11:42
die suche funktioniert ja, nur was die mir in sl2 schreibt ist nicht das was ich gern hätte.

was das genau heisst....sorry weiss ich nicht genau...diese suche kommt aus einem der themen in diesem forum
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

Re: Media Player

  Alt 9. Feb 2010, 11:44
Hast Du den Code denn nun geändert? Nach meinem Dafürhalten müsste es dann nämlich funktionieren (obwohl der verwendete Code jetzt nicht ganz optimal ist).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Media Player

  Alt 9. Feb 2010, 11:45
DeddyH hat dir doch schon die Lösung gepostet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:44 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