![]() |
Algorithmus zum ermitteln von Parametern
Hi,
kennt jemand einen Algorithmus, mitdem man z.B. diesem String in seine Parameter und den eigentlichen Befehl aufsplitten kann: Zitat:
Delphi-Quellcode:
Danke für jede Hilfe :thumb:
//Command
dosomething //Param1 a //Param2 123 //Param3 C:\Dokumente und Einstellungen\Test Florian |
Re: Algorithmus zum ermitteln von Parametern
Mit Hilfe der trennzeichen '-' müßtest du den string doch zerlegen können.
|
Re: Algorithmus zum ermitteln von Parametern
![]() oder Wenn du mit diesem Parameter dein Prog aufruft schaumal mit ParamStr und ParamCount. Mfg tobi |
Re: Algorithmus zum ermitteln von Parametern
Explode ist schonmal gut. Im Zusammenhang mit den "-" Zeichen.
Was aber, wenn ein "-" im Parameter selbst auftaucht? Normalerweise sind dafür ja dann die " zuständig, in die man den Parameter einbetten muss. Ich rufe den Parameter nicht über das Programm auf, sondern programmiere eine Art eigene Konsole. Florian |
Re: Algorithmus zum ermitteln von Parametern
achso.
dann würd ich empfehlen das - durch ein exotisches zeichen wie ein § ersetzen und dann explode drüberlaufen lassen und das - zwischen den " ignorieren. |
Re: Algorithmus zum ermitteln von Parametern
|
Re: Algorithmus zum ermitteln von Parametern
So, hab mich auch nochmal dran versucht...
Delphi-Quellcode:
procedure ReadParams(Text:string; Params:TStrings);
var p:string; i:integer; Quot:boolean; begin Quot:=false; p:=''; for i:=1 to length(Text) do begin case Text[i] of '-','/': if not Quot then begin if trim(p) <> '' then Params.Append(trim(p)); p:=''; end; '"': Quot:=not Quot; ' ': if not Quot then begin if trim(p) <> '' then Params.Append(trim(p)); p:=''; end; end; p:=p + Text[i]; end; if trim(p) <> '' then Params.Append(trim(p)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 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