Seite 1 von 1

Optionen (bzw Paramter ) bei Programmen

Verfasst: 04.01.2006 15:17
von KingS
Hi Leute.
Ich sag es schon mal von Anfang an: Ich hab die Suchfunktion nicht benutzt. Ich hab nämlich absolut keine Ahnung, was ich dazu als Suchbegriff hätte eingeben sollen :(

Also, ich code mit vorliebe Konsolenprogramme.
Ich will jetzt, dass man bei meinem Programm noch Parameter dranhängen kann. Ein Beispiel:
test.exe -acn
Wenn jetzt zb die Option -a angehängt wurde soll zb die Variable Option den Wert 1 haben. Bei c den Wert 2 usw.

Ich hoffe ihr versteht, was ich meine. Achja, ich würde das gerne ohne WinApi machen. Habe mir PureBasic zwar original gekauft, aber ich will das Programm auch unter Linux verwenden. :)

Mfg KingS

Re: Optionen (bzw Paramter ) bei Programmen

Verfasst: 04.01.2006 15:22
von Kiffi
> Ich will jetzt, dass man bei meinem Programm noch Parameter
> dranhängen kann.

Du suchst nach [c]ProgramParameter()[/c]

Code: Alles auswählen

Parameter$=ProgramParameter()

Select Parameter$
  Case "-a"
    Option=1
  Case "-c"
    Option=2
EndSelect
Grüße ... Kiffi

Verfasst: 04.01.2006 15:28
von edel
oder so :

Code: Alles auswählen

OpenConsole()

param.s = ProgramParameter()

For i = 1 To Len(param)
  
  flag.s = Mid(param,i,1)
  
  Select flag
    Case "a"
      PrintN("a -> 1")
    Case "c"
      PrintN("c -> 2")
    Case "n"
      PrintN("n -> 3")
  EndSelect
  
  
Next 
  

Input()
CloseConsole()

; programm.exe /acn


Verfasst: 04.01.2006 19:54
von AND51
Dazu hätte ich noch eine Frage:
Wie kann man den Exitcode benutzen? Wenn ich beispielsweise ein Programm mit einem bestimmten Parameter aufrufe, dann soll mein Programm irgendwas machen, und dann z. B. beenden:

Code: Alles auswählen

End "Mein Exitcode"
Lt. hilfe ist das so syntaktisch richtig. Nur wie fange ich dieses "Mein Exitcode" ab?

Verfasst: 04.01.2006 20:18
von ts-soft
AND51 hat geschrieben:

Code: Alles auswählen

End "Mein Exitcode"
Lt. hilfe ist das so syntaktisch richtig. Nur wie fange ich dieses "Mein Exitcode" ab?
Nein, du kannst nur eine Zahl übergeben

Code: Alles auswählen

End 1
Dieses ist aber eigentlich für Konsolenprogramme.
Du kannste dein Programm per Batch starten, und dann am ende den Exitcode abfragen:
mein.bat hat geschrieben:c:\meineprogi\meinprogramm.exe
echo %errorlevel%

Verfasst: 04.01.2006 20:22
von AND51
Achso.
Gibt es denn einen anderen Weg, wenn ich ein Programm aufrufe, dass es meinen Paramterer verarbeitet und mir dann das Ergebnis, egal ob String oder Zahl, mitteilt?
OK, notfalls macht man es halt über eine Datei, Registry, Zwischenablage, InitNetwork(), aber vllt. gibts ja was eleganteres?

Verfasst: 04.01.2006 20:25
von ts-soft
Elleganter ist z.B. GlobalSharedmemory
findeste in PBOSL. Zischenablage würde ich ganz abraten in diesem Fall, da
diese ja evtl. Inhalt einer anderen Anwendung enthalten könnte.