summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/0.listen.steuerung
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/0.listen.steuerung')
-rw-r--r--app/schulis/2.2.1/src/0.listen.steuerung67
1 files changed, 67 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/0.listen.steuerung b/app/schulis/2.2.1/src/0.listen.steuerung
new file mode 100644
index 0000000..bafd51b
--- /dev/null
+++ b/app/schulis/2.2.1/src/0.listen.steuerung
@@ -0,0 +1,67 @@
+PACKET listensteuerungDEFINES eingangsmaskezeigenundparameterlesen,
+listedruckenoderzeigenggflweitereaktionlesen,weitereaktionlesen,
+aufbildschirmblaettern,druckbearbeitung,setzeanfangswerte,setzeausgabedrucker
+,ausgabedrucker,setzeeingabetest,setzebildanfangsposition,ausgabepos,
+erhoeheausgabeposumeins,seitenzaehler,erhoeheseitenzaehlerumeins,aktion,
+bildbreite,bildlaenge:LET namebildausgabemaske="mu liste bildausgabe",
+datenexistierennicht=59,warteaufforderung=69,listewirdgedruckt=58,
+zurnachprozedur=1,niltext="",blank=" ";INT VAR bildanfangsposition,
+aktuelleposition,zeiger,richtung,seite;TEXT VAR nameauswahlmaske;BOOL VAR
+eingabenrichtig,ausgdrucker;TEXT CONST leerzeilebild:=bildbreite*blank;PROC
+eingangsmaskezeigenundparameterlesen(PROC (INT CONST )spezielleteile):
+enablestop;dialogvorbereiten;dialogstarten.dialogvorbereiten:spezielleteile(1
+);standardstartproc(nameauswahlmaske).dialogstarten:infeld(aktuelleposition);
+standardnproc.END PROC eingangsmaskezeigenundparameterlesen;PROC
+listedruckenoderzeigenggflweitereaktionlesen(PROC (INT CONST )spezielleteile)
+:eingabenueberpruefen;IF eingabenrichtigTHEN werteauswahlausundgibausELSE
+wiederholeauswahlFI .eingabenueberpruefen:spezielleteile(2).
+werteauswahlausundgibaus:meldewarten;vorbereitungenliste;IF bestandendeTHEN
+meldekeinbestand;zurueckzumdialogELIF ausgdruckerTHEN druckbearbeitung(
+zurnachprozedur,PROC spezielleteile)ELSE
+bildschirmvorbereitenundersteseitezeigen(PROC spezielleteile)FI .
+vorbereitungenliste:spezielleteile(3).meldewarten:standardmeldung(
+warteaufforderung,niltext).meldekeinbestand:standardmeldung(
+datenexistierennicht,niltext).wiederholeauswahl:zurueckzumdialog.
+zurueckzumdialog:return(1).END PROC
+listedruckenoderzeigenggflweitereaktionlesen;PROC druckbearbeitung(INT CONST
+ruecksprung,PROC (INT CONST )spezielleteile):IF NOT (ruecksprung=
+zurnachprozedur)THEN setzeausgabedrucker(TRUE )FI ;seite:=1;
+ausgebenaufdrucker(PROC spezielleteile);zurueckzumdialog.zurueckzumdialog:IF
+ruecksprung=zurnachprozedurTHEN return(ruecksprung)ELSE enter(ruecksprung)FI
+.END PROC druckbearbeitung;PROC ausgebenaufdrucker(PROC (INT CONST )
+spezielleteile):setzemitseitennummern(TRUE );druckvorbereiten;druckeeineseite
+;WHILE NOT bestandendeREP nimmnaechsteseite;druckeeineseitePER ;
+meldelistewirdgedruckt;drucknachbereiten.druckvorbereiten:spezielleteile(4).
+druckeeineseite:spezielleteile(5).nimmnaechsteseite:seiteINCR 1.
+meldelistewirdgedruckt:standardmeldung(listewirdgedruckt,niltext).END PROC
+ausgebenaufdrucker;PROC bildschirmvorbereitenundersteseitezeigen(PROC (INT
+CONST )spezielleteile):standardstartproc(namebildausgabemaske);spezielleteile
+(6);richtung:=#1;#3;seitezeigen(PROC spezielleteile);dialogstarten.
+dialogstarten:weitereaktionlesen.END PROC
+bildschirmvorbereitenundersteseitezeigen;PROC weitereaktionlesen:maskendialog
+.maskendialog:aktuelleposition:=21;infeld(aktuelleposition);standardnproc.
+END PROC weitereaktionlesen;PROC aufbildschirmblaettern(INT CONST was,PROC (
+INT CONST )spezielleteile):richtung:=was;standardkopfmaskeaktualisieren;
+seitezeigen(PROC spezielleteile);zurueckzumdialog.zurueckzumdialog:return(1).
+END PROC aufbildschirmblaettern;PROC setzeanfangswerte(TEXT CONST
+eingangsmaske,INT CONST anfpos):nameauswahlmaske:=eingangsmaske;
+aktuelleposition:=anfpos;END PROC setzeanfangswerte;PROC seitezeigen(PROC (
+INT CONST )spezielleteile):LET fnrausgende=20;aktuelleposition:=
+bildanfangsposition;spezielleteile(7);ggfrestbildloeschen.ggfrestbildloeschen
+:IF neuesbildangefangenTHEN restbildloeschenFI .neuesbildangefangen:
+aktuelleposition>bildanfangsposition.restbildloeschen:FOR zeigerFROM
+aktuellepositionUPTO fnrausgendeREP leerzeilebildIN zeigerPER .END PROC
+seitezeigen;PROC setzeausgabedrucker(BOOL CONST b):ausgdrucker:=bEND PROC
+setzeausgabedrucker;BOOL PROC ausgabedrucker:ausgdruckerEND PROC
+ausgabedrucker;PROC setzeeingabetest(BOOL CONST b):eingabenrichtig:=bEND
+PROC setzeeingabetest;PROC setzebildanfangsposition(INT CONST anfangsposition
+):bildanfangsposition:=anfangspositionEND PROC setzebildanfangsposition;INT
+PROC ausgabepos:aktuellepositionEND PROC ausgabepos;PROC
+erhoeheausgabeposumeins:aktuellepositionINCR 1END PROC
+erhoeheausgabeposumeins;INT PROC seitenzaehler:seiteEND PROC seitenzaehler;
+PROC erhoeheseitenzaehlerumeins:seiteINCR 1END PROC
+erhoeheseitenzaehlerumeins;INT PROC aktion:richtungEND PROC aktion;LET
+bildzeilenbreite=78,bildseitenlaenge=23,bildkopflaenge=4;INT CONST bildbreite
+:=bildzeilenbreite,bildlaenge:=bildseitenlaenge-bildkopflaenge;END PACKET
+listensteuerung;
+