Datei mit meiner Anwendung starten

Hallo erstmal,
ich habe eine Anwendung geschrieben mit der Wetterdaten angezeigt werden. In dieser lese ich wie in Windows üblich über Datei / Öffnen (OpendDialog) die Datei ein. Soweit so gut.

Nun die Fräge: Wie kann ich das realisiern, dass wenn ich im Windows-Explorer die Wetterdatei anklicke meine Anwendung startet und eben genau diese Datei angezeigt wird? (Die Anwendung starten geht, aber wie übergebe ich den Dateinamen?)

Danke im voraus

Gruss kussji

Hallo,
du mußt diesen Dateityp im Explorer via extras-ordneroptionen-dateitypen einen neuen Dateityp definieren (e.g. die Dateiextension) und anschließend einen Vorgang über den Button erweitert (alles windows XProf) anlegen. Dort setzt du dann als Parameter %n ein. Beispiel:
„C:\Programme\MeinProggi\prg.exe“ „%1“
fertig. In deinem Programm mußt du dann die ParamCount() und ParamStr() auswerten und ggf. die übergebene Datei laden.
ich hoffe es hilft dir
grüsse
Mathias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Nun die Fräge: Wie kann ich das realisiern, dass wenn ich im
Windows-Explorer die Wetterdatei anklicke meine Anwendung
startet und eben genau diese Datei angezeigt wird? (Die
Anwendung starten geht, aber wie übergebe ich den Dateinamen?)

Hallo Kussji,

wenn ich Dich richtig verstanden habe, ist es also schon so, daß beim Klick auf eine Wetterdatei automatisch die „richtige“ zugehörige Anwendung startet (der Registry-Eintrag zur Verknüpfung der betreffenden Dateiendung besteht also schon, weil Du ihn manuell angelegt hast; üblicherweise übernimmt das Setup-Programm zu Deiner Software diese Aufgabe).

Den Dateinamen mußt Du nur auslesen (Windows „übergibt“ ihn automatisch). Wenn er existiert, so hat ParamCount einen Wert >=1 und der Dateiname steht in ParamStr(1). Startest Du Dein Programm direkt, so existiert er nicht; ParamCount hat dann den Wert 0. Du solltest also ParamCount unbedingt überprüfen („IF ParamCount=0 THEN SetupNewFile ELSE OpenFile(ParamStr(1))“). In ParamStr(0), das stets existiert, steht übrigens immer der Dateiname der Anwendung selbst. Weitere Details zu ParamCount und ParamStr() siehe Online-Hilfe.

Mit freundlichem Gruß
Martin