![]() |
Parsen von DateiPfaden und Parametern
Hi,
ich habe folgendes Problem... Ich habe einen String in dieser Form: c:\programme\programm.exe -f "c:\blabla..isu" -c c:\lala.conf Jetzt möchte ich diesen String in Zwei Teile teilen, einmal c:\programme\programm.exe und einmal den rest...Das klappt auch, doch es kann auch vorkommen das der String in dieser Form auftritt: c:\programme\programm.exe Wenn ich dann parse kommt ales ergebnis nur ein c:\ Vielleicht kann mir jemand helfen, denn ich muss die beiden Strings der shellexecute übergeben...
Code:
Synonym
var
str,str1 : string; counter : integer; begin counter := pos('.exe',listbox1.items[listbox1.itemindex])+5; str := copy(listbox1.items[listbox1.itemindex],1,pos('.exe',listbox1.items[listbox1.itemindex])+3); if length(str) > pos('.exe',listbox1.items[listbox1.itemindex])+2 then begin str1:= copy(listbox1.items[listbox1.itemindex],counter,length(listbox1.items[listbox1.itemindex])); end; showmessage(str1); ShellExecute(Application.Handle, 'open', pchar(str), pchar(str1), nil, SW_SHOW); end; |
Re: Parsen von DateiPfaden und Parametern
Moin Synonym,
parse Doch bis zum ersten Blank im String. Da sollte dann der Pfad zu Ende sein. Du müsstest bloss aufpassen, wenn der erste Pfad selber ein oder mehrere Blanks enthält. Dann wird er allerdings auch in "" eingeschlossen sein, so dass Du bis zum zweiten " suchen musst. |
Re: Parsen von DateiPfaden und Parametern
Sollten ein Kommandozeilenparameter in Anführungszeichen eingeschlossen sein, wird er, auch wenn zwischen den Anführungszeichen Leerzeichen vorkommen sollten, als ein Parameter interpretiert.
Die Ausgabe des Programms
Delphi-Quellcode:
mit der Eingabe
program Project1;
{$APPTYPE CONSOLE} var i: Integer; begin writeln(ParamCount); for i:= 1 to ParamCount do writeln(ParamStr(i)); end.
Code:
lautet folglich
Project1 "my first parameter" "and a second one"
Code:
2
my first parameter and a second one |
Re: Parsen von DateiPfaden und Parametern
hab es viel einfacher gelöst...am ende war es ganicht nötig die parameter zu parsen.
kann den string so an eine funktion weitergeben... synonym |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 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