(* ********************************************************* ********************************************************* ** ** ** ls-Herbert und Robbi ** ** GENERATORPROGRAMM ** ** Version 1.1 ** ** ** ** (Stand: 30.03.88) ** ** ** ** ** ** Autor: Wolfgang Weber, Bielefeld ** ** ** ** ** ** Copyright (C) 1987, 1988 Eva Latta-Weber, Bielefeld ** ** ** ** Copyright (C) 1988 ERGOS GmbH, Siegburg ** ** ** ********************************************************* ********************************************************* *) LET mm taskname = "ls-MENUKARTEN", datei1 = "ls-Herbert und Robbi 1", datei2 = "ls-Herbert und Robbi 2", datei3 = "ls-Herbert und Robbi 3", menukarte = "ls-MENUKARTE:Herbert und Robbi"; PROC stelle existenz des mm sicher: cursor (1, 5); out (""4""); IF NOT exists (task (mm taskname)) THEN errorstop ("Unbedingt erst den 'MENUKARTEN MANAGER' generieren!"); FI END PROC stelle existenz des mm sicher; PROC vom archiv (TEXT CONST datei): cursor (1,5); out (""4""); out (" """); out (datei); putline (""" wird geholt."); fetch (datei, archive) END PROC vom archiv; PROC hole (TEXT CONST datei): IF NOT exists (datei) THEN vom archiv (datei) FI END PROC hole; PROC in (TEXT CONST datei): hole (datei); cursor (1, 5); out (""4""); out (" """); out (datei); out (""" wird übersetzt: "); insert (datei); forget (datei, quiet); END PROC in; PROC schicke (TEXT CONST datei): cursor (1, 5); out (""4""); out (" """); out(datei); out (""" wird zum MENUKARTEN-MANAGER geschickt!"); command dialogue (FALSE); save (datei, task (mm taskname)); command dialogue (TRUE); forget (datei, quiet) END PROC schicke; INT VAR size, used; BOOL VAR einzeln, mit erweiterung :: FALSE; storage (size, used); einzeln := size - used < 500; forget ("ls-Herbert und Robbi/gen", quiet); wirf kopfzeile aus; stelle existenz des mm sicher; hole die dateien; insertiere die dateien; mache global manager aus der task. wirf kopfzeile aus: page; putline (" "15"ls-Herbert und Robbi - Automatische Generierung "14""); line (2); putline (" Bitte beantworten Sie noch die folgende Frage:"); line; put(" Sollen neben den 'Standardtests' auch die folgenden 'Tests':"); line (2); putline(" Für den Hamster: Für den Roboter:"); putline(" links frei links frei"); putline(" rechts frei rechts frei"); putline(" hinten frei hinten frei"); putline(" korn vorn werkstueck vorn"); putline(" korn links werkstueck links"); putline(" korn rechts werkstueck rechts"); putline(" korn hinten werkstueck hinten"); line; IF yes(" zur Verfügung gestellt werden") THEN mit erweiterung := TRUE FI. hole die dateien: IF NOT exists (datei 1) COR NOT exists (datei 3) COR NOT exists (menukarte) THEN hole dateien vom archiv; LEAVE hole die dateien FI; IF mit erweiterung AND NOT exists (datei 2) THEN hole dateien vom archiv FI. hole dateien vom archiv: cursor (1,3); out (""4""); IF yes ("Ist das Archiv angemeldet und die Diskette eingelegt") THEN lese ein ELSE line (2); errorstop ("Ohne die Diskette kann ich das System nicht generieren!") FI. lese ein: cursor (1, 3); out (""4""); out (" "15"Bitte die Diskette eingelegt lassen! "14""); IF NOT einzeln THEN hole (datei 1); hole (datei 3); hole (menukarte); IF mit erweiterung THEN hole (datei 2) FI; cursor (1, 3); out(""4""); out (" "15"Die Diskette wird nicht mehr benötigt! "14""); release (archive) FI. insertiere die dateien: check off; cursor (1, 3); out(""4""); out (" "15"Die Diskette wird nicht mehr benötigt! "14""); in (datei 1); IF mit erweiterung THEN in (datei 2) FI; in (datei 3); schicke (menukarte); IF einzeln THEN release (archive) FI; check on. mache global manager aus der task: global manager.