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/3.listen.sprechzeiten | 99 +++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 app/schulis/2.2.1/src/3.listen.sprechzeiten (limited to 'app/schulis/2.2.1/src/3.listen.sprechzeiten') diff --git a/app/schulis/2.2.1/src/3.listen.sprechzeiten b/app/schulis/2.2.1/src/3.listen.sprechzeiten new file mode 100644 index 0000000..7f33cb7 --- /dev/null +++ b/app/schulis/2.2.1/src/3.listen.sprechzeiten @@ -0,0 +1,99 @@ +PACKET lehrersprechzeitenlisteDEFINES sprechzeitlispezielleteile:LET +sprechzeingangsmaske="ms liste lehrerparaphen eingang", +anzahlderobjekteprobildschirm=17,ausgfeldlaenge=1,spalte1breite=46, +spalte2breite=25,spaltentrenner=": ",sprechzanfpos=2,ueberschriftenzeilen=2, +strich="-",niltext="",blank=" ",komma=",",null=0,ausgkopflaenge=2, +mittelstrich="-",teilueb1="Lehrer",teilueb2="Sprechzeiten", +mnrauswahlnichtsinnvoll=56,mnrbearbeitetwerden=352;TEXT VAR +sprechzueberschrift:="Liste der Lehrersprechzeiten",paraphe,lehrername, +lehrernameaufbereitet,lehrernameaufbereitetmitparaphe,rufname,namenszusatz, +amtsbez,geschlecht,sprechzeit,druckstrich,textueberschrift,teiltextmeldung:= +"die Lehrer mit den Anfangsbuchstaben:",anfbuchstabe,neueranfbuchstabe:="", +auswahlnichtsinnvoll;INT VAR aktuelleindexnr,eingabestatus,lesestart, +bildanfang,druckzeilenzahl;INT CONST indexlehrername:=ixlfamruf, +maxspaltenlaengepara:=5;BOOL VAR sortierungnachparaphen;LET AUSGFELD =ROW +ausgfeldlaengeTEXT ,AUSGKOPF =ROW ausgkopflaengeTEXT ,AUSGKOPFDRUCK =ROW +ausgkopflaengeTEXT ;AUSGFELD VAR ausgfeld;AUSGKOPF VAR ausgkopf; +AUSGKOPFDRUCK VAR ausgkopfdruck;BOOL PROC multistop:TRUE END PROC multistop; +PROC sprechzeitlispezielleteile(INT CONST nr):SELECT nrOF CASE 1: +sprechzdialogvorbereitenCASE 2:sprechzeingabenrichtigCASE 3: +sprechzlistenvorbereitenCASE 4:sprechzdruckvorbereitenCASE 5: +sprechzseitedruckenCASE 6:sprechzbildschirmvorbereitenCASE 7: +sprechzseitezeigenENDSELECT .END PROC sprechzeitlispezielleteile;PROC +sprechzdialogvorbereiten:sprechzueberschrift:=text(vergleichsknoten); +setzeanfangswerte(sprechzeingangsmaske,sprechzanfpos)END PROC +sprechzdialogvorbereiten;PROC sprechzeingabenrichtig:LET fnrsortparaphen=2, +fnrsortlehrernamen=3,fnrausgdrucker=4,fnrausgbild=5;standardpruefe(5, +fnrausgdrucker,fnrausgbild,null,niltext,eingabestatus);IF eingabestatus=0 +THEN standardpruefe(5,fnrsortparaphen,fnrsortlehrernamen,null,niltext, +eingabestatus);IF eingabestatus=0THEN sortierartmerken;setzeeingabetest(TRUE +);setzeausgabedrucker(standardmaskenfeld(fnrausgbild)=niltext);ELSE +meldefehler;setzeeingabetest(FALSE )FI ;ELSE meldefehler;setzeeingabetest( +FALSE )FI .sortierartmerken:sortierungnachparaphen:=standardmaskenfeld( +fnrsortparaphen)<>niltext.meldefehler:meldungstext(mnrauswahlnichtsinnvoll, +auswahlnichtsinnvoll);standardmeldung(auswahlnichtsinnvoll,niltext).END PROC +sprechzeingabenrichtig;PROC sprechzlistenvorbereiten:BOOL VAR b;initspalten; +setzespaltentrenner(spaltentrenner);IF sortierungnachparaphenTHEN +aktuelleindexnr:=dnrlehrer;lesestart:=fnrlparapheELSE aktuelleindexnr:= +indexlehrername;lesestart:=0;FI ;inittupel(dnrlehrer);setzeidentiwert(""); +initobli(anzahlderobjekteprobildschirm);parsenooffields(17); +objektlistestarten(aktuelleindexnr,"",lesestart,TRUE ,b);setzebestandende(b); +END PROC sprechzlistenvorbereiten;PROC sprechzbildschirmvorbereiten:LET +fnrausganf=2;standardkopfmaskeaktualisieren(sprechzueberschrift);bildanfang:= +fnrausganf;setzebildanfangsposition(bildanfang);INT VAR i;setzespaltenbreite( +bildbreite);textueberschrift:=teilueb1+((spalte1breite+1)-(length(teilueb1))) +*blank+teilueb2;spaltenweise(textueberschrift);ausgfeld(1):=zeile;ausgfeld(1) +IN ausgabepos;erhoeheausgabeposumeins;spaltenweise(bildbreite*strich); +ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins; +setzebildanfangsposition(4);initspalten;setzespaltenbreite(spalte1breite); +setzespaltenbreite(spalte2breite);END PROC sprechzbildschirmvorbereiten;PROC +sprechzseitezeigen:blaettern(PROC (INT CONST )lehrerdatenzeigen,aktion,TRUE , +FALSE ,BOOL PROC multistop)END PROC sprechzseitezeigen;PROC lehrerdatenzeigen +(INT CONST x):lehrerdatenholen;lehrerdatenaufbereitenbild; +lehrerdatenaufbildschirm.END PROC lehrerdatenzeigen;PROC lehrerdatenholen: +paraphe:=wert(fnrlparaphe);lehrername:=wert(fnrlfamname);rufname:=wert( +fnrlrufname);namenszusatz:=wert(fnrlzusatz);amtsbez:=wert(fnrlamtsbeztitel); +geschlecht:=wert(fnrlgeschlecht);sprechzeit:=wert(fnrlsprechzeit);IF +geschlecht="w"XOR geschlecht="W"THEN geschlecht:="Fr. "ELSE geschlecht:= +"Hr. "FI ;lehrernameaufbereitet:=(lehrername+komma+blank+geschlecht+ +amtsbezeichnung+rufname+blank+namenszusatz);IF sortierungnachparaphenTHEN +lehrernameaufbereitetmitparaphe:=paraphe+(maxspaltenlaengepara-length(paraphe +))*blank+lehrernameaufbereitetFI .amtsbezeichnung:IF amtsbez<>niltextTHEN +amtsbez+blankELSE ""FI .END PROC lehrerdatenholen;PROC +lehrerdatenaufbereitenbild:IF sortierungnachparaphenTHEN spaltenweise( +lehrernameaufbereitetmitparaphe)ELSE spaltenweise(lehrernameaufbereitet)FI ; +spaltenweise(sprechzeit);END PROC lehrerdatenaufbereitenbild;PROC +lehrerdatenaufbildschirm:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP ausgfeld +(i):=zeile;ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeins;PER ;END PROC +lehrerdatenaufbildschirm;PROC sprechzdruckvorbereiten:setzebestandende(FALSE +);anfbuchstabe:=" ";druckvorbereiten;variablenfuerdrucksetzen;initdruckkopf( +zentriert(sprechzueberschrift,druckbreite),zentriert(length( +sprechzueberschrift)*"-",druckbreite));initspalten;setzespaltenbreite( +spalte1breite);setzespaltenbreite(spalte2breite);inittupel(dnrlehrer); +initausgabekopfdruck;lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT +VAR )scanforward,BOOL PROC multistop);.variablenfuerdrucksetzen: +druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaenge.END PROC +sprechzdruckvorbereiten;PROC initausgabekopfdruck:druckstrich:=(spalte1breite +*mittelstrich)+(spaltentrennerSUB 1)+(spalte2breite+1)*mittelstrich; +textueberschrift:=teilueb1+(spalte1breite-(length(teilueb1)))*blank+ +spaltentrenner+teilueb2;ausgkopfdruck(1):=textueberschrift;ausgkopfdruck(2):= +druckstrich;END PROC initausgabekopfdruck;PROC sprechzseitedrucken: +sprechzueberschriftdrucken;seitedrucken(PROC (INT VAR )lehrerdrucken, +druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistop);seitenwechsel.END PROC +sprechzseitedrucken;PROC sprechzueberschriftdrucken:INT VAR i; +druckkopfschreiben;FOR iFROM 1UPTO ausgkopflaengeREP druckzeileschreiben( +ausgkopfdruck(i))PER END PROC sprechzueberschriftdrucken;PROC lehrerdrucken( +INT VAR zeilenzaehler):LET markiert="#";lehrerdatenholen; +ggflmeldunganfbuchstabe;lehreraufbereitendruck;zeilenzaehlerINCR +ausgfeldlaenge;lehrerindruckdatei.ggflmeldunganfbuchstabe:IF +anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .anfbuchstabegeaendert:IF +sortierungnachparaphenTHEN neueranfbuchstabe:=lehrernameSUB 1;ELSE +neueranfbuchstabe:=parapheSUB 1;FI ;anfbuchstabe<>neueranfbuchstabe. +meldunganfbuchstabe:standardmeldung(mnrbearbeitetwerden,teiltextmeldung+ +neueranfbuchstabe+markiert);anfbuchstabe:=neueranfbuchstabe.END PROC +lehrerdrucken;PROC lehreraufbereitendruck:setzespaltentrenner(spaltentrenner) +;lehrerdatenaufbereitenbild;ausgfeld(1):=zeile;END PROC +lehreraufbereitendruck;PROC lehrerindruckdatei:INT VAR i;FOR iFROM 1UPTO +ausgfeldlaengeREP druckzeileschreiben(ausgfeld(1))PER END PROC +lehrerindruckdatei;END PACKET lehrersprechzeitenliste; + -- cgit v1.2.3