Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi mp3 Datei auswählen (https://www.delphipraxis.net/142277-mp3-datei-auswaehlen.html)

Crosaider 25. Okt 2009 02:22


mp3 Datei auswählen
 
Hallo @ all

Ich bin völliger Anfänger in Delphi. Deswegen kann es jetzt öffters mal vorkommen das noch ein paar dumme Fragen hier auftauchen ;=

Ich möchte gerne wenn ich auf Button1 klicke das sich ein Dialog öffnet wo ich mp3 Dateien auswählen kann. Das Verzeichnis der Datei soll in einer Variable gespeichert werden und in Label2 angezeigt werden.

Wie geht das? Würde mich über einen kleinen Code mit erklärung freuen.

Viele Grüße
Crosaider

Luckie 25. Okt 2009 02:28

Re: mp3 Datei auswählen
 
Delphi-Referenz durchsuchenOpenDialog

Sir Rufo 25. Okt 2009 09:30

Re: mp3 Datei auswählen
 
Da fehlt aber noch Delphi-Referenz durchsuchenExtractFilePath

also im ganzen Satz:
Delphi-Quellcode:
// Filter setzen
OpenDialog1.Filter := 'mp3 Dateien (*.mp3)|*.mp3';
// Dialog ausführen
if OpenDialog1.Execute then
  begin
    // In OpenDialog1.FileName steht der komplette Pfad zur ausgewählten Datei
    Label1.Caption := ExtractFilePath( OpenDialog1.FileName );
  end;

Crosaider 25. Okt 2009 10:03

Re: mp3 Datei auswählen
 
wenn ich das so einfügen kommt immer noch ein Fehler. Muss ich oben bei uses noch irgendwas hinnschreiben? Wie gesagt bin föllig neu :)

Sharky 25. Okt 2009 10:06

Re: mp3 Datei auswählen
 
Zitat:

Zitat von Crosaider
wenn ich das so einfügen kommt immer noch ein Fehler. ...

In diesem Fall ist etwas falsch! :stupid:

Ne, im Ernst. Du musst schon sagen welcher Fehler kommt.

DP-Maintenance 25. Okt 2009 10:07

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Windows API / MS.NET Framework API" nach "Object-Pascal / Delphi-Language" verschoben.
Passt hier besser.

Crosaider 25. Okt 2009 10:07

Re: mp3 Datei auswählen
 
Es kommt:

[Fehler] Unit1.pas(47): Undefinierter Bezeichner: 'OpenDialog1'

Sharky 25. Okt 2009 10:11

Re: mp3 Datei auswählen
 
Zitat:

Zitat von Crosaider
Es kommt:

[Fehler] Unit1.pas(47): Undefinierter Bezeichner: 'OpenDialog1'

Du musst von der Komponentenpalette deines Delphis einen TOpenDialog auf deine Form legen.

Crosaider 25. Okt 2009 10:16

Re: mp3 Datei auswählen
 
ahhhh.... thx das wusste ich nicht. Habe bis jetzt meistens mit Visual Basic programiert da musste man das nicht machen ;)

Wenn ich jetzt eine Datei auswähle erscheint im Label1 auch der Pfad dazu z.B: E:\Musik\
Wäre aber schöner wenn da E:\Musik\***.mp3 stehen würde. Also auch noch die Datei die ausgewählt wurde.

Sharky 25. Okt 2009 10:22

Re: mp3 Datei auswählen
 
Zitat:

Zitat von Crosaider
... Wäre aber schöner wenn da E:\Musik\***.mp3 stehen würde. Also auch noch die Datei die ausgewählt wurde.

Dann musst Du das Delphi-Referenz durchsuchenExtractFilePath weg lassen. Steht auch in dem Kommentar ;-)

Crosaider 25. Okt 2009 10:48

Re: mp3 Datei auswählen
 
Und jetzt habe ich nochmal 2 andere Fragen ;)

1. Wenn ich jetzt ein Verzeichnis auswähle ist das bei manchen Dateien zu lang für meine Form. Kann man das z.B bei 40 Zeichen mit ... abschließen lassen? Also das das Verzeichnis noch das gleiche ist aber nach 40 Zeichen am Ende mit ... angezeigt wird.

2. Passt jetzt nicht ganz zum Thema
Ich möchte mal gerne die BPM von einer mp3 Datei herausfinden. Geht das überhaupt mit delphi?

fkerber 25. Okt 2009 10:58

Re: mp3 Datei auswählen
 
Hi!

Mach bitte zu den neuen Fragen auch neue Threads auf.
Warum? Dann ist es in jedem Thread für sich übersichtlicher und vor allem kann man alle Themen besser mit der Suchfunktion finden. Wenn jemand nach "MP3 Bild" sucht, würde er in diesen Thread vllt. nicht reinschauen, obwohl sich dann hier irgendwo auf Seite X die Lösung versteckt ;)

Danke!


Grüße, Frederic

fatalerror 25. Okt 2009 11:01

Re: mp3 Datei auswählen
 
Zitat:

1. Wenn ich jetzt ein Verzeichnis auswähle ist das bei manchen Dateien zu lang für meine Form. Kann man das z.B bei 40 Zeichen mit ... abschließen lassen? Also das das Verzeichnis noch das gleiche ist aber nach 40 Zeichen am Ende mit ... angezeigt wird.
zum Kürzen von langen Dateinamen kannst du die Funktion MinimazeName aus der Unit Filecontrol verwenden.
Delphi-Quellcode:
Label1.Caption:=MinimizeName(Path, Label1.Canvas, 40);

DeddyH 25. Okt 2009 11:04

Re: mp3 Datei auswählen
 
MinimizeName macht aber etwas anderes. Vielleicht ist dieser Thread zielführend.

fatalerror 25. Okt 2009 12:55

Re: mp3 Datei auswählen
 
Zitat:

MinimizeName macht aber etwas anderes. Vielleicht ist dieser Thread zielführend.
Einverstanden. Aber: MinimazeName ist Windows-Standard. Also warum etwas neues selbst programmieren, was normale Windowsuser irritieren kann? Gekürzte Dateinamen werden nun mal von Microsoft und allen Softwarefirmen, die sich an Standards halten so dargestellt.

DeddyH 25. Okt 2009 12:58

Re: mp3 Datei auswählen
 
Nun, zum Einen muss der TE ja selbst wissen, was er will und zum Anderen gibt es die API-Funktionen ja auch aus irgendeinem Grund ;)

fatalerror 25. Okt 2009 14:36

Re: mp3 Datei auswählen
 
Zitat:

Zitat von DeddyH
Nun, zum Einen muss der TE ja selbst wissen, was er will und zum Anderen gibt es die API-Funktionen ja auch aus irgendeinem Grund ;)

So wie ich die Fragestellung interpretiert habe, ist der OP ein Neuling in der Programmierung. Meines Erachtens ist es deshalb sinnvoll neben einem Lösungsweg auch einen Hinweis auf allgemeine Standards zu geben.

Sir Rufo 25. Okt 2009 16:11

Re: mp3 Datei auswählen
 
Zitat:

Zitat von Crosaider
Wenn ich jetzt eine Datei auswähle erscheint im Label1 auch der Pfad dazu z.B: E:\Musik\
Wäre aber schöner wenn da E:\Musik\***.mp3 stehen würde. Also auch noch die Datei die ausgewählt wurde.

Zitat:

Zitat von Crosaider
Das Verzeichnis der Datei soll in einer Variable gespeichert werden und in Label2 angezeigt werden.

:gruebel:

Dann sag das doch gleich :mrgreen:

Crosaider 25. Okt 2009 16:17

Re: mp3 Datei auswählen
 
Zitat:

Zitat von fatalerror
zum Kürzen von langen Dateinamen kannst du die Funktion MinimazeName aus der Unit Filecontrol verwenden.
Delphi-Quellcode:
Label1.Caption:=MinimizeName(Path, Label1.Canvas, 40);

Wenn ich das damit machen würde wo müsste das überhaupt im Quelltext hin? Und muss ich da sonst noch was einfügen damit das richtig funktioniert? Also z.B. oben in uses?

DeddyH 25. Okt 2009 16:20

Re: mp3 Datei auswählen
 
An der Stelle, wo Du den Pfad anzeigen möchtest, kannst Du die Zeile einfügen. Dazu muss die Unit FileCtrl mit in die uses-Klausel aufgenommen werden.

Sir Rufo 25. Okt 2009 16:22

Re: mp3 Datei auswählen
 
Zitat:

Zitat von Crosaider
Zitat:

Zitat von fatalerror
zum Kürzen von langen Dateinamen kannst du die Funktion MinimazeName aus der Unit Filecontrol verwenden.
Delphi-Quellcode:
Label1.Caption:=MinimizeName(Path, Label1.Canvas, 40);

Wenn ich das damit machen würde wo müsste das überhaupt im Quelltext hin? Und muss ich da sonst noch was einfügen damit das richtig funktioniert? Also z.B. oben in uses?

Das was du bei Uses einträgst sind Units :zwinker:
Und das fügst du da ein, wo du dem Label den Wert zuweist

Allerdings heisst die Unit FileCtrl siehe Delphi-Referenz durchsuchenMinimizeName

Und wenn ich mir so den Hilfetext durchlese, dann würde ich ja eher folgendes benutzen
Delphi-Quellcode:
Label1.Caption := MinimizeName( Path, Label1.Canvas, Label1.Width );


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz