From 04e68443040c7abad84d66477e98f93bed701760 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 4 Feb 2019 13:09:03 +0100 Subject: Initial import --- app/schulis/2.2.1/src/0.listen.steuerung | 67 ++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 app/schulis/2.2.1/src/0.listen.steuerung (limited to 'app/schulis/2.2.1/src/0.listen.steuerung') 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; + -- cgit v1.2.3