app/schulis/2.2.1/src/0.listen.klassengruppen

Raw file
Back to index

PACKET klassengruppenlistenDEFINES klassengruppenspezielleteile:LET 
klassengruppeneingangsmaske="mu liste einfach eingang",spaltentrenner="  ",
klassengruppenanfpos=2,spaltenbreite1=12,spaltenbreite2=7,niltext="",blank=
" ",strich="-",null=0,ueberschriftenzeilen=2,ausgkopflaenge=2,ausgfeldlaenge=
1,anzahlderobjekteprobildschirm=5,mnrauswahlnichtsinnvoll=56,
mnrbearbeitetwerden=352;TEXT CONST spaltentext1:="Klassengruppe",spaltentext2
:="Bezeichnung  Zusammensetzung";TEXT VAR klassengrueberschrift:=
"Liste der Raumgruppen",schuelergrfuerzeile1,schuelergrfuerzeile2,
schuelergrfuerzeile3,klassengruppe,alteklassengruppe:="",anfbuchstabe,
neueranfbuchstabe:="",teiltextmeldung:=
"die Klassengruppe dem Anfangsbuchstaben:";INT VAR eingabestatus,bildanfang,
druckzeilenzahl;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 klassengruppenspezielleteile(INT 
CONST nr):SELECT nrOF CASE 1:klassengrdialogvorbereitenCASE 2:
klassengreingabenrichtigCASE 3:klassengrlistenvorbereitenCASE 4:
klassengrdruckvorbereitenCASE 5:klassengrseitedruckenCASE 6:
klassengrbildschirmvorbereitenCASE 7:klassengrseitezeigenENDSELECT .END PROC 
klassengruppenspezielleteile;PROC klassengrdialogvorbereiten:
klassengrueberschrift:=text(vergleichsknoten);setzeanfangswerte(
klassengruppeneingangsmaske,klassengruppenanfpos)END PROC 
klassengrdialogvorbereiten;PROC klassengreingabenrichtig: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:standardmeldung(
mnrauswahlnichtsinnvoll,niltext).END PROC klassengreingabenrichtig;PROC 
klassengrlistenvorbereiten:BOOL VAR b;initspalten;setzespaltentrenner(
spaltentrenner);inittupel(dnrklassengruppen);setzeidentiwert("");initobli(
anzahlderobjekteprobildschirm);objektlistestarten(dnrklassengruppen,"",
fnrkgklassengrp,TRUE ,b);setzebestandende(NOT multistopCOR b);END PROC 
klassengrlistenvorbereiten;PROC klassengrbildschirmvorbereiten:LET fnrausganf
=2;standardkopfmaskeaktualisieren(klassengrueberschrift);bildanfang:=
fnrausganf;setzebildanfangsposition(bildanfang);initspalten;
setzespaltenbreite(bildbreite);spaltenweise(spaltentext1);ausgfeld(1):=zeile;
ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins;spaltenweise(spaltentext2);
ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins;
spaltenweise(blank);ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos;
erhoeheausgabeposumeins;setzebildanfangsposition(5);spaltenbreitensetzenEND 
PROC klassengrbildschirmvorbereiten;PROC klassengrseitezeigen:blaettern(PROC 
(INT CONST )klassengrdatenzeigen,aktion,TRUE ,FALSE ,BOOL PROC multistop)END 
PROC klassengrseitezeigen;PROC klassengrdatenzeigen(INT CONST x):
klassengrdatenholen;klassengrdatenaufbereitenbild1;
klassengrdatenaufbildschirm;klassengrdatenaufbereitenbild2;
klassengrdatenaufbildschirm;klassengrdatenaufbereitenbild3;
klassengrdatenaufbildschirmEND PROC klassengrdatenzeigen;PROC 
klassengrdatenaufbereitenbild1:INT VAR y:=1;spaltenweise(klassengruppe);
spaltenweise(subtext(schuelergrfuerzeile1,y,y+5));yINCR 6;spaltenweise(
subtext(schuelergrfuerzeile1,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile1,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile1,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile1,y,y+5));yINCR 6;END PROC klassengrdatenaufbereitenbild1;
PROC klassengrdatenaufbereitenbild2:INT VAR y:=1;spaltenweise(blank);
spaltenweise(subtext(schuelergrfuerzeile2,y,y+5));yINCR 6;spaltenweise(
subtext(schuelergrfuerzeile2,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile2,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile2,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile2,y,y+5));yINCR 6;END PROC klassengrdatenaufbereitenbild2;
PROC klassengrdatenaufbereitenbild3:INT VAR y:=1;spaltenweise(blank);
spaltenweise(subtext(schuelergrfuerzeile3,y,y+5));yINCR 6;spaltenweise(
subtext(schuelergrfuerzeile3,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile3,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile3,y,y+5));yINCR 6;spaltenweise(subtext(
schuelergrfuerzeile3,y,y+5));yINCR 6;END PROC klassengrdatenaufbereitenbild3;
PROC klassengrdatenaufbildschirm:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP 
ausgfeld(i):=zeile;ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeins;PER ;END 
PROC klassengrdatenaufbildschirm;PROC klassengrdruckvorbereiten:
setzebestandende(FALSE );anfbuchstabe:=" ";druckvorbereiten;
variablenfuerdrucksetzen;initdruckkopf(zentriert(klassengrueberschrift,
druckbreite),zentriert(length(klassengrueberschrift)*strich,druckbreite));
initausgabekopfdruck;inittupel(dnrklassengruppen);spaltenbreitensetzen;
lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT VAR )scanforward,BOOL 
PROC multistop);.variablenfuerdrucksetzen:druckzeilenzahl:=drucklaenge(
ueberschriftenzeilen)-ausgkopflaenge.END PROC klassengrdruckvorbereiten;PROC 
klassengrseitedrucken:klassengrueberschriftdrucken;seitedrucken(PROC (INT 
VAR )klassengrdatendrucken,druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistop
);seitenwechsel.END PROC klassengrseitedrucken;PROC 
klassengrueberschriftdrucken:INT VAR i;druckkopfschreiben;FOR iFROM 1UPTO 
ausgkopflaengeREP druckzeileschreiben(ausgkopfdruck(i))PER ;ausgfeld(1):=
zeile;druckzeileschreiben(ausgfeld(1))END PROC klassengrueberschriftdrucken;
PROC klassengrdatendrucken(INT VAR zeilenzaehler):LET markiert="#";
klassengrdatenholen;ggflmeldunganfbuchstabe;klassengrdatenaufbereitenbild1;
zeilenzaehlerINCR ausgfeldlaenge;klassengrindruckdatei;IF 
schuelergrfuerzeile2<>niltextTHEN klassengrdatenaufbereitenbild2;
zeilenzaehlerINCR ausgfeldlaenge;klassengrindruckdatei;IF 
schuelergrfuerzeile3<>niltextTHEN klassengrdatenaufbereitenbild3;
zeilenzaehlerINCR ausgfeldlaenge;klassengrindruckdatei;FI FI ;.
ggflmeldunganfbuchstabe:IF anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .
anfbuchstabegeaendert:neueranfbuchstabe:=klassengruppeSUB 1;anfbuchstabe<>
neueranfbuchstabe.meldunganfbuchstabe:standardmeldung(mnrbearbeitetwerden,
teiltextmeldung+neueranfbuchstabe+markiert);anfbuchstabe:=neueranfbuchstabe.
END PROC klassengrdatendrucken;PROC initausgabekopfdruck:ausgkopfdruck(1):=
spaltentext1;ausgkopfdruck(2):=spaltentext2;END PROC initausgabekopfdruck;
PROC klassengrindruckdatei:ausgfeld(1):=zeile;INT VAR i;FOR iFROM 1UPTO 
ausgfeldlaengeREP druckzeileschreiben(ausgfeld(1))PER END PROC 
klassengrindruckdatei;PROC spaltenbreitensetzen:INT VAR z;initspalten;
setzespaltenbreite(spaltenbreite1);FOR zFROM 1UPTO 5REP setzespaltenbreite(
spaltenbreite2);PER END PROC spaltenbreitensetzen;PROC klassengrdatenholen:
klassengruppe:=wert(fnrkgklassengrp);schuelergrfuerzeile1:=subtext(wert(
fnrkgschuelergrp),1,30);schuelergrfuerzeile2:=subtext(wert(fnrkgschuelergrp),
31,60);schuelergrfuerzeile3:=subtext(wert(fnrkgschuelergrp),61,90);END PROC 
klassengrdatenholen;END PACKET klassengruppenlisten;