|##########| |#MAGIC #|CLABLOBE |#PROJECT #|"" |#PATHS #|"StdProject" |#FLAGS #|-x---x--x-----x----------------- |#USERSW #|-------------------------------- |#USERMASK#|-------------------------------- |#SWITCHES#|x----x---------- |##########| |==============================================================================| | Modul : Arguments | | Autor : Ulrich Sigmund und Thomas Pfrengle | | Datum : 10.10.1991 | | Verwendung : Bearbeitung der Argumente, die beim Programmstart übergeben | | wurden. | | Änderungen : 17.12.91 Arg() gibt beim Start von der Workbench jetzt den | | kompletten Pfad des Argumentes zurück, ausserdem | | ist in diesem Falle das Aktuelle Directory das, in dem | | sich das Programm befindet. | |==============================================================================| DEFINITION MODULE Arguments; VAR NumArgs : INTEGER; | Anzahl übergebener Argumente (1..NumArgs) Wb : BOOLEAN; | Flag für Workbenchstart | | Funktion : Gibt Argumentstring zurück | Parameter : | num <- Nummer des Arguments (0..NumArgs-1), das ausgegeben | werden soll. | -> String mit dem num-ten Argument. Wurde das Programm von der | Workbenchgestartet, erhaelt man den kompletten Pfad der | uebergebenen Datei. | Arg(-1) gibt den Namen des Programms zurueck. |tested $$OwnHeap:=TRUE PROCEDURE Arg(num : INTEGER):STRING; | | Funktion : Überprüft das Vorhandensein eines Arguments und liefert die | Position zurück. | Parameter : arg <- Argumentstring, nach dem gesucht werden soll. | start <- Nummer des Argument, von dem ab gesucht werden soll. | wichtig, falls ein Argument mehrfach vorkommen darf. | caps <- Flag, ob ohne Rücksicht auf die Groß/Kleinschreibung | vergleichen werden soll. | tested PROCEDURE Exists(REF arg : STRING;start : INTEGER:=0;caps : BOOLEAN:=TRUE):INTEGER; | | Funktion : Liefert den Wert eines ToolTypes | Parameter : path <- Pfad der Datei, auf die sich der Befehl bezieht | toolType <- Tooltype, dessen Wert abgefragt werden soll. | -> Wert des Tooltypes oder ein Leerstring, falls | der Tooltype nicht gesetzt war. | tested $$OwnHeap:=TRUE PROCEDURE FindToolType(REF path,toolType : STRING):STRING; | | Funktion : Vergleicht einen übergebenen TollType-Wert mit einem vorgegebenen | ToolType. Dabei wird nicht Case-Sensitiv vorgegangen. | Ausserdem wird unterschieden, ob in TypeString mehere | alternative Möglichkeiten existieren, die durch ein `|` getrennt | sind z.B.: | | type1 = "text" | type2 = "a|b|c" | | MatchToolValue( type1, "text" ) -> TRUE | MatchToolValue( type1, "TEXT" ) -> TRUE | MatchToolValue( type1, "data" ) -> FALSE | MatchToolValue( type2, "a" ) -> TRUE | MatchToolValue( type2, "b" ) -> TRUE | MatchToolValue( type2, "d" ) -> FALSE | MatchToolValue( type2, "a|b" ) -> FALSE | PROCEDURE MatchToolValue(REF TypeString,Val : STRING):BOOLEAN; GROUP All = NumArgs,Wb,Arg,Exists; END Arguments.