Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Parsen von DateiPfaden und Parametern (https://www.delphipraxis.net/15492-parsen-von-dateipfaden-und-parametern.html)

Synonym 29. Jan 2004 18:02


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:
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;
Synonym

Christian Seehase 30. Jan 2004 00:03

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.

choose 30. Jan 2004 08:51

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:
program Project1;
{$APPTYPE CONSOLE}
var
  i: Integer;
begin
  writeln(ParamCount);
  for i:= 1 to ParamCount do
    writeln(ParamStr(i));
end.
mit der Eingabe
Code:
Project1 "my first parameter" "and a second one"
lautet folglich
Code:
2
my first parameter
and a second one

Synonym 30. Jan 2004 17:00

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 17:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz