![]() |
Parameter Konsole
Hallo,
ich werd aus der Borlandhilfe nicht schlau. Ich möchte beim Aufruf der Anwendung über die Konsole einige parameter mitgeben. Wie lese ich diese aus? Chris |
Re: Parameter Konsole
..gibt es in Delphi .Net noch ParamStr und ParamCount?
Wenn dem so sein sollte, sollte das damit möglich sein. Grüße Klaus |
Re: Parameter Konsole
Ich danke Dir - das ich eine Spur habe nach der ich suchen kann. Ich liebe Beiträge die von Überheblichkeit tropfen. Aber wie gesagt - Danke für den Tip.
Chris |
Re: Parameter Konsole
wieso Überheblich, ich war mir nicht sicher ob es die Funktionen noch bei .NET gibt.
Habe "nur" Delphi6. Wenn es Dir weiterhilft, ein kleiner Programmauszug mit ParamCount und ParamStr:
Delphi-Quellcode:
Grüße
i:=1;
// read Parameterlist While i <= ParamCount DO begin IF ParamStr(i) = '-s' THEN // serverString _server:=ParamStr(i+1) else IF ParamStr(i) = '-u' THEN // userName _username:=ParamStr(i+1) else IF ParamStr(i) = '-p' THEN // password _password:=ParamStr(i+1) else IF ParamStr(i) = '-e' THEN //programms to execute begin while (pos('-',ParamStr(i+1)) = 0) AND (i < ParamCount) DO begin _executable.Add(Paramstr(i+1)); inc(i); end; i:=i-1; end else IF ParamStr(i) = '-ep' THEN // parameter for executable begin while (pos('-',ParamStr(i+1)) = 0) AND (i < ParamCount)DO begin _parameter.add(ParamStr(i+1)); inc(i); end; i:=i-1; end else IF ParamStr(i) = '-cp' THEN // crypted password _password := decode(ParamStr(i+1)) else IF ParamStr(i) = '-c' THEN // encrypt password begin WriteLn('Password encrypted: '+encode(ParamStr(i+1))); WriteLn('Press any key to continue ...'); ReadLn; end else IF Paramstr(i) = '-t' THEN // timer begin IF check_number(ParamStr(i+1)) THEN _timeout:=StrToInt(ParamStr(i+1)) ELSE _timeout:=0; end else IF Paramstr(i) = '-r' THEN // remove network drive begin if removeNetworkDrive(ParamStr(i+1)) then begin WriteLn('Networkdrive '+ParamStr(i+1)+' disconnected'); SetGlobalEnvironment('drive',' '); end else RaiseLastOSError; end else IF ParamStr(i) = '-h' THEN // prints help begin print_help; i:=i-1; end else IF ParamStr(i) = '-m' THEN // map network drive begin _mountonly:=true; i:=i-1; end; i:=i+2; end; // end while Klaus |
Re: Parameter Konsole
Thanx.
Kam halt beim lesen so rüber. Aber Schwamm drübe. Vielleicht hab ichs auch falsch aufgenommen. Nochmals Danke. Chris |
Re: Parameter Konsole
In .NET gibt es die Routinen auch.
Hier ein Auszug aus der OH von Delphi:
Code:
Hoffe, Dir damit geholfen zu haben.
Gibt einen bestimmten Kommandozeilenparameter zurück.
Namespace Borland.Delphi.System Syntax [Delphi] function ParamStr(Index: Integer): string; Beschreibung ParamStr gibt den in Index angegebenen Kommandozeilenparameter zurück. Ist der Wert von Index größer als ParamCount , wird ein leerer String zurückgegeben. Wird beispielsweise für Index der Wert 2 angegeben, liefert ParamStr den zweiten Parameter zurück. Hinweis: Unter Windows gibt ParamStr(0) den Pfad und den Dateinamen des ausgeführten Programms zurück (z.B. C:\TEST\MYPROG.EXE). Hinweis: Unter Linux gibt ParamStr(0) den für die Ausführung des Programms erforderlichen Befehl ohne Parameter zurück (z.B.: ./myprogram). Dieses Verhalten ist abhängig von den Informationen, die das Shell-Programm zurückgibt und ist möglicherweise für verschiedene Shells unterschiedlich. Hinweis: Sie können mehrere Wörter in einem Parameter übergeben (z.B. lange Dateinamen mit Leerzeichen), indem Sie diese in Anführungszeichen einschließen. Verwandte Informationen System.ParamCount System.CmdLine |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 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