|
ArgsDemo.m2 |
PROCEDURE ProcessArgs; VAR flag: CHAR; BEGIN avalue := 0; bvalue := ""; cflag := FALSE; dvalues[0] := 0; dvalues[1] := 0; InitArgs("[-a card] [-b string] [-c] [-d card1 card2] text"); WHILE GetFlag(flag) DO CASE flag OF | "a": FetchCard(avalue); | "b": FetchString(bvalue); | "c": cflag := TRUE; | "d": FetchCard(dvalues[0]); FetchCard(dvalues[1]); ELSE Usage; END; END; FetchString(text); AllArgs; END ProcessArgs; |
Mit InitArgs beginnt die Abarbeitung der Kommandozeile
von vorne. Übergeben wird ein Teil der Zeile, die bei Usage
ausgegeben wird.
| |
GetFlag holt die nächste Option, sofern vorhanden.
Wenn keine Option vorliegt, wird FALSE zurückgeliefert.
| |
FetchCard und FetchString holen ein Argument ab. Wenn
keines vorliegt, wird automatisch Usage aufgerufen.
| |
Usage gibt eine Fehlermeldung aus und beendet das Programm.
| |
AllArgs ruft Usage auf, wenn noch unbearbeitete Argumente
übrig geblieben sind.
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 13.01.1999 |