PACKET raumgruppenlistenDEFINES raumgruppenspezielleteile:LET raumgruppeneingangsmaske="mu liste einfach eingang",spaltentrenner=" ", raumgruppenanfpos=2,spaltenbreite1=4,spaltenbreite2=12,niltext="",blank=" ", strich="-",null=0,ueberschriftenzeilen=2,ausgkopflaenge=2,ausgfeldlaenge=1, anzahlderobjekteprobildschirm=8,mnrauswahlnichtsinnvoll=56, mnrbearbeitetwerden=352;TEXT VAR raumgrueberschrift:="Liste der Raumgruppen", spaltentext:="Raumgruppe Räume",raeumefuerzeile1,raeumefuerzeile2,raum1, raum2,raum3,raum4,raum5,raum6,raum7,raum8,raum9,raum10,raum11,raum12,raum13, raum14,raum15,raumgruppe,alteraumgruppe:="",anfbuchstabe,neueranfbuchstabe:= "",teiltextmeldung:="die Raumgruppe dem Anfangsbuchstaben:";INT VAR eingabestatus,bildanfang,spalte2druckbreite,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 raumgruppenspezielleteile(INT CONST nr):SELECT nrOF CASE 1: raumgrdialogvorbereitenCASE 2:raumgreingabenrichtigCASE 3: raumgrlistenvorbereitenCASE 4:raumgrdruckvorbereitenCASE 5:raumgrseitedrucken CASE 6:raumgrbildschirmvorbereitenCASE 7:raumgrseitezeigenENDSELECT .END PROC raumgruppenspezielleteile;PROC raumgrdialogvorbereiten: raumgrueberschrift:=text(vergleichsknoten);setzeanfangswerte( raumgruppeneingangsmaske,raumgruppenanfpos)END PROC raumgrdialogvorbereiten; PROC raumgreingabenrichtig:LET fnrausgdrucker=2,fnrausgbild=3;standardpruefe( 5,fnrausgdrucker,fnrausgbild,null,niltext,eingabestatus);IF eingabestatus=0 THEN setzeeingabetest(TRUE );setzeausgabedrucker(standardmaskenfeld( fnrausgbild)=niltext);ELSE meldefehler;setzeeingabetest(FALSE )FI ;. meldefehler:standardmeldung(mnrauswahlnichtsinnvoll,niltext).END PROC raumgreingabenrichtig;PROC raumgrlistenvorbereiten:BOOL VAR b;initspalten; setzespaltentrenner(spaltentrenner);inittupel(dnrraumgruppen);setzeidentiwert ("");initobli(anzahlderobjekteprobildschirm);objektlistestarten( dnrraumgruppen,"",fnrrgraumgrp,TRUE ,b);setzebestandende(NOT multistopCOR b); END PROC raumgrlistenvorbereiten;PROC raumgrbildschirmvorbereiten:LET fnrausganf=2;standardkopfmaskeaktualisieren(raumgrueberschrift);bildanfang:= fnrausganf;setzebildanfangsposition(bildanfang);initspalten; setzespaltenbreite(bildbreite);spaltenweise(spaltentext);ausgfeld(1):=zeile; ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins;spaltenweise(blank);ausgfeld (1):=zeile;ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins; setzebildanfangsposition(4);spaltenbreitensetzenEND PROC raumgrbildschirmvorbereiten;PROC raumgrseitezeigen:blaettern(PROC (INT CONST )raumgrdatenzeigen,aktion,TRUE ,FALSE ,BOOL PROC multistop)END PROC raumgrseitezeigen;PROC raumgrdatenzeigen(INT CONST x):raumgrdatenholen; raumgrdatenaufbereitenbild1;raumgrdatenaufbildschirm; raumgrdatenaufbereitenbild2;raumgrdatenaufbildschirmEND PROC raumgrdatenzeigen;PROC raumgrdatenaufbereitenbild1:spaltenweise(raumgruppe); spaltenweise(raum1);spaltenweise(raum2);spaltenweise(raum3);spaltenweise( raum4);spaltenweise(raum5);spaltenweise(raum6);spaltenweise(raum7); spaltenweise(raum8);spaltenweise(raum9);spaltenweise(raum10);END PROC raumgrdatenaufbereitenbild1;PROC raumgrdatenaufbereitenbild2:spaltenweise( blank);spaltenweise(raum11);spaltenweise(raum12);spaltenweise(raum13); spaltenweise(raum14);spaltenweise(raum15);spaltenweise(blank);spaltenweise( blank);spaltenweise(blank);spaltenweise(blank);spaltenweise(blank);END PROC raumgrdatenaufbereitenbild2;PROC raumgrdatenaufbildschirm:INT VAR i;FOR i FROM 1UPTO ausgfeldlaengeREP ausgfeld(i):=zeile;ausgfeld(i)IN ausgabepos; erhoeheausgabeposumeins;PER ;END PROC raumgrdatenaufbildschirm;PROC raumgrdruckvorbereiten:setzebestandende(FALSE );anfbuchstabe:=" "; druckvorbereiten;variablenfuerdrucksetzen;initdruckkopf(zentriert( raumgrueberschrift,druckbreite),zentriert(length(raumgrueberschrift)*strich, druckbreite));initausgabekopfdruck;inittupel(dnrraumgruppen); spaltenbreitensetzen;lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT VAR )scanforward,BOOL PROC multistop);.variablenfuerdrucksetzen: druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaenge.END PROC raumgrdruckvorbereiten;PROC raumgrseitedrucken:raumgrueberschriftdrucken; seitedrucken(PROC (INT VAR )raumgrdatendrucken,druckzeilenzahl,ausgfeldlaenge ,BOOL PROC multistop);seitenwechsel.END PROC raumgrseitedrucken;PROC raumgrueberschriftdrucken:INT VAR i;druckkopfschreiben;FOR iFROM 1UPTO ausgkopflaengeREP druckzeileschreiben(ausgkopfdruck(i))PER END PROC raumgrueberschriftdrucken;PROC raumgrdatendrucken(INT VAR zeilenzaehler):LET markiert="#";raumgrdatenholen;ggflmeldunganfbuchstabe; raumgrdatenaufbereitenbild1;zeilenzaehlerINCR ausgfeldlaenge; raumgrindruckdatei;IF raeumefuerzeile2<>niltextTHEN raumgrdatenaufbereitenbild2;zeilenzaehlerINCR ausgfeldlaenge; raumgrindruckdatei;FI ;.ggflmeldunganfbuchstabe:IF anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .anfbuchstabegeaendert:neueranfbuchstabe:=raumgruppe SUB 1;anfbuchstabe<>neueranfbuchstabe.meldunganfbuchstabe:standardmeldung( mnrbearbeitetwerden,teiltextmeldung+neueranfbuchstabe+markiert);anfbuchstabe :=neueranfbuchstabe.END PROC raumgrdatendrucken;PROC initausgabekopfdruck: TEXT VAR unterstreichung:=druckbreite*strich;ausgkopfdruck(1):=spaltentext; ausgkopfdruck(2):=unterstreichung;END PROC initausgabekopfdruck;PROC raumgrindruckdatei:ausgfeld(1):=zeile;INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP druckzeileschreiben(ausgfeld(1))PER END PROC raumgrindruckdatei;PROC spaltenbreitensetzen:initspalten;setzespaltenbreite( spaltenbreite2);INT VAR x;INT CONST zehnraeumedererstenzeile:=10;FOR xFROM 1 UPTO zehnraeumedererstenzeileREP setzespaltenbreite(spaltenbreite1);PER ;END PROC spaltenbreitensetzen;PROC raumgrdatenholen:INT VAR x:=1;raumgruppe:=wert (fnrrgraumgrp);raeumefuerzeile1:=subtext(wert(fnrrgraeume),1,40); raeumefuerzeile2:=subtext(wert(fnrrgraeume),41,60);raum1:=subtext( raeumefuerzeile1,x,x+4);xINCR 4;raum2:=subtext(raeumefuerzeile1,x,x+4);xINCR 4;raum3:=subtext(raeumefuerzeile1,x,x+4);xINCR 4;raum4:=subtext( raeumefuerzeile1,x,x+4);xINCR 4;raum5:=subtext(raeumefuerzeile1,x,x+4);xINCR 4;raum6:=subtext(raeumefuerzeile1,x,x+4);xINCR 4;raum7:=subtext( raeumefuerzeile1,x,x+4);xINCR 4;raum8:=subtext(raeumefuerzeile1,x,x+4);xINCR 4;raum9:=subtext(raeumefuerzeile1,x,x+4);xINCR 4;raum10:=subtext( raeumefuerzeile1,x,x+4);xINCR 4;raum11:=subtext(raeumefuerzeile2,x,x+4);x INCR 4;raum12:=subtext(raeumefuerzeile2,x,x+4);xINCR 4;raum13:=subtext( raeumefuerzeile2,x,x+4);xINCR 4;raum14:=subtext(raeumefuerzeile2,x,x+4);x INCR 4;raum15:=subtext(raeumefuerzeile2,x,x+4);xINCR 4;alteraumgruppe:= raumgruppe;END PROC raumgrdatenholen;END PACKET raumgruppenlisten;