AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Dateiendung mit dem eigenen Programm verknüpfen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateiendung mit dem eigenen Programm verknüpfen

Ein Thema von superjojo · begonnen am 20. Jun 2014 · letzter Beitrag vom 21. Jun 2014
Antwort Antwort
Seite 1 von 2  1 2      
superjojo

Registriert seit: 10. Jan 2014
16 Beiträge
 
#1

Dateiendung mit dem eigenen Programm verknüpfen

  Alt 20. Jun 2014, 16:01
Hallo

Ich versuche mir einen eigenen Mediaplayer zu programmieren mit Delphi.
Nun möchte ich, dass wenn man eine Datei (Bsp .mp3) öffnet, dass diese automatisch mit meinem selbstgeschriebenen Programm geöffnet wird.

Habe schon mal gegoogelt und das hier gefunden
http://www.delphi-treff.de/tipps-tri...m-verknuepfen/

Habe auch den dort empfohlenen Code angewendet
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
if (ParamCount>0) and
    (FileExists(ParamStr(1))) then
   Memo1.Lines.LoadFromFile(ParamStr(1));
end;
Es kommt jedoch, wenn ich eine Datei mit meinem Programm öffne, eine Fehlermeldung (Siehe Bild im Anhang).

Habe auch gelesen, dass man irgendwie an die Verknüpfung mit dem Programm ein %1 anhängen müsste (Bsp C:\Project1.exe %1) aber wo muss ich das hinschreiben?
Miniaturansicht angehängter Grafiken
zwischenablage01.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#2

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 20. Jun 2014, 16:20
Macht doch die Funktion in deinem aufgeführten Link automatisch ... Statt der %1 setzt Windows die zu öffnende Datei ein
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 20. Jun 2014, 16:25
Man muss schon genau lesen:
Zitat:
“ParamStr”
Enthält mögliche Parameter und deren Schreibweise. (z.B. “%1″ um auch Pfadangaben mit Leerzeichen zu übergeben)
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 himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 20. Jun 2014, 16:29
Bist du dir sicher, daß die Fehlermeldung mit dem hier erwähnten Thema zu tun hat?

Macht dein Programm noch etwas anderes, nach dem Programmstart?
z.B. versucht es gleich sofort diese Datei zu öffnen und abzuspielen?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
superjojo

Registriert seit: 10. Jan 2014
16 Beiträge
 
#5

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 20. Jun 2014, 18:57
1. Vielen Dank für die schnellen Antworten

2. @Puke Habe ich schon versucht, doch die dort angegebene Funktion wirft bei mir massenhaft Fehler auf. Da ich von dem was da in der Funktion steht so ziemlich gar nichts verstehe habe ich auch keine Ahnung wie ich die Fehler beheben soll.

3. @himitsu Also Im OnCreate event passiert nichts außer
Delphi-Quellcode:
if (ParamCount>0) and
    (FileExists(ParamStr(1))) then
   Memo1.Lines.LoadFromFile(ParamStr(1));
Auch sonst besteht mein Programm aus nur sehr wenigen Befehlen, die alle fehlerfrei abliefen bevor ich das OnCreate Event mit obigem Quellcode erzeugt habe. Jedoch habe ich bei dem TMediaPlayer der die Datei schließlich abspielen soll AutoOpen aktiviert.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 20. Jun 2014, 19:48
Moin,

zum Thema "Dateiendung registrieren" haben wir zwei Einträge in der Codelib.

Das der Quelltext den Du da gepostet hast nichts mit dem Laden einer Mediendatei, wie z.B., MP3 zu tun hat ist Dir schon klar?
Ein MP3 lässt sich nicht in einem Memo öffnen, sondern die Datei muss der Eigenschaft FileName des Mediaplayers zugwiesen werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#7

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 20. Jun 2014, 23:13
Warum wird die Datei in das Memo geladen? Soll die nicht abgespielt werden?
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof

Geändert von Garfield (20. Jun 2014 um 23:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 21. Jun 2014, 00:34
Vielleicht meinte man eigentlich ein Add statt dem LoadFromFile?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 21. Jun 2014, 06:37
Es steht so im Beispielcode, that' s all.
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
superjojo

Registriert seit: 10. Jan 2014
16 Beiträge
 
#10

AW: Dateiendung mit dem eigenen Programm verknüpfen

  Alt 21. Jun 2014, 10:34
Ich habe den Fehler gefunden.
himitsu hatte absolut recht statt dem .loadfromFile muss ein .add dahin und schon funktioniert es.

Es muss also so heißen

Delphi-Quellcode:
if (ParamCount>0) and
    (FileExists(ParamStr(1))) then
   Memo1.Lines.Add(ParamStr(1));
Alternativ könnte man den Dateifad natürlich auch direkt dem Mediaplayer übergeben.

Vielen dank für die Hilfe.
  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 06:45 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