summaryrefslogtreecommitdiff
path: root/prozess/ls-Prozess 4
diff options
context:
space:
mode:
Diffstat (limited to 'prozess/ls-Prozess 4')
-rw-r--r--prozess/ls-Prozess 4595
1 files changed, 0 insertions, 595 deletions
diff --git a/prozess/ls-Prozess 4 b/prozess/ls-Prozess 4
deleted file mode 100644
index 59a1493..0000000
--- a/prozess/ls-Prozess 4
+++ /dev/null
@@ -1,595 +0,0 @@
-(*
-
- **********************************************************
- **********************************************************
- ** **
- ** ls-Prozess 4 **
- ** **
- ** Version 1.02 **
- ** **
- ** (Stand : 26.01.90) **
- ** **
- ** **
- ** **
- ** Autoren: Bruno Pollok, Bielefeld **
- ** Wolfgang Weber, Bielefeld **
- ** **
- ** **
- ** Copyright (C) 1988 Eva Latta-Weber, Bielefeld **
- ** Copyright (C) 1990 ERGOS GmbH, Siegburg **
- **********************************************************
- **********************************************************
-
- *)
-PACKET ls prozess 4 DEFINES
- pdv befehlsuebersicht anzeigen,
- pdv ausgabebefehle anzeigen,
- pdv eingabebefehle anzeigen,
- pdv testbefehle anzeigen,
- pdv weitere befehle anzeigen,
- pdv bitmuster erlaeutern,
- pdv symbole erlaeutern,
- pdv digital analog werte,
- pdv programm neu erstellen,
- pdv programm ansehen,
- pdv programm starten,
- pdv programm wiederholen,
- pdv dateien verzeichnis,
-
- pdv datei kopieren,
- pdv datei umbenennen,
- pdv dateien loeschen,
- pdv dateien drucken,
- init pdv,
- pdv:
-LET menukarte = "ls-MENUKARTE:Prozess",
- niltext = "",
- maxlaenge = 45,
- maxnamenslaenge = 35;
-WINDOW VAR w :: window (1, 3, 79, 19);
-TEXT VAR programmname :: "";
-BOOL VAR noch kein programm gelaufen :: TRUE;
-PROC pdv:
- init pdv;
- install menu (menukarte, FALSE);
-
- handle menu ("PDV")
-END PROC pdv;
-PROC init pdv:
- programmname := "";
- noch kein programm gelaufen := TRUE;
- cursor off;
-END PROC init pdv;
-PROC pdv befehlsuebersicht anzeigen:
- menuinfo (anwendungstext (20))
-END PROC pdv befehlsuebersicht anzeigen;
-PROC pdv ausgabebefehle anzeigen:
- INT VAR i;
- REP
- i := menualternative (anwendungstext (1), anwendungstext (3),
- anwendungstext (4), 5, TRUE);
- SELECT i OF
- CASE 1, 101: menuinfo (anwendungstext (21))
-
- CASE 2, 102: menuinfo (anwendungstext (22))
- CASE 3, 103: menuinfo (anwendungstext (23))
- CASE 4, 104: menuinfo (anwendungstext (24))
- CASE 5, 105: menuinfo (anwendungstext (25))
- END SELECT
- UNTIL i = 6 OR i = 106 PER;
-END PROC pdv ausgabebefehle anzeigen;
-PROC pdv eingabebefehle anzeigen:
- INT VAR i;
- REP
- i := menualternative (anwendungstext (2), anwendungstext (3),
- anwendungstext (4), 5, TRUE);
- SELECT i OF
- CASE 1, 101: menuinfo (anwendungstext (31))
-
- CASE 2, 102: menuinfo (anwendungstext (32))
- CASE 3, 103: menuinfo (anwendungstext (33))
- CASE 4, 104: menuinfo (anwendungstext (34))
- CASE 5, 105: menuinfo (anwendungstext (35))
- END SELECT
- UNTIL i = 6 OR i = 106 PER;
-END PROC pdv eingabebefehle anzeigen;
-PROC pdv testbefehle anzeigen:
- INT VAR i;
- REP
- i := menualternative (anwendungstext (5), anwendungstext (7),
- anwendungstext (8), 5, TRUE);
- SELECT i OF
- CASE 1, 101: menuinfo (anwendungstext (41))
-
- CASE 2, 102: menuinfo (anwendungstext (42))
- END SELECT
- UNTIL i = 3 OR i = 103 PER;
-END PROC pdv testbefehle anzeigen;
-PROC pdv weitere befehle anzeigen:
- INT VAR i;
- REP
- i := menualternative (anwendungstext (6), anwendungstext (7),
- anwendungstext (8), 5, TRUE);
- SELECT i OF
- CASE 1, 101: menuinfo (anwendungstext (43))
- CASE 2, 102: menuinfo (anwendungstext (44))
- END SELECT
- UNTIL i = 3 OR i = 103 PER;
-END PROC pdv weitere befehle anzeigen;
-
-PROC pdv bitmuster erlaeutern:
- menuinfo (anwendungstext (46))
-END PROC pdv bitmuster erlaeutern;
-PROC pdv symbole erlaeutern:
- menuinfo (anwendungstext (47))
-END PROC pdv symbole erlaeutern;
-PROC pdv digital analog werte:
- menuinfo (anwendungstext (48))
-END PROC pdv digital analog werte;
-PROC pdvdateien verzeichnis:
- disable stop;
- forget ("Verzeichnis der Dateien", quiet);
- THESAURUS VAR programme :: ALL myself;
- FILE VAR f ::
- sequential file (output, "Verzeichnis der Dateien");
-
- f FILLBY programme;
- modify (f);
- to line (f, 1); insert record (f);
- menufootnote ("Verlassen: <ESC> <q>");
- cursor on;
- show (w, f);
- cursor off;
- forget ("Verzeichnis der Dateien", quiet);
- IF is error
- THEN regenerate menuscreen;
- out (""7"");
- menuinfo (" " + invers ("FEHLER: " + errormessage));
- clear error
- ELSE menu bildschirm
- FI;
- enable stop
-END PROC pdvdateien verzeichnis;
-PROC pdvprogramm neu erstellen:
- hole programmname;
-
- kontrolliere den programmnamen;
- command dialogue (FALSE);
- cursor on;
- disable stop;
- stdinfoedit (programmname, 3);
- cursor off;
- command dialogue (TRUE);
- IF is error
- THEN regenerate menuscreen;
- out (""7"");
- menuinfo (" " + invers (errormessage));
- clear error
- ELSE menu bildschirm
- FI;
- enable stop.
- hole programmname:
- programmname := "";
- programmname := menuanswer (ausgabe, programmname, 5).
- ausgabe:
- center (maxlaenge, invers ("Programm neu erstellen")) + ""13""13""
-
- + " Bitte den Namen für das Programm "13""13"".
- kontrolliere den programmnamen:
- IF programmname = niltext
- THEN LEAVE pdvprogramm neu erstellen
- ELIF length (programmname) > maxnamenslaenge
- THEN meckere zu langen namen an;
- programmname := niltext;
- LEAVE pdvprogramm neu erstellen
- ELIF exists (programmname)
- THEN meckere existierendes programm an;
- LEAVE pdvprogramm neu erstellen
- FI.
-END PROC pdvprogramm neu erstellen;
-
-PROC pdvprogramm ansehen:
- IF programmname <> niltext CAND exists (programmname)
- THEN frage nach diesem programm
- ELSE lasse programm auswaehlen
- FI;
- cursor on;
- disable stop;
- stdinfoedit (programmname, 3);
- cursor off;
- IF is error
- THEN regenerate menuscreen;
- out (""7"");
- menuinfo (" " + invers ("FEHLER: " + errormessage));
- clear error
- ELSE menu bildschirm
- FI;
- enable stop.
- frage nach diesem programm:
- IF menuno (ueberschrift + " Zuletzt bearbeitetes Programm: " + name
-
- + " Soll mit diesem Programm gearbeitet werden", 5)
- THEN lasse programm auswaehlen
- FI.
- ueberschrift:
- center (maxlaenge, invers ("Programm ansehen/ändern")) + ""13""13"".
- name:
- ""13""13" " + invers (programmname) + ""13""13"".
- lasse programm auswaehlen:
- THESAURUS VAR verfuegbare :: ALL myself;
- IF NOT not empty (verfuegbare)
- THEN noch kein programm;
- LEAVE pdvprogramm ansehen
- ELSE biete auswahl an
- FI.
- biete auswahl an:
-
- programmname := menuone (verfuegbare, "Programm ansehen/ändern",
- "Bitte das gewünschte Programm ankreuzen!",
- FALSE);
- IF programmname = niltext
- THEN menu bildschirm;
- LEAVE pdvprogramm ansehen
- FI.
-END PROC pdvprogramm ansehen;
-PROC pdvdateien drucken:
- lasse programme auswaehlen;
- drucke programme;
- menu bildschirm.
- lasse programme auswaehlen:
- THESAURUS VAR verfuegbare :: ALL myself;
- IF NOT not empty (verfuegbare)
-
- THEN noch kein programm;
- LEAVE pdvdateien drucken
- ELSE biete auswahl an
- FI.
- biete auswahl an:
- verfuegbare := menusome (verfuegbare, "Dateien drucken",
- "Bitte die Dateien ankreuzen, die gedruckt werden sollen!",
- FALSE).
- drucke programme:
- show menuwindow;
- steige ggf bei leerem thesaurus aus;
- menuwindowout (menuwindowcenter (invers ("Dateien drucken")));
- menuwindowline (2);
- command dialogue (FALSE);
-
- fuehre einzelne operationen aus;
- command dialogue (TRUE);
- schlage ggf neue seite auf;
- menuwindowout (" Alle ausgewählten Dateien wurden gedruckt!");
- menuwindowstop.
- fuehre einzelne operationen aus:
- INT VAR k;
- FOR k FROM 1 UPTO highest entry (verfuegbare) REP
- IF name (verfuegbare, k) <> ""
- THEN disable stop;
- menuwindowout ( " """ + name (verfuegbare, k) +
- """ wird gedruckt!");
- menuwindowline;
-
- print (name (verfuegbare, k));
- fehlerbehandlung
- FI
- PER.
- steige ggf bei leerem thesaurus aus:
- IF NOT not empty (verfuegbare)
- THEN menuwindowline (2);
- menuwindowout (" Es wurde keine Datei ausgewählt!");
- menuwindowstop;
- menu bildschirm;
- LEAVE pdvdateien drucken
- FI.
- schlage ggf neue seite auf:
- IF remaining menuwindowlines < 7
- THEN menuwindowpage; menuwindowline
- ELSE menuwindowline (2)
-
- FI.
- fehlerbehandlung:
- IF is error
- THEN regenerate menuscreen; out (""7"");
- menuinfo (" " + invers (errormessage));
- clear error; enable stop;
- LEAVE pdvdateien drucken
- ELSE enable stop
- FI.
-END PROC pdvdateien drucken;
-PROC pdvdatei kopieren:
- ermittle alten programmnamen;
- erfrage neuen programmnamen;
- kopiere ggf das programm.
- ermittle alten programmnamen:
- IF NOT not empty (ALL myself)
- THEN noch kein programm;
-
- LEAVE pdvdatei kopieren
- ELSE biete auswahl an
- FI.
- biete auswahl an:
- TEXT VAR alter name := menuone (ALL myself, "Datei kopieren",
- "Bitte die Datei ankreuzen, das kopiert werden soll!",FALSE);
- menu bildschirm;
- IF alter name = niltext
- THEN LEAVE pdvdatei kopieren
- FI.
- erfrage neuen programmnamen:
- TEXT VAR neuer name :: menuanswer (ausgabe, alter name, 5).
- ausgabe:
- ueberschrift + " Name der 'alten' Datei: " + bisheriger name
-
- + " Bitte den Namen für die Kopie: ".
- ueberschrift:
- center (maxlaenge, invers ("Datei kopieren")) + ""13""13"".
- bisheriger name:
- ""13""13" " + invers (alter name) + ""13""13"".
- kopiere ggf das programm:
- IF neuer name = niltext
- THEN menuinfo (" " + invers ("Der gewünschte Name ist unzulässig!"));
- LEAVE pdvdatei kopieren
- ELIF exists (neuer name)
- THEN mache vorwurf;
- LEAVE pdvdatei kopieren
- ELSE copy (alter name, neuer name)
-
- FI.
- mache vorwurf:
- menuinfo (" " + invers ("Eine Datei mit diesem Namen gibt es bereits!")).
-END PROC pdvdatei kopieren;
-PROC pdvdatei umbenennen:
- ermittle alten programmnamen;
- erfrage neuen programmnamen;
- benenne ggf das programm um.
- ermittle alten programmnamen:
- IF NOT not empty (ALL myself)
- THEN noch kein programm;
- LEAVE pdvdatei umbenennen
- ELSE biete auswahl an
- FI.
- biete auswahl an:
- TEXT VAR alter name := menuone ( ALL myself, "Datei umbenennen",
-
- "Bitte die Datei ankreuzen, die umbenannt werden soll!", FALSE);
- menu bildschirm;
- IF alter name = niltext
- THEN LEAVE pdvdatei umbenennen
- FI.
- erfrage neuen programmnamen:
- TEXT VAR neuer name :: menuanswer (ausgabe, alter name, 5).
- ausgabe:
- ueberschrift + " Bisheriger Dateiname: " + bisheriger name
- + " Zukünftiger Dateiname: ".
- ueberschrift:
- center (maxlaenge, invers ("Datei umbenennen")) + ""13""13"".
- bisheriger name:
-
- ""13""13" " + invers (alter name) + ""13""13"".
- benenne ggf das programm um:
- IF neuer name = niltext
- THEN menuinfo (" " + invers ("Der gewünschte Name ist unzulässig!"));
- LEAVE pdvdatei umbenennen
- ELIF exists (neuer name)
- THEN mache vorwurf;
- LEAVE pdvdatei umbenennen
- ELSE rename (alter name, neuer name);
- programmname := neuer name
- FI.
- mache vorwurf:
- menuinfo (" " + invers ("Eine Datei mit diesem Namen gibt es bereits!")).
-
-END PROC pdvdatei umbenennen;
-PROC pdvdateien loeschen:
- lasse programme auswaehlen;
- loesche programme;
- menu bildschirm.
- lasse programme auswaehlen:
- THESAURUS VAR verfuegbare :: ALL myself;
- IF NOT not empty (verfuegbare)
- THEN noch kein programm;
- LEAVE pdvdateien loeschen
- ELSE biete auswahl an
- FI.
- biete auswahl an:
- verfuegbare := menusome (verfuegbare, "Dateien löschen",
- "Bitte alle Dateien ankreuzen, die gelöscht werden sollen!", FALSE).
-
- loesche programme:
- show menuwindow;
- steige ggf bei leerem thesaurus aus;
- menuwindowout (menuwindowcenter (invers ("Dateien löschen")));
- menuwindowline (2);
- command dialogue (FALSE);
- fuehre einzelne operationen aus;
- command dialogue (TRUE);
- schlage ggf neue seite auf;
- menuwindowout (" Alle ausgewählten Dateien wurden gelöscht!");
- menuwindowstop.
- fuehre einzelne operationen aus:
- INT VAR k;
- FOR k FROM 1 UPTO highest entry (verfuegbare) REP
-
- IF name (verfuegbare, k) <> ""
- THEN disable stop;
- IF menuwindowyes (" """ + name (verfuegbare, k) + """ löschen")
- THEN forget (name (verfuegbare, k), quiet)
- FI;
- fehlerbehandlung
- FI
- PER;
- programmname := "".
- steige ggf bei leerem thesaurus aus:
- IF NOT not empty (verfuegbare)
- THEN menuwindowline (2);
- menuwindowout (" Es wurde keine Datei ausgewählt!");
- menuwindowstop;
-
- menu bildschirm;
- LEAVE pdvdateien loeschen
- FI.
- schlage ggf neue seite auf:
- IF remaining menuwindowlines < 7
- THEN menuwindowpage; menuwindowline
- ELSE menuwindowline (2)
- FI.
- fehlerbehandlung:
- IF is error
- THEN regenerate menuscreen; out (""7"");
- menuinfo (" " + invers (errormessage));
- clear error; enable stop;
- LEAVE pdvdateien loeschen
- ELSE enable stop
- FI.
-END PROC pdvdateien loeschen;
-
-PROC pdvprogramm starten:
- programmname ermitteln;
- bildschirm vorbereiten;
- cursor on;
- disable stop;
- warnings off;
- check on;
- run pdv (programmname);
- noch kein programm gelaufen := FALSE;
- cursor off;
- IF is error
- THEN fehler ggf melden;
- clear error
- ELSE regenerate menuscreen
- FI;
- enable stop.
- bildschirm vorbereiten:
- cursor (17, 2); out (waagerecht);
- cursor (38, 2); out (waagerecht);
- cursor ( 1, 3); out (""4"");
- menufootnote ("Programmabbruch: <ESC><h>");
-
- cursor (1, 5);
- out ("Das Programm wird übersetzt. Zeilen-Nr.: ").
- fehler ggf melden:
- IF errormessage <> ""
- THEN fehler melden
- FI.
- fehler melden:
- IF pos (errormessage, "'halt' vom Terminal") > 0
- THEN regenerate menuscreen;
- out (""7""); menuinfo (" "15"'halt' vom Terminal "14"")
- ELIF pos (errormessage, "Programm-Abbruch durch <ESC><h>") > 0
- THEN regenerate menuscreen;
- out (""7""); menuinfo (" "15"Programm-Abbruch durch <ESC><h> "14"")
-
- ELIF pos (errormessage, "(bei Zeile") > 0 AND exists (programmname)
- THEN programm mit fehler im notebook zeigen;
- regenerate menuscreen
- ELSE regenerate menuscreen;
- out (""7""); menuinfo (" " + invers ("FEHLER: "
- + subtext (errormessage, 1, 61)))
- FI.
- programm mit fehler im notebook zeigen:
- noteline;
- note ("FEHLER: " + errormessage);
- INT VAR n; FOR n FROM 1 UPTO 9 REP noteline PER;
- note (""15"Verlassen: <ESC><q> "14"");
-
- FILE VAR p :: sequential file (modify, programmname);
- to line (p, max (1, fehlerzeile));
- col (1);
- clear error;
- out (""7"");
- cursor on;
- noteedit (p);
- cursor off.
- fehlerzeile:
- int (subtext (errormessage, zahlposition)).
- zahlposition: pos (errormessage, "(bei Zeile") + 10.
- programmname ermitteln:
- IF programmname <> niltext CAND exists (programmname)
- THEN frage nach diesem programm
- ELSE lasse programm auswaehlen
- FI.
- frage nach diesem programm:
-
- IF menuno (ueberschrift + " Zuletzt bearbeitetes Programm: " +
- name + " Soll mit diesem Programm gearbeitet werden", 5)
- THEN lasse programm auswaehlen
- FI.
- ueberschrift:
- center (maxlaenge, invers ("Programm starten")) + ""13""13"".
- name:
- ""13""13" " + invers (programmname) + ""13""13"".
- lasse programm auswaehlen:
- THESAURUS VAR verfuegbare :: ALL myself;
- IF NOT not empty (verfuegbare)
- THEN noch kein programm;
- LEAVE pdvprogramm starten
-
- ELSE biete auswahl an
- FI.
- biete auswahl an:
- programmname := menuone (verfuegbare, "Programm starten",
- "Bitte das gewünschte Programm ankreuzen!", FALSE);
- IF programmname = niltext
- THEN menubildschirm;
- LEAVE pdv programm starten
- FI.
-END PROC pdvprogramm starten;
-PROC pdv programm wiederholen:
- bildschirm vorbereiten;
- cursor on;
- disable stop;
- IF noch kein programm gelaufen
- THEN errorstop ("Eine Wiederholung ist nicht moeglich!")
-
- ELSE run pdv again
- FI;
- cursor off;
- regenerate menuscreen;
- IF is error
- THEN zeige fehler;
- clear error
- FI;
- enable stop.
- bildschirm vorbereiten:
- cursor (17, 2); out (waagerecht);
- cursor (38, 2); out (waagerecht);
- cursor ( 1, 3); out (""4"");
- menufootnote ("Programmabbruch: <ESC><h>");
- cursor (1,3).
- zeige fehler:
- out (""7"");
- IF errormessage = "'run again' nicht moeglich"
- THEN menuinfo (" "15"Eine Wiederholung ist nicht moeglich! "14"")
-
- ELIF pos (errormessage, "'halt' vom Terminal") > 0
- THEN menuinfo (" "15"'halt' vom Terminal "14"")
- ELIF pos (errormessage, "Programm-Abbruch durch <ESC><h>") > 0
- THEN menuinfo (" "15"Programm-Abbruch durch <ESC><h> "14"")
- ELSE menuinfo (" " + invers ("FEHLER: "
- + subtext (errormessage, 1, 61)))
- FI.
-END PROC pdv programm wiederholen;
-PROC meckere zu langen namen an:
- menuinfo (" " + invers ("Hier dürfen Namen höchstens "
- + text (max namenslaenge)
-
- + " Zeichen lang sein!"))
-END PROC meckere zu langen namen an;
-PROC meckere existierendes programm an:
- menuinfo (" " + invers ("Ein Programm mit diesem Namen gibt es bereits!"))
-END PROC meckere existierendes programm an;
-PROC noch kein programm:
- menuinfo (" " + invers ("Es existiert noch kein Programm!"))
-END PROC noch kein programm;
-PROC menu bildschirm:
- cursor (1, 2);
- out (5 * waagerecht);
- cursor (1, 3);
- out (""4"");
- cursor (1,23);
- out (79 * waagerecht);
-
- refresh submenu
-END PROC menu bildschirm
-END PACKET ls prozess 4
-
-