diff options
Diffstat (limited to 'prozess/ls-Prozess 4')
-rw-r--r-- | prozess/ls-Prozess 4 | 595 |
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 - - |