Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#11

Re: Datei via Windowspopup laden

  Alt 5. Mär 2008, 21:40
Hallo,
Kommandozeilenparameter sind eine Möglichkeit, Programmen bestimmte Parameter - ähnlich wie bei einer Delphi-Function - zu übergeben. Bei der Function "Showmessage" schreibst du ja
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 [/add]
  Mit Zitat antworten Zitat