/* Einstellung für das PLT-Device, druckt HPGL-Dateien über die Preferences- */ /* Treiber in Sahnequalität; zB. bei MultiPlot Fish 572 */ address command IF ~Open(reqFile, 'T:dm_req', Write) THEN DO 'AskEnv SREQ "Gravierender Fehler:" BODY "T:dm_req nicht geöffnet" NEG Abbruch' Exit 10 END ELSE DO CALL WriteLn reqFile, "WINDOW" CALL WriteLn reqFile, "CENTER 300 70" CALL WriteLn reqFile, 'NAME "Einstellung PLT:"' CALL WriteLn reqFile, 'BUTTON POSITION 20 45 80 12 GLOBAL dummy LABEL Sichern END #' CALL WriteLn reqFile, 'BUTTON POSITION 110 45 80 12 GLOBAL dummy LABEL Benutzen END #' CALL WriteLn reqFile, 'BUTTON POSITION 200 45 80 12 LABEL Abbruch CANCEL #' CALL WriteLn reqFile, 'CYCLE POSITION 180 20 100 12 PLACETEXT LEFT LABEL "PLT-Ausgabemedium"' IF GetEnv(pltinfo) = 'S' THEN DO Call WriteLn reqFile, 'GLOBAL pltout ENTRY Monitor Drucker #' previewCode = 0 END; ELSE DO Call WriteLn reqFile, 'GLOBAL pltout ENTRY Drucker Monitor #' previewCode = 1 END Call Close(reqFile) END 'AskEnv gadfile T:dm_req' IF rc = 0 THEN DO IF GetEnv(AskEnv_Button) = '1' THEN DO /* "ENV:AskEnv_Button" enthält Nummer des Buttons: Save */ viewMode = EnvSave(previewCode) IF ~Open(pltFile, 'ENVARC:pltinfo', Write) THEN DO 'AskEnv SREQ "Gravierender Fehler:" BODY "ENVARC:pltinfo nicht geöffnet" NEG Abbruch' END IF viewMode =~ previewCode THEN CALL WriteCh(pltFile, 'P') ELSE CALL WriteCh(pltFile, 'S') CALL CLOSE(pltFile) END ELSE DO /* Use */ CALL EnvSave(previewCode) END 'unsetenv pltout' EXIT END ELSE DO EXIT END EnvSave: PROCEDURE arg prevMode mode = GetEnv('pltout') IF mode ~= prevMode THEN 'setenv pltinfo P' ELSE 'setenv pltinfo S' RETURN mode /* GetEnv : liest Umgebungsvariable des ENV: Verzeichnisses */ /* Eingabe : Name der Variable */ /* Ausgabe : in Variable gespeicherter Wert, bzw Leerstring */ GetEnv: PROCEDURE arg name IF Open(infile, 'env:'name, r) THEN DO text = ReadLn(infile) CALL Close infile RETURN text END RETURN ''