Delphi-PRAXiS

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 Delphi-Programm durch Klicken auf Datei-Icon starten (https://www.delphipraxis.net/148002-delphi-programm-durch-klicken-auf-datei-icon-starten.html)

Gelmo 20. Feb 2010 13:29


Delphi-Programm durch Klicken auf Datei-Icon starten
 
Hallo!
Schreibe gerade an einem Kalenderprogramm, zu dem eine Termindatei angelegt werden kann, aber nicht muss. Die Termindateie wird mit einer eigenen Extension, sagen wir '.xyz' gespeichert. Beim Klicken auf das Icon erscheint natürlich der Dialog zum Zuweisen dieser Datei zu einem Programm. Nachdem ich so diese Datei-Erweiterung meinem Programm zugewiesen habe, wird das Programm zwar gestartet, aber die Datei wird noch nicht geladen. Wie kann ich erreichen, dass dies nach Anklicken des Datei-Icons geschieht?
Herzlichen Dank für Eure Unterstützung
MfG Gelmo

P.S. Arbeite mit TurboDelphi 2006 Explorer und bin noch lange nicht so weit, dass sich ein Kauf von Delphi Professional für mich rentieren würde.

DeddyH 20. Feb 2010 13:33

Re: Delphi-Programm durch Klicken auf Datei-Icon starten
 
Hallo und Willkommen in der DP :dp:,

ich denke, ParamCount() und ParamStr() sind Deine Freunde. In ParamCount steht die Anzahl der dem Programm übergebenen Parameter und in ParamStr(Index) der jeweilige Parameter (also ggf. der Dateiname) selbst.

[edit] Nach einem 2. Blick hätte es wohl eher Willkommen zu Deinem 1. Beitrag heißen müssen :lol: [/edit]

Gelmo 20. Feb 2010 14:08

Re: Delphi-Programm durch Klicken auf Datei-Icon starten
 
Hallo!
Habe gerade festgestellt, dass in ParamStr(0) der Pfad des Programms selbst und in ParamStr(1) der Pfad der angeklickten Datei enthalten ist, wenn das Programm durch Anklicken der Datei gestartet wurde. Dagegen wird beim Starten des Programmes direkt offenbar kein ParamStr übergeben.
Mit dem Ergebnis kann ich weiter machen.
Herzlichen Dank für die schnelle und präzise Hilfe!
MfG Gelmo

DeddyH 20. Feb 2010 14:12

Re: Delphi-Programm durch Klicken auf Datei-Icon starten
 
Zitat:

Zitat von Gelmo
Habe gerade festgestellt, dass in ParamStr(0) der Pfad des Programms selbst und in ParamStr(1) der Pfad der angeklickten Datei enthalten ist, wenn das Programm durch Anklicken der Datei gestartet wurde.

Exakt. Das hatte ich vergessen zu erwähnen, falls es nicht in der Hilfe stehen sollte.

fatalerror 20. Feb 2010 15:26

Re: Delphi-Programm durch Klicken auf Datei-Icon starten
 
Kleine Präzisierung: es wird oft vergessen dass selbstverständlich auch mehrere Dateien als Parameter übergeben werden können (zb mit Drag and Drop auf das Programmicon). Eine Überprüfung einzig auf paramstr(1) ist deshalb oft zu ungenau.

Als Gedankenanstoss (ungetestet):

Delphi-Quellcode:
var
i: integer;
begin
if ParamCount > 0 then
  begin
     for i:= 1 to ParamCount do
     ShowMessage(ParamStr(i));
  end;
end;

DeddyH 20. Feb 2010 16:05

Re: Delphi-Programm durch Klicken auf Datei-Icon starten
 
Wobei die Abfrage unnötig ist, da die For-Schleife bei einem ParamCount von 0 gar nicht ausgeführt wird ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 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