![]() |
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 |
Re: Datei via Windowspopup laden
In dem du das Programm mit der Endung verknüpfst
|
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.
|
Re: Datei via Windowspopup laden
thx werd das ma ausprobiern, meld mich bei Problemen
|
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) |
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. |
Re: Datei via Windowspopup laden
quasi nur ins OnCreate
Delphi-Quellcode:
???
FOR i:=0 TO ParamCount DO BEGIN
ParamStr(i) END; |
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. |
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 |
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:
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.
rename alter_dateiname.txt neuer_dateiname.txt
Code:
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.
notepad.exe Textdatei.txt
Wenn du
Code:
unter ausführen eingibst, werden der Datei Katzenlader.exe 3 Parameter übergeben.
c:\.....\Katzenlader.exe Datei1.txt Datei2.txt Datei3.txt
Mit
Delphi-Quellcode:
kannst du die Anzahl der Parameter abfragen.
parameter_zahl := ParamCount();
Mit
Delphi-Quellcode:
würdest du "Datei1.txt" bekommen und so weiter.
erster_parameter := ParamStr(1);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr. |
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