![]() |
cmdline tool
morgen erstmal, also ich suche ien paar infos, wie ich ein cmdline tool aufzubauen habe sprich wie ich es hinbekomme das es auf parameter nach dem namen des tools (wie z.b. dir /? - das da die help file angezeigt wird) reagiert und das überhaupt ein cmdline prog ist. vlt soll es wenn ich als parameter -n angebe -> net view ausgeführt werden und bei -i -> ipconfig oder so.
thx schonmal im vorraus. |
Re: cmdline tool
|
Re: cmdline tool
also thx für deine antwort, ich bin jetzt weitergekommen. funktioniert alles soweit nur ich weiss nicht wie ich es hinbekommen soll, dass er es in der aktuellen dos box ausgibt. also atm gebe ich es noch mit showmessage aus.
|
Re: cmdline tool
Mit der Compilerdirektive {$APPTYPE CONSOLE} wird eine Console aufgebaut.
Dann kannst du mit den gängigen IO-Anweisungen hantieren. |
Re: cmdline tool
ahh gut, damit kenn ich mich auch schon ein bisschen aus :) aber was ist IO
|
Re: cmdline tool
|
Re: cmdline tool
axo das bedeutet IO ^^, aber writeln und readln kenne ich ja schon.
Habe trotzdem noch ein paar fragen. Ich möchte ja ein Konsolenprogramm mit Parametern machen. Gibt es irgendeine Möglichkeit die Variablen in jeder if Anwendung zu deklarieren. Ich überprüfe den parameter mit
Code:
Wenn ich jetzt Variablen benutze deklariere ich sie direkt unter uses, wenn ich das richtig verstanden habe, als globale Variable. Wie es in einer Function oder Procedure geht weiß ich ja, aber wenn ich z.B. 10 verschiedene Parameter habe und jedesmal 3 Variablen benutze ist das nur ein großes WirWarr an globalen Variablen.
if Parameter = '-irgendwas' then
begin CODE end; |
Re: cmdline tool
Schau dir dazu
![]() Diese Funktion müsste dir jeden Parameter liefern, der angegeben wird. Ich glaube der Parameter-Index muss an die Funktion übergeben werden. Einfach mal nachschauen! Grüße :-D |
Re: cmdline tool
das habe ich schon verstanden, jedoch habe ich probs mit den variablen der übersicht haltshaber. Ich habe nicht 10 parameter hintereinander sonder 10 einzelne parameter die alle unterschiedlich sind. ich weiß nur nicht wie ich lokale variablen innerhalb dieses if blocks verwenden soll. Achja btw wie kann ich denn auf die Indy HTTP Komponente bei einem Konsolenprogramm zugreifen? Kann die komponente ja nicht auf die Form ziehen.
|
Re: cmdline tool
Um ganz ehrlich zu sein, habe ich nicht den Hauch einer Ahnung, was Dein Problem ist...
In der Delphihilfe ist doch ein Beispiel mit einer For Schleife...
Code:
ich habe echte Verständnisprobleme...
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer; for i := 1 to ParamCount do begin if LowerCase(ParamStr(i)) = 'beep' then Beep else if LowerCase(ParamStr(i)) = 'exit' then Application.Terminate; end; end; Und ich glaube, das mit den Indy Komponenten gehört in einen neuen Thread... Wobei ich das glaube ich einfach lösen würde, indem ich das zur Laufzeit erzeuge ?!? Grüße... |
Re: cmdline tool
Naja sorry wenn ich mich hier falsch ausdrücke aber das liegt dann wohl dadran das ich es nicht besser weiß. Aber ich habe doch gesagt, dass es ein Konsolenprogramm ist und ich denke da gibt es sowas wie
Zitat:
|
Re: cmdline tool
Ah ja, ok...
ich glaube, jetzt habe ich verstanden, was Du möchtest. Es geht nach meinem Wissen nicht, in jeder If-Abfrage eigene Variablen zu deklarieren. Währe allerdings, wenn es so währe auch ziemlich unsauber.. Vieleicht erstellst Du, wenn Dir das ein zu großes durcheinander wird, eigene Funktionen/ Proceduren? Dann kannst Du auch wieder lokale Variablen erstellen! Vieleicht so nach der Art:
Delphi-Quellcode:
Und dann im Hauptprogramm:
procedure ForParameter1;
Var lokalVar: String; Begin <Jede Menge Coding> End; procedure ForParameter2; Var lokalVar: String; Begin <Jede Menge Coding> End; procedure ForParameter3; Var lokalVar: String; Begin <Jede Menge Coding> End;
Delphi-Quellcode:
Muß man evtl. noch anpassen, wenn Du mit mehreren Parameter arbeites. Aber vieleicht als Anhalt!
begin
if paramstr(1) = 'parameter1' then ForParameter1 else if paramstr(1) = 'parameter2' then ForParameter2 else ifparamstr(1) = 'parameter3' then ForParameter3; end; Sonnige Grüße.. :dancer: |
Re: cmdline tool
thx, das sieht schonmal gut aus. das mit der indy frage ich mal in einem anderen thread :>
|
Re: cmdline tool
also....
Datei- Neu- Weitere- Konsolenanwendung das ist der erste Schritt dann ist der rest so zu machen wie plumper gesagt hat aber pass auf das du mit Writeln/Readln hantieren musst |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 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