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.faecher | 86 ++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 app/schulis/2.2.1/src/0.listen.faecher (limited to 'app/schulis/2.2.1/src/0.listen.faecher') diff --git a/app/schulis/2.2.1/src/0.listen.faecher b/app/schulis/2.2.1/src/0.listen.faecher new file mode 100644 index 0000000..650efde --- /dev/null +++ b/app/schulis/2.2.1/src/0.listen.faecher @@ -0,0 +1,86 @@ +PACKET faecherlistenDEFINES faecherlispezielleteile:LET faechereingangsmaske= +"mu liste einfach eingang",spaltentrenner=" ",faecheranfpos=2,spalte1breite=5 +,spalte2breite=35,spalte3breite=10,spalte4breite=11,niltext="",blank=" ",null +=0,strich="-",ueberschriftenzeilen=2,mnrauswahlnichtsinnvoll=56, +mnrbearbeitetwerden=109,ausgkopflaenge=2,ausgfeldlaenge=1, +anzahlderobjekteprobildschirm=17;TEXT VAR faecherueberschrift:= +"Liste der Fächer",fach,fachbezeichnung,fachgruppe,fachbereich,anfbuchstabe, +neueranfbuchstabe:="",auswahlnichtsinnvoll,bearbeitetwerden;TEXT CONST +leerzeile:=bildbreite*blank,textueberschrift:=("Fach"+2*blank+ +"Fachbezeichnung"+21*blank+"Fachgruppe"+blank+"Fachbereich");INT VAR +eingabestatus,lesestart,bildanfang,spalte2druckbreite,druckzeilenzahl;INT +CONST aktuelleindexnr:=dnrfaecher,fnrfach:=fnrffach,fnrfachbezeichnung:= +fnrffachbez,fnrfachgruppe:=fnrffachgrp,fnrfachbereich:=fnrffachbereich;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 faecherlispezielleteile(INT CONST nr):SELECT nrOF CASE 1: +faecherdialogvorbereitenCASE 2:faechereingabenrichtigCASE 3: +faecherlistenvorbereitenCASE 4:faecherdruckvorbereitenCASE 5: +faecherseitedruckenCASE 6:faecherbildschirmvorbereitenCASE 7: +faecherseitezeigenENDSELECT .END PROC faecherlispezielleteile;PROC +faecherdialogvorbereiten:faecherueberschrift:=text(vergleichsknoten); +setzeanfangswerte(faechereingangsmaske,faecheranfpos)END PROC +faecherdialogvorbereiten;PROC faechereingabenrichtig:LET fnrausgdrucker=2, +fnrausgbild=3;standardpruefe(5,fnrausgdrucker,fnrausgbild,null,niltext, +eingabestatus);IF eingabestatus=0THEN setzeeingabetest(TRUE ); +setzeausgabedrucker(standardmaskenfeld(fnrausgbild)=niltext)ELSE meldefehler; +setzeeingabetest(FALSE )FI .meldefehler:meldungstext(mnrauswahlnichtsinnvoll, +auswahlnichtsinnvoll);standardmeldung(auswahlnichtsinnvoll,niltext).END PROC +faechereingabenrichtig;PROC faecherlistenvorbereiten:BOOL VAR b;initspalten; +setzespaltentrenner(spaltentrenner);lesestart:=fnrfach;inittupel(dnrfaecher); +setzeidentiwert("");initobli(anzahlderobjekteprobildschirm); +objektlistestarten(aktuelleindexnr,"",lesestart,TRUE ,b);setzebestandende( +NOT multistopCOR b);END PROC faecherlistenvorbereiten;PROC +faecherbildschirmvorbereiten:LET fnrausganf=2;standardkopfmaskeaktualisieren( +faecherueberschrift);bildanfang:=fnrausganf;setzebildanfangsposition( +bildanfang);INT VAR i;setzespaltenbreite(bildbreite);spaltenweise( +textueberschrift);ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos; +erhoeheausgabeposumeins;spaltenweise(leerzeile);ausgfeld(1):=zeile;ausgfeld(1 +)IN ausgabepos;erhoeheausgabeposumeins;setzebildanfangsposition(4); +initspalten;setzespaltentrenner(spaltentrenner);setzespaltenbreite( +spalte1breite);setzespaltenbreite(spalte2breite);setzespaltenbreite( +spalte3breite);setzespaltenbreite(spalte4breite);END PROC +faecherbildschirmvorbereiten;PROC faecherseitezeigen:blaettern(PROC (INT +CONST )faecherdatenzeigen,aktion,TRUE ,FALSE ,BOOL PROC multistop)END PROC +faecherseitezeigen;PROC faecherdatenzeigen(INT CONST x):faecherdatenholen; +faecherdatenaufbereitenbild;faecherdatenaufbildschirm.END PROC +faecherdatenzeigen;PROC faecherdatenholen:fach:=wert(fnrfach);fachbezeichnung +:=wert(fnrfachbezeichnung);IF wert(fnrfachgruppe)=text(null)THEN fachgruppe:= +strichELSE fachgruppe:=wert(fnrfachgruppe);FI ;IF wert(fnrfachbereich)= +niltextTHEN fachbereich:=strichELSE fachbereich:=wert(fnrfachbereich)FI ;END +PROC faecherdatenholen;PROC faecherdatenaufbereitenbild:spaltenweise(fach); +spaltenweise(fachbezeichnung);spaltenweise(fachgruppe);spaltenweise( +fachbereich);END PROC faecherdatenaufbereitenbild;PROC +faecherdatenaufbildschirm:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP +ausgfeld(i):=zeile;ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeins;PER ;END +PROC faecherdatenaufbildschirm;PROC faecherdruckvorbereiten:setzebestandende( +FALSE );anfbuchstabe:=" ";druckvorbereiten;variablenfuerdrucksetzen; +initdruckkopf(zentriert(faecherueberschrift,druckbreite),zentriert(length( +faecherueberschrift)*"-",druckbreite));initspalten;setzespaltenbreite( +spalte1breite);setzespaltenbreite(spalte2breite);setzespaltenbreite( +spalte3breite);setzespaltenbreite(spalte4breite);holemeldung;inittupel( +dnrfaecher);initausgabekopfdruck;lesenvorbereitendruck(PROC (INT CONST ,BOOL +PROC ,INT VAR )scanforward,BOOL PROC multistop);.holemeldung:meldungstext( +mnrbearbeitetwerden,bearbeitetwerden).variablenfuerdrucksetzen: +druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaenge.END PROC +faecherdruckvorbereiten;PROC initausgabekopfdruck:ausgkopfdruck(1):= +textueberschrift;ausgkopfdruck(2):=leerzeile;END PROC initausgabekopfdruck; +PROC faecherseitedrucken:faecherueberschriftdrucken;seitedrucken(PROC (INT +VAR )lehrerdrucken,druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistop); +seitenwechsel.END PROC faecherseitedrucken;PROC faecherueberschriftdrucken: +INT VAR i;druckkopfschreiben;FOR iFROM 1UPTO ausgkopflaengeREP +druckzeileschreiben(ausgkopfdruck(i))PER END PROC faecherueberschriftdrucken; +PROC lehrerdrucken(INT VAR zeilenzaehler):LET markiert="#";faecherdatenholen; +ggflmeldunganfbuchstabe;faecheraufbereitendruck;zeilenzaehlerINCR +ausgfeldlaenge;faecherindruckdatei.ggflmeldunganfbuchstabe:IF +anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .anfbuchstabegeaendert: +neueranfbuchstabe:=fachSUB 1;anfbuchstabe<>neueranfbuchstabe. +meldunganfbuchstabe:standardmeldung(mnrbearbeitetwerden,neueranfbuchstabe+ +markiert);anfbuchstabe:=neueranfbuchstabe.END PROC lehrerdrucken;PROC +faecheraufbereitendruck:spaltenweise(fach);spaltenweise(fachbezeichnung); +spaltenweise(fachgruppe);spaltenweise(fachbereich);ausgfeld(1):=zeile;END +PROC faecheraufbereitendruck;PROC faecherindruckdatei:INT VAR i;FOR iFROM 1 +UPTO ausgfeldlaengeREP druckzeileschreiben(ausgfeld(1))PER .END PROC +faecherindruckdatei;END PACKET faecherlisten + -- cgit v1.2.3