![]() |
Parameter bei Dateistart...
Hi,
ich hab ne Datei "datei.test", wenn ich in den ordneroptionen unter der erweiterung ".test" mein programm festlege und die datei starte, dann kann ich aber net den pfad der datei rauskriegen. gibts dazu vielleicht ne extra funktion oder muss man die funktion selber basteln und wenn wie? |
Der Pfad wird deinem Programm im ersten Parameter mit übergeben. SDiej dazu ParamCount und ParamStr.
|
hi,
das hab ich schon ausprobiert, auch das hier:
Delphi-Quellcode:
da wird aber nur mein pfad von meinem prog zurückgegeben :(
for i := 0 to paramcount do begin
s := s + paramstr(i); end; showmessage(s); |
weil paramstr(0) Der ProgrammPfad is glaub ich.
|
Ich verute mal, du wolltest das Beispiel aus der Hilfe verwenden...
Da heißts aber nicht i := 0 sondern i := 1. |
bei mir wird da aber nix zurückgegeben... wenn ich meine anwendung mit parametern (start|parameter) starte, dann wird da auch was bei 1 angezeigt, sonst aber net :evil:
|
Zitat:
Aber das ist doch logisch. Wenn du deiner Anwendung keine Parameter übergibst, dann können auch keine angezeigt werden! |
Genau das wollte ich auch gerade schreiben. Was soll denn als Parameter übergeben werden, wenn du keine angibst??? Is ja logisch, dass da nix kommt. Wenn du z.B. einen Dateityp für deine Anwendung registriert hast, und dann im Explorer so eine Datei öffnest, dann wird der Dateiname inklusive Pfad in ParamStr(1) gespeichert. Wenn du aber aus dem Programm heraus ParamStr(1) aufrufst, kriegst du nur '' zurück.
|
hmpf ich erkläre es besser nochmal: ihr registriert eure eigene dateiendung und verknüpft das dann mit eurem programm. wenn ihr jetzt n doppelclick auf die datei mit eurer dateierweiterung macht, dann wird euer programm mit dem pfad der datei gestartet. nur wird der pfad von der datei nicht in paramstr() festgehalten.
|
Wenn du im OnShow Ereignis von deinem Form zum Beispiel machst:
Delphi-Quellcode:
Dann steht bei einem Doppelklich auf eine registrierte Datei der Pfad inkl. Dateiname als Caption in der Titelleiste.
IF ParamStr(1) <> ''
THEN Form1.caption := ParamStr(1); |
Hoi,
@Basic-Master: Das ist so nicht richtig. Wenn man einen DAtei-Typ registriert dann steht im Commandschlüssel z.B. Zitat:
|
hi,
ich hab das mal ausprobiert, in der registrierung steht jetzt:
Code:
das geht aber net... wenn ich aber ne datei auf mein prog schiebe (drag drop) dann wird auch die datei angezeigt :?
C:\Programme\MyCompany\MyProject\MyProg.exe%1
|
Da fehlt ein Leerzeichen, und im Interesse langer Dateinamen bzw. Dateinamen mit Leerzeichen dürfen/können/müssen/sollen es auch Anführungszeichen sein:
Code:
"C:\Programme\MyCompany\MyProject\MyProg.exe" "%1"
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:14 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