Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Verschiedene Komponente für gleichen zweck (https://www.delphipraxis.net/38956-verschiedene-komponente-fuer-gleichen-zweck.html)

Red_Dragon 26. Jan 2005 18:30


Verschiedene Komponente für gleichen zweck
 
wenn ich einen pfad mit opendialog erschliese und den dann öffnen und wiedergebe möchte ich das zb. *.mp3 mit einer komponente geöffnent wird und *.avi mit einer anderen komponente hat einer ne idee wie man das schaffen kann?

Aenogym 26. Jan 2005 18:33

Re: Verschiedene Komponente für gleichen zweck
 
hi, so kannst du die erweiterung der gewählten datei ermitteln:

Delphi-Quellcode:
if opendialog1.execute then
var ext: string;
begin
  ext := extractfileext(opendialog1.filename);
  if ext = 'mp3' then
    //als mp3 öffen

  if ext = 'avi' then
    //als avi öffen
end;
Aenogym

Muetze1 26. Jan 2005 21:04

Re: Verschiedene Komponente für gleichen zweck
 
Moin!

So klappt's besser:
Delphi-Quellcode:
If OpenDialog1.Execute Then
Var
  lExt: String;
Begin
  lExt := ExtractFileExt(OpenDialog1.Filename);
  if lExt = '.mp3' then
    //als mp3 öffen

  if lExt = '.avi' then
    //als avi öffen
End;
Da ExtractFileExt() den Punkt mitliefert.

MfG
Muetze1

SirThornberry 26. Jan 2005 21:43

Re: Verschiedene Komponente für gleichen zweck
 
ihr solltet aber beachten das die Endung auch ".mP3" sein kann. also sollte die zeile eher
Delphi-Quellcode:
lExt := AnsiLowercase(ExtractFileExt(OpenDialog1.Filename));
heißen

Red_Dragon 27. Jan 2005 04:58

Re: Verschiedene Komponente für gleichen zweck
 
hmmm klappt teilweise :/ hab einfach mal versucht mit paar befehlen wie zb
if lExt = '.wav' then
//als wav öffen
checked := true;

das klappt die einzelnen werden genutzt aber beim abspielen der lieder werden beide komponente zum abspielen genutzt :/

Jens Schumann 27. Jan 2005 06:43

Re: Verschiedene Komponente für gleichen zweck
 
Hallo,
schau Dir doch einmal die Eigenschaften Filter und FilterIndex des Open-/ Savedialoges in der Hilfe an.

Red_Dragon 27. Jan 2005 16:14

Re: Verschiedene Komponente für gleichen zweck
 
Zitat:

Zitat von Jens Schumann
Hallo,
schau Dir doch einmal die Eigenschaften Filter und FilterIndex des Open-/ Savedialoges in der Hilfe an.

hab ich schon filterindex wählt aus welche filter genutzt werden und filter filtert die dateien beim öffnen durch in wie fern soll mir das helfen?

gothic_mike 27. Jan 2005 16:52

Re: Verschiedene Komponente für gleichen zweck
 
Zitat:

Zitat von Aenogym
hi, so kannst du die erweiterung der gewählten datei ermitteln:

Delphi-Quellcode:
if opendialog1.execute then
var ext: string;
begin
  ext := extractfileext(opendialog1.filename);
  if ext = 'mp3' then
    //als mp3 öffen

  if ext = 'avi' then
    //als avi öffen
end;
Aenogym

dieser beitrag hilf zwar nicht wirklich, aber ich erinnere mich da grade so an alte zeiten, in denen ich noch mit TurboPascal programmiert habe, damals gabs eine Unit, mit der man herausfinden konnte, welches Format eine datei hat.
Diese Unit hatte eine Funktion, der man einen Filenamen übergab und dann eine Konstante zurückbekam, z.B. so:

Delphi-Quellcode:
case CheckFileFormat(FFileName) of
  FF_WAVE: machwasdamit;
  FF_AVI: machwasdamit;
  FF_MP3: machwasdamit;
  FF_UNKNOWN: machnichtsdamit;
...
end;
gibts sowas eigentlich für delphi ???
wäre praktisch...

[edit]
:idea:
hab mich geirrt, war nur für Packer-Formate diese Unit. Diese Unit hies "IDPacker.pas", man konnte damit so um die 100 Packer identifizieren... wäre aber trotzdem ne geniale sache, wenns sowas für sämmtliche Formate gäbe! :thumb:
[/edit]

Jens Schumann 27. Jan 2005 17:01

Re: Verschiedene Komponente für gleichen zweck
 
Zitat:

Zitat von Red_Dragon
Zitat:

Zitat von Jens Schumann
Hallo,
schau Dir doch einmal die Eigenschaften Filter und FilterIndex des Open-/ Savedialoges in der Hilfe an.

hab ich schon filterindex wählt aus welche filter genutzt werden und filter filtert die dateien beim öffnen durch in wie fern soll mir das helfen?

Das ist doch ganz einfach. Du hast Doch schon selber die Lösung formuliert:
Code:
filterindex wählt aus welche filter genutzt werden
Angenommen Du hast folgende Filterliste

Code:
Wav (*.wav) | *.wav    // FilterIndex 0
Mp3 (*.mp3) | *.mp3     // FilterIndex 1
Wmv (*.wmv) | *.wmv    // FilterIndex 2
Dann kannst Du wie folgt arbeiten
Delphi-Quellcode:
If OpenDialog.Execute then
  begin
  Case OpenDialog.FilterIndex of
    0 : OpenWavFile;
    1 : OpenMp3File;
    2 : OpenWmvFile;
    end;
end;

Red_Dragon 27. Jan 2005 18:08

Re: Verschiedene Komponente für gleichen zweck
 
die lösung hat nur einen hacken wenn ich ein index eintrage der wav und avi enthällt
aus diesem grund wollte ich das der dateiname geprüft wird und dann entschieden wird welche funktion ausgeführt wird....


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 Uhr.
Seite 1 von 2  1 2      

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