Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei via Windowspopup laden (https://www.delphipraxis.net/106785-datei-via-windowspopup-laden.html)

JB-1990 16. Jan 2008 17:22


Datei via Windowspopup laden
 
Hey ho,
wie kann ich meinem Programm beibringen, dass es z.B.: den inhalt einer *.txt Datei laden soll, wenn es via Popup von Windows also "Öffnen mit" geöffnet wird.

Bsp.: Katzenlader.exe

psycho.katze <--- rechtskick ---> öffnen mit ---> Katzenlader.exe ---> Inhalt von psycho.katze wird angezeigt...

LG

mkinzler 16. Jan 2008 17:28

Re: Datei via Windowspopup laden
 
In dem du das Programm mit der Endung verknüpfst

OregonGhost 16. Jan 2008 17:31

Re: Datei via Windowspopup laden
 
Geht es vielleicht eher darum, dass dein Programm noch nicht weiß, was es tun soll? In dem Fall wäre vielleicht das Verarbeiten der Kommandozeilenparameter mithilfe von ParamStr() dein Ansatzpunkt.

JB-1990 16. Jan 2008 17:48

Re: Datei via Windowspopup laden
 
thx werd das ma ausprobiern, meld mich bei Problemen

JB-1990 3. Mär 2008 18:08

Re: Datei via Windowspopup laden
 
So hatte ma wieder zeit und so richtig versteh ich nicht, was der ParamStr() macht, kann mir einer erklären, was ich da eintragen muss? Und warum das da hin muss und was man da auch schreiben könnte?
Und dann wär 'ne Anleitung zum Verknüpfen von Datein an ein beliebiges Format noch ganz praktisch (so das es bei jedem rechner funktioniert)

dominikkv 3. Mär 2008 18:42

Re: Datei via Windowspopup laden
 
In ParamStr() kannst du nix reinschreiben!
Wenn du eine Datei (zB deine psycho.katze) mit deinem Programm öffnest wird dein Programm gestartet und es werdem ihm als Parameter der Speicherort der Datei angegeben.
Mit ParamCount bekommst du die Anzahl der Parameter.
In ParamStr(0) steht der Pfad zur eigenen exe.
In ParamStr(1) würde dann also der Pfad zu der psycho.katze stehen, die kannst du dann laden.

JB-1990 5. Mär 2008 20:12

Re: Datei via Windowspopup laden
 
quasi nur ins OnCreate

Delphi-Quellcode:
FOR i:=0 TO ParamCount DO BEGIN
 ParamStr(i)
END;
???

SirThornberry 5. Mär 2008 20:16

Re: Datei via Windowspopup laden
 
Weißt du was Kommandozeilenparameter sind? Oder anders. Weißt du was passiert wenn du eine Datei mit "Öffnen mit..." öffnest? Wüsstest du wie du das gleiche über die Kommandozeile (cmd) oder per "Start->Ausführen..." erreichst?

Ich frage nicht aus Bösartigkeit sondern weil ich den Eindruck habe das du das nicht weißt und dann wäre es angebracht dir zuerst das zu erklären damit du mit ParamStr und ParamCount etwas anfangen kannst und es nicht nur verwendest.

JB-1990 5. Mär 2008 20:21

Re: Datei via Windowspopup laden
 
naja über "cmd" könnt ich das nicht erreichen...halt nur über den Opendialog... *verlegengug*

P.S.: Mir reicht das was wir in der Schule lernen nicht für den Privatgebrauch und find es auch echt gut, dass es so ein Forum gibt und man sich mit leuten unerhalten kann, die davon Ahnung haben und bereit sind ihr wissen zu teilen

SirThornberry 5. Mär 2008 20:30

Re: Datei via Windowspopup laden
 
Ok, dann hole ich mal etwas weiter aus. Früher (also vor gaaaanz vielen Jahren) wurde noch im Textmodus gearbeitet. Man hatte Kommandos um Dateien zu löschen, verschieben, umzubenennen etc. und musste denen natürlich auch die Informationen mitgeben was gelöscht, verschoben, umbenannt etc. werden soll. Bsp.:

Wenn man eine Datei umbenennen wollte konnte man das Kommando "rename" nutzen. Dieses erwartete als ersten Parameter die Datei die umbenannt werden soll und als zweiten Parameter den neuen Dateinamen:
Code:
rename alter_dateiname.txt neuer_dateiname.txt
Dieses Prinzip ist bis heute erhalten geblieben. Wenn du einen Doppelklick auf ein Dokument im Explorer machst, wird das dazu gehörige Programm gestartet und die angeklickte Datei wird als Parameter übergeben.
Code:
notepad.exe Textdatei.txt
Wenn du eine Datei per "öffnen mit..." öffnest, passiert auch ganz genau das selbe. Über die Kommandozeile, Start->Ausführen, und viele andere Arten, kannst du auch mehrere Parameter übergeben.

Wenn du
Code:
c:\.....\Katzenlader.exe Datei1.txt Datei2.txt Datei3.txt
unter ausführen eingibst, werden der Datei Katzenlader.exe 3 Parameter übergeben.
Mit
Delphi-Quellcode:
parameter_zahl := ParamCount();
kannst du die Anzahl der Parameter abfragen.

Mit
Delphi-Quellcode:
erster_parameter := ParamStr(1);
würdest du "Datei1.txt" bekommen und so weiter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.
Seite 1 von 2  1 2      

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