PACKET schulenlistenDEFINES schulenspezielleteile:LET niltext="",blank=" ", mittestrich="-",ueberschriftenzeilen=1,#bestand="c05 schulen",#spalte1breite= 8,spalte2breite=8,spalte4breite=17,anzspaltentrenner=3,ausgkopflaenge=3, ausgfeldlaenge=5,#maxdbwerte=100,##anzdbwerte=8,#AUSGFELD =ROW ausgfeldlaenge TEXT ,AUSGKOPF =ROW ausgkopflaengeTEXT ,schuleneingangsmaske= "mu liste einfach eingang",schulenanfpos=2;#LET dnrschulen=120,fnrschkennung= 121,fnrschname=122,fnrschart=123,fnrschamtlnr=127,fnrschbundesland=128, fnrschstrnr=124,fnrschplzort=125,fnrschtelnr=126;#INT CONST spalte3bildbreite :=bildbreite-anzspaltentrenner-spalte1breite-spalte2breite-spalte4breite;INT VAR spalte3druckbreite,spalte3breite,druckzeilenzahl,bildanf,eingabestatus; TEXT VAR schulenueberschrift,schulkennung,schulart,amtlschulkennnr,schulname, schulstrnr,schulnat,schulplz,schulort,schulland,schultelnr,anfbuchstabe, neueranfbuchstabe;TEXT VAR druckstrich;TEXT CONST bildstrich:=bildbreite* mittestrich;AUSGFELD VAR ausgfeld;AUSGKOPF VAR ausgkopf;BOOL PROC multistop: TRUE ENDPROC multistop;BOOL PROC multistopsim:setzebestandende(FALSE );TRUE ENDPROC multistopsim;PROC schulenspezielleteile(INT CONST nr):SELECT nrOF CASE 1:schulendialogvorbereitenCASE 2:schuleneingabenrichtigCASE 3: schulenlistenvorbereitenCASE 4:schulendruckvorbereitenCASE 5: schulenseitedruckenCASE 6:schulenbildschirmvorbereitenCASE 7: schulenseitezeigenENDSELECT .END PROC schulenspezielleteile;PROC schulendialogvorbereiten:schulenueberschrift:=text(vergleichsknoten); setzeanfangswerte(schuleneingangsmaske,schulenanfpos).END PROC schulendialogvorbereiten;PROC schuleneingabenrichtig:LET fnrausgdrucker=2, fnrausgbild=3;standardpruefe(5,fnrausgdrucker,fnrausgbild,0,niltext, eingabestatus);IF eingabestatus<>0THEN infeld(eingabestatus);setzeeingabetest (FALSE )ELSE setzeausgabedrucker(standardmaskenfeld(fnrausgbild)=niltext); setzeeingabetest(TRUE )END IF .END PROC schuleneingabenrichtig;PROC schulenlistenvorbereiten:BOOL VAR b;inittupel(dnrschulen);initobli(3); reinitparsing;setzeidentiwert("");objektlistestarten(dnrschulen,"", fnrschkennung,TRUE ,b);setzebestandende(b)END PROC schulenlistenvorbereiten; PROC schulenbildschirmvorbereiten:LET fnrausganf=2; standardkopfmaskeaktualisieren(schulenueberschrift);initspalten;spalte3breite :=spalte3bildbreite;ausgfeld(5):=bildbreite*blank;setzespaltenbreiten; initausgabekopf(bildstrich);bildanf:=fnrausganf;INT VAR i;FOR iFROM 1UPTO ausgkopflaengeREPEAT ausgkopf(i)IN bildanf;bildanfINCR 1END REPEAT ; setzebildanfangsposition(bildanf).END PROC schulenbildschirmvorbereiten;PROC schulenseitezeigen:blaettern(PROC (INT CONST )schulezeigen,aktion,TRUE , FALSE ,BOOL PROC multistop);END PROC schulenseitezeigen;PROC schulezeigen( INT CONST dummy):schuleholen;schuleaufbereiten;schuleaufbildschirm.END PROC schulezeigen;PROC schuleaufbildschirm:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREPEAT ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeinsEND REPEAT .END PROC schuleaufbildschirm;PROC schulendruckvorbereiten: anfbuchstabe:=niltext;druckvorbereiten;variablenfuerdrucksetzen;initdruckkopf (zentriert(schulenueberschrift,druckbreite));initspalten;spalte3breite:= spalte3druckbreite;ausgfeld(5):=druckbreite*blank;setzespaltenbreiten; initausgabekopf(druckstrich);inittupel(dnrschulen);setzebestandende(FALSE ); lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT VAR )scanforward,BOOL PROC multistopsim).variablenfuerdrucksetzen:druckstrich:=druckbreite* mittestrich;spalte3druckbreite:=druckbreite-anzspaltentrenner-spalte1breite- spalte2breite-spalte4breite;druckzeilenzahl:=drucklaenge(ueberschriftenzeilen )-ausgkopflaenge.END PROC schulendruckvorbereiten;PROC schulenseitedrucken: schulenueberschriftdrucken;seitedrucken(PROC (INT VAR )schuledrucken, druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistopsim);seitenwechsel.END PROC schulenseitedrucken;PROC schulenueberschriftdrucken:druckkopfschreiben; INT VAR i;FOR iFROM 1UPTO ausgkopflaengeREPEAT druckzeileschreiben(ausgkopf(i ))END REPEAT .END PROC schulenueberschriftdrucken;PROC schuledrucken(INT VAR zeilenzaehler):LET druckmeldung=101,markiert="#";schuleholen; ggfmeldunganfbuchstabe;schuleaufbereiten;zeilenzaehlerINCR ausgfeldlaenge; schuleindruckdatei.ggfmeldunganfbuchstabe:IF anfangsbuchstabegeaendertTHEN meldunganfbuchstabeEND IF .anfangsbuchstabegeaendert:neueranfbuchstabe:= schulkennungSUB 1;anfbuchstabe<>neueranfbuchstabe.meldunganfbuchstabe: standardmeldung(druckmeldung,neueranfbuchstabe+markiert);anfbuchstabe:= neueranfbuchstabe.END PROC schuledrucken;PROC schuleindruckdatei:INT VAR i; FOR iFROM 1UPTO ausgfeldlaengeREPEAT druckzeileschreiben(ausgfeld(i))END REPEAT .END PROC schuleindruckdatei;PROC setzespaltenbreiten: setzespaltenbreite(spalte1breite);setzespaltenbreite(spalte2breite); setzespaltenbreite(spalte3breite);setzespaltenbreite(spalte4breite);END PROC setzespaltenbreiten;PROC initausgabekopf(TEXT CONST strich):LET kennung= "Kennung",art="Schulart",name="Name",amtlnr="amtl. Nr.",adresse="Adresse", telnr="Telefon";spaltenweise(kennung);spaltenweise(art);spaltenweise(name); spaltenweise(blank);ausgkopf(1):=zeile;spaltenweise(blank);spaltenweise( amtlnr);spaltenweise(adresse);spaltenweise(telnr);ausgkopf(2):=zeile;ausgkopf (3):=strich.END PROC initausgabekopf;PROC schuleholen:schulkennung:=wert( fnrschkennung);schulname:=wert(fnrschname);schulart:=wert(fnrschart); amtlschulkennnr:=wert(fnrschamtlnr);schulland:=wert(fnrschbundesland); schulstrnr:=wert(fnrschstrnr);schulort:=wert(fnrschplzort);schultelnr:=wert( fnrschtelnr).END PROC schuleholen;PROC schuleaufbereiten:LET deutsch="D"; schreibekennungartname;schreibeamtlnrstrtelnr;schreibeortland. schreibekennungartname:spaltenweise(schulkennung);spaltenweise(schulart); spaltenweise(schulname);spaltenweise(blank);ausgfeld(1):=zeile. schreibeamtlnrstrtelnr:spaltenweise(blank);spaltenweise(amtlschulkennnr); spaltenweise(schulstrnr);spaltenweise(schultelnr);ausgfeld(2):=zeile. schreibeortland:spaltenweise(blank);spaltenweise(blank);spaltenweise(schulort );spaltenweise(blank);ausgfeld(3):=zeile;spaltenweise(blank);spaltenweise( blank);spaltenweise(schulland);spaltenweise(blank);ausgfeld(4):=zeile.END PROC schuleaufbereiten;END PACKET schulenlisten;