![]() |
[Kontextmenü] - Pfad in einem Parameter übergeben
Ich erstelle einen Eintrag in der Registry, für das Kontextmenü.
Und wenn das ausgeführt wird, dann muss ich immer die Teilparamter zusammenpflicken. Was muss ich ändern, damit der ganze Pfad (mit den Leerzeichen) in einem Paramter übergeben wird?
Delphi-Quellcode:
reg.WriteString('', '"' + ParamStr(0) + '" %1');
|
Re: [Kontextmenü] - Pfad in einem Parameter übergeben
Moin Fabian,
auch das %1 muss in "" eingeschlossen werden.
Delphi-Quellcode:
reg.WriteString('', '"' + ParamStr(0) + '" "%1"');
|
Re: [Kontextmenü] - Pfad in einem Parameter übergeben
Also dann springt er nicht mehr korrekt an:
Delphi-Quellcode:
Entweder der Pfad ist dann falsch, oder es gibt nur einen Paramter (obwohl der ja der Parameter des Programms ist...)
program FileLink;
uses Forms, ClipBrd, SysUtils, uMain in 'uMain.pas' {Form1}; {$R *.res} var i : Integer; begin Application.Initialize; if ParamCount > 1 then begin Clipboard.AsText := ParamStr(1); for i := 2 to ParamCount do Clipboard.AsText := Clipboard.AsText + ' ' + ParamStr(i); end; if (not FileExists(Clipboard.AsText)) or (ParamCount = 1) then begin Application.CreateForm(TForm1, Form1); Application.Run; end; end. |
Re: [Kontextmenü] - Pfad in einem Parameter übergeben
Moin Fabian,
was steht denn dann in Paramstr(1). BTW: Das zusammenbasteln kannst Du dann auch weglassen. |
Re: [Kontextmenü] - Pfad in einem Parameter übergeben
Also die ParamCount ist nicht größer 1 ? o.O Dabei ist doch ParamStr(0) immer ?
BTW: Ich weiß das ich es dann lassen kann :P Um genau zu sein, dass war der grund, warum ich fragte :P Also wenn ich immer statt bei "ParamCount" 1 eine 0 schreibe gehts :P lol ;) Das muss man mal kapieren ^^ |
Re: [Kontextmenü] - Pfad in einem Parameter übergeben
Moin Fabian,
ParamStr(0) enthält immer den Pfad des Programmes, ist, inhaltlich, identisch mit Application.Exename. Bei Deinem Beispiel sollte ParamStr(1) den übergebenen Pfad enthalten, oder einen Leerstring, falls kein Pfad übergeben wurde (z.B. Direktaufruf des Programmes). Was Du allerdings mit dem Clipboard willst ist mir ein Rätsel. |
Re: [Kontextmenü] - Pfad in einem Parameter übergeben
![]() Aber draum ging es mir nicht, sondern darum, dass ja ParamStr(0) ja auch ein "Paramter" ist ;) Jedenfalls laut funktionsaufruf ;) Und deshlab habe ich angenommen, dass die auch zu ParamCount aufgenommen wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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