Delphi-PRAXiS
Seite 2 von 2     12   

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)

Namenloser 5. Mär 2008 20:40

Re: Datei via Windowspopup laden
 
Hallo,
Kommandozeilenparameter sind eine Möglichkeit, Programmen bestimmte Parameter - ähnlich wie bei einer Delphi-Function - zu übergeben. Bei der Function "Showmessage" schreibst du ja
Delphi-Quellcode:
showmessage('Hallo Welt');
übergibst also 'Hallo Welt' als Parameter an die Funktion.
So ähnlich geht das auch bei Programmen in der Kommandozeile (Eingabeaufforderung). Dort werden die parameter aber nicht in Klammern geschrieben, sondern einfach hinten an den Dateinamen angehängt, z.B.:
Code:
chkdisk.exe c
"C" ist also ein Parameter (in diesme fall das Laufwerk), der chkdisk.exe übergeben wird. Es können natürlich auch mehrere parameter übergeben werden, die werden dann eifanch hintereinander mit einem Leerzeichen dazwischen geschrieben. Damit du in deinem programm diese Parameter bearbeiten aknnst, musst du sie natürlich auch irgendwie abrufen können. In Delphi steht in "ParamCount" die Anzahl der Parameter, mit ParamStr(n) kannst du die einzelnen parameter auslesen. (n ist der Index des Parameters, also 1 ist der erste, 2 der zweite usw)
Wenn du jetzt im Explorer mit Rechtsklick eine Datei öffnest, macht Windows intern nichts anderes, als deine Exe mit dem dateinamen als Parameter zu starten. In der Kommandozeile sähe das so aus:
Code:
katzenlader.exe "psycho.katze"
Wenn du in deinem Programm diesen Parameter benutzen willst, schreibst du also einfach ParamStr(1).


[add] grmbl, war klar, dass einer schneller sein würde... da hab ich jetzt aber zu lang dran getippt, um es nicht abzuschicken :stupid: [/add]

JB-1990 6. Mär 2008 18:33

Re: Datei via Windowspopup laden
 
Danke an euch beide, echt super Erklärung. Wäre ohne eure Hilfe echt verzweifelt, weil die Delphihilfe bezüglich dessen nich besonderes liefert. Kann es ja auch nicht, der Exkurs durch die Geschichte war echt gut, hab ich schon fast vergessen gehabt...nutz zwar oft das "Ausführen" aber das die damals richtig abhängig von sowas waren, is bei mir voll in den Hinterkopf geraten *michschäm*
Auch die Erklärung zu den Parametern, was sie eigentlich sind und in welcher art sie vorliegen können war auch echt interessant...THX an euch beide, funktioniert jetzt echt prima. Sogar so, dass ich 100%ig weiß, was da passiert und warum das gebraucht wird.
fettes THX.

liebe Grüße JB-1990

JB-1990 23. Okt 2008 00:34

Re: Datei via Windowspopup laden
 
Das klappt alles supi, war ja auch sehr gut erklärt. Jetzt ist mir irgendwann mal in den Sinn gekommen meinen Editor noch toller zu machen und Tabs einzufügen, jetzt kommt das Problem, dass wenn ich mehrere Textdatein markiere und auf öffnen drücke es mir immer wieder meine EXE ausführt und in jeder was anderes drin steht (logisch sind ja 3 verschiedene Datein) hab mit paramcount überprüft und jede application gibt mir den Wert 1 zurück. Irgendwas stimmt also mit den Kommandozeilenparametern ni so richtig, denn würde alles glattlaufen, würde es mir ja ne 3 geben =(
Frage: Wie kann ich meinem Programm sagen, dass es sich in so einem Fall nur einmal öffnen soll?
LG JB-1990

JB-1990 1. Dez 2008 19:35

Re: Datei via Windowspopup laden
 
keiner ne idee?


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Seite 2 von 2     12   

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