AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Konsolenanwendung und Parameter

Ein Thema von TheCry · begonnen am 3. Jun 2008 · letzter Beitrag vom 3. Jun 2008
Antwort Antwort
TheCry

Registriert seit: 19. Mai 2008
4 Beiträge
 
#1

Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 07:42
Morgen zusammen,
ich bin ziemlich neu in der Materie Delphi, aber die Programmiersprache gefällt mir sehr gut.
Deswegen ist es auch mein Ziel hier mit einzusteigen und mein bescheidenes Wissen etwas zu erweitern...

Bis jetzt habe ich nur PHP programmiert.. Ich denke um das Verständnis für OOP zu haben sollte das schon ein bisschen weiterhelfen.

Naja... Ich hoffe hoffe ich bekomme es hin...
Worum geht es- Ich benötige einige Plugins für Windows die Nagios (www.nagios.org) unterstützen...

Bei diesen Plugins brauche ich keine Fenster, sondern nur die Konsole...
Ich möchte dort jetzt erst einmal klein anfangen um mir das Verständnis von Delphi anzueigenen.

Und schon komme ich an einem Punkt wo ich hänge...
Ich möchte gerne ein Programm erstellen, womit ich die Anzahl von Dateien in einem Verzeichnis zählen kann.

Aber das Verzeichnis (mit Laufwerkbuchstabe) soll per Parameter an das Programm übergeben werden.
Genauso brauche ich einen Parameter für einen Warning- und einen Parameter für den Criticalwert.

Mein Wunsch wäre wenn man das Programm dann später wie folgt aufruft:
Zitat:
filecount.exe -d c:\temp -w 80 -c 100
Rückgabe soll dann später so erfolgen, dass wenn die Level nicht überschritten werden, folgendes erscheint:
Zitat:
OK - Anzahl der Dateien: {Wert}
Wenn der Warning überschritten ist:
Zitat:
WARNING - Anzahl der Dateien: {Wert}
Und wenn der Critical überschritten ist:
Zitat:
CRITICAL - Anzahl der Dateien: {Wert}
Ich habe zwar mal was gelesen wie man externe Parameter ausliesst (ParamCount), aber nicht wie es oben geschrieben gemacht wird.

Hoffe doch, dass ich es nicht zu kompliziert beschrieben habe und Ihr mir dort auf die Sprünge helfen könnt.

Gruß
Sascha
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 07:46
In deinem Beispiel sind es sieben Parameter, die du parsen musst.

Nur schemenhaft als Bsp:

for i:=0 to ParamCount -1 do begin

...
machwas mit ParamStr(i)
...
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 07:55
Müsste doch eigentlichfor i := 1 to ParamCount do heißen, oder? In ParamStr(0) steht immer der komplette Pfad zur Anwendung, auch wenn keine Parameter explizit übergeben wurden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 07:58
Das denken an der Stelle wollte ich ihm jetzt nicht abnehmen. Das kann man auch nachlesen.
  Mit Zitat antworten Zitat
TheCry

Registriert seit: 19. Mai 2008
4 Beiträge
 
#5

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 08:01
Erst einaml Danke für die schnellen Antworten...

Wenn ich das jetzt richtig verstehe muss ich diese Schleife durchlaufen lassen um alle Parameter zu erfassen.
Und dort muss ich dann auch prüfen ob hinter den einzelnen Parametern (-d, -w , -c) etwas angegeben wurde.

Wenn alle Parameter ordnunngsgemäß übergeben wurden, läuft die eigentliche Auswertung.

Ist das so der richtige Ansatz?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 08:04
Im Prinzip richtig erfasst. Bedenke aber auch, dass
Zitat:
-d c:\temp
als 2 Parameter angesehen werden (es sei denn, Du setzt Anführungszeichen drumherum).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#7

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 08:04
Das kann man getrost mit ja beantworten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 08:07
Allerdings gibt es hier im Forum eine Unit von einem Mitglied, die das Parsen der übergebenen Parameter sehr vereinfacht. Mir fällt nur leider der Name der Unit jetzt nicht ein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TheCry

Registriert seit: 19. Mai 2008
4 Beiträge
 
#9

Re: Konsolenanwendung und Parameter

  Alt 3. Jun 2008, 08:12
Zitat von DeddyH:
Im Prinzip richtig erfasst. Bedenke aber auch, dass
Zitat:
-d c:\temp
als 2 Parameter angesehen werden (es sei denn, Du setzt Anführungszeichen drumherum).
Oh... Danke für den Hinweis... Da hätte ich bestimmt nachher wieder dran rumgefummelt, bis ich das Problem gefunden hätte.

@Luckie
Auch Danke- Werde mal etwas stöbern gehen
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 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