1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
|
PACKET klassenbuchlistenDEFINES klabulispezielleteile:LET nildatumdb=
"01.01.00",niltext="",blank=" ",mittestrich="-",null=0,slspalte3breite=16,
slanzspaltentrenner=2,ausgkopflaenge=3,ausgfeldlaenge=3,maxanzproseite=50,
AUSGFELD =ROW ausgfeldlaengeTEXT ,AUSGKOPF =ROW ausgkopflaengeTEXT ,SPEICHER
=ROW maxanzproseiteTEXT ,klabulieingangsmaske="ms liste klabuch eingang",
klabulianfpos=2,#dnrschueler=2,fnrsufamnames=3,fnrsurufnames=4,fnrsugebdatums
=5,fnrsustatuss=6,fnrsusgrpjgst=7,fnrsusgrpzugtut=8,fnrsugeschlechts=12,
fnrsunamenszusatzs=21,fnrsustrnrs=24,fnrsuplzorts=25,dbiplz=--,fnrsutelnrs=26
,fnrsutidiffdaten=52,dnrdiffdaten=53,fnrddreliunter=67,fnrddreliunteranmeld=
69,fnrddreliunterabmeld=68,fnrddkunstmusik=70,fnrddfach091a=71,fnrddfach091b=
72,fnrddfach092a=73,fnrddfach092b=74,fnrddfach101a=75,fnrddfach101b=76,
fnrddfach102a=77,fnrddfach102b=78,fnrhjdfamnames=89,fnrhjdrufnames=90,
fnrhjdgebdats=91,fnrhjdhj=93,fnrhjdjgst=94,fnrhjdfach=113,fnrhjdkursart=114,
dnrfaecher=141,fnrffach=142,fnrffachbez=143,ixhjdfamrufgebjgsthj=276,
ixsustatjgstzug=255,#mnrlistewirdgedruckt=58,mnrbearbeitetwird=100,
mnrauswahlnichtsinnvoll=56;INT VAR slspalte1breite,slspalte2breite,
druckzeilenzahlgrund,druckzeilenzahl,druckzeilenzahlrest,zaehler,anzzaehler,
indexspeicher,eingabestatus,aktuelleindexnr;TEXT VAR vordruck,
vordruckueberarbsl,vordruckueberarbsr,klabuliueberschrift,
auswahlnichtsinnvoll,listewirdgedruckt,bearbeitetwird,startjahr,startzug,
schuelername,schuelerrufname,schuelernamenszus,jahrgang,zug,schuelerstrasse,
schuelerort,schuelertelefon,schuelergebdat,schuelergeschlecht,schuelerreliunt
,schuelersprachen,schuelermusfach,schuelerwpffach,schuelerkursfachbez,
schuelerkursartbez,zaehleraufber,lehrer,puffer1,puffer2,druckstrich;AUSGFELD
VAR ausgfeld;AUSGKOPF VAR slausgkopf,srausgkopf;SPEICHER VAR speicher;FILE
VAR f,g;BOOL VAR einjahrgang,alle,elementsek1,neueklasse:=FALSE ;BOOL PROC
multistopsim:BOOL VAR b:=FALSE ;IF wert(fnrsustatuss)="ls"THEN IF startjahr<>
""THEN b:=wert(fnrsusgrpjgst)=startjahr;IF bCAND startzug<>""THEN b:=wert(
fnrsusgrpzugtut)=startzugFI ELSE #b:=dbstatus=ok;#b:=wert(fnrsustatuss)="ls"
FI ;FI ;setzebestandende(NOT b);bEND PROC multistopsim;PROC
klabulispezielleteile(INT CONST nr):SELECT nrOF CASE 1:
klabulidialogvorbereiten;CASE 2:klabulieingabenrichtig;CASE 3:
klabulilistenvorbereiten;CASE 4:klabulidruckvorbereiten;CASE 5:
klabuliseitedrucken;ENDSELECT .END PROC klabulispezielleteile;PROC
klabulidialogvorbereiten:klabuliueberschrift:=text(vergleichsknoten);
setzeanfangswerte(klabulieingangsmaske,klabulianfpos).END PROC
klabulidialogvorbereiten;PROC klabulieingabenrichtig:LET fnrjgst=2,fnrzug=3;
alle:=FALSE ;einjahrgang:=FALSE ;reinitparsing;zug:=standardmaskenfeld(fnrzug
);jahrgang:=standardmaskenfeld(fnrjgst);IF standardmaskenfeld(fnrjgst)=
niltextTHEN IF zug=niltextTHEN alle:=TRUE ;setzeausgabedrucker(TRUE );
setzeeingabetest(TRUE )ELSE meldefehler;infeld(fnrzug);setzeeingabetest(
FALSE )FI ELSE standardpruefe(3,fnrjgst,5,13,niltext,eingabestatus);IF
eingabestatus<>0THEN infeld(eingabestatus);setzeeingabetest(FALSE )ELSE
jahrgang:=zweistellig(standardmaskenfeld(fnrjgst));einjahrgang:=(zug=niltext)
;setzeausgabedrucker(TRUE );setzeeingabetest(TRUE )FI FI .meldefehler:
meldungstext(mnrauswahlnichtsinnvoll,auswahlnichtsinnvoll);standardmeldung(
auswahlnichtsinnvoll,niltext).END PROC klabulieingabenrichtig;PROC
klabulilistenvorbereiten:BOOL VAR b;startjahr:=jahrgang;startzug:=zug;
aktuelleindexnr:=ixsustatjgstzug;inittupel(dnrschueler);initobli(9);
setzeidentiwert("");putwert(fnrsusgrpjgst,startjahr);putwert(fnrsusgrpzugtut,
startzug);putwert(fnrsustatuss,"ls");#objektlistestarten(aktuelleindexnr,"",
fnrsusgrpjgst,TRUE ,b);#objektlistestarten(aktuelleindexnr,"",fnrsustatuss,
TRUE ,b);setzebestandende(NOT multistopsim)END PROC klabulilistenvorbereiten;
PROC klabulidruckvorbereiten:LET vordr="vordruck klassenbuchliste",manager=
"anschreiben server";setzemitseitennummern(FALSE );zaehler:=null;neueklasse:=
TRUE ;druckvorbereiten;variablenfuerdrucksetzen;holemeldungen;inittupel(
dnrschueler);putwert(fnrsusgrpjgst,startjahr);putwert(fnrsusgrpzugtut,
startzug);putwert(fnrsustatuss,"ls");lesenvorbereitendruck(PROC (INT CONST ,
BOOL PROC ,INT VAR )scanforward,BOOL PROC multistopsim);
vordruckvommanagerholen;ueberschriftenvorbereiten;initspalten;
ausgabekoepfevorbereiten;ausgfeld(3):=druckstrich.holemeldungen:meldungstext(
mnrbearbeitetwird,bearbeitetwird).variablenfuerdrucksetzen:druckstrich:=
druckbreite*mittestrich;slspalte2breite:=(druckbreite-slanzspaltentrenner-
slspalte3breite)DIV 2;slspalte1breite:=druckbreite-slanzspaltentrenner-
slspalte2breite-slspalte3breite;druckzeilenzahlgrund:=drucklaenge-
ausgkopflaenge.vordruckvommanagerholen:vordruck:=vordr;forget(vordruck,quiet)
;fetch(vordruck,/manager).END PROC klabulidruckvorbereiten;PROC
ueberschriftenvorbereiten:LET swischuledatum=511,swiuebzeile=512,
vordrueberarbsl="vordruck ueberarbeitet sl",vordrueberarbsr=
"vordruck ueberarbeitet sr",beginnsek2=11,uebteil1sek1="Klasse: ",
uebteil1sek2="Tutorenkurs: ",ueb1teil2sek1=" Klassenlehrer: ",ueb1teil2sek2
=" Tutor: ",ueb2teil2="Schuljahr ";jahrgangundzugholen;elementsek1bestimmen
;#puffer1:=wert();#setzesonderwerteschulkenndaten;#putwert(,puffer1);#
vordruckfuellenfuerueberschrift1;vordruckfuellenfuerueberschrift2;
verbleibendedruckzeilenzahlbestimmen.jahrgangundzugholen:jahrgang:=wert(
fnrsusgrpjgst);zug:=wert(fnrsusgrpzugtut).elementsek1bestimmen:elementsek1:=
FALSE ;IF int(jahrgang)<beginnsek2THEN elementsek1:=TRUE FI .
vordruckfuellenfuerueberschrift1:setzesonderwert(swischuledatum,
aufbereiteteschuledatum);setzesonderwert(swiuebzeile,aufbereiteteklasselehrer
);vordruckueberarbsl:=vordrueberarbsl;forget(vordruckueberarbsl,quiet);
briefalternative(vordruck,vordruckueberarbsl);f:=sequentialfile(input,
vordruckueberarbsl).vordruckfuellenfuerueberschrift2:setzesonderwert(
swischuledatum,aufbereiteteschuledatum);setzesonderwert(swiuebzeile,
aufbereiteteklasseschuljahr);vordruckueberarbsr:=vordrueberarbsr;forget(
vordruckueberarbsr,quiet);briefalternative(vordruck,vordruckueberarbsr);g:=
sequentialfile(input,vordruckueberarbsr).aufbereiteteschuledatum:puffer1:=
sonderwert(501);puffer2:=sonderwert(502);puffer2+(druckbreite-length(puffer2)
-length(puffer1))*blank+puffer1.aufbereiteteklasselehrer:klassenlehrer(lehrer
,jahrgang,zug);puffer2:=jahrgang+blank+zug;IF int(jahrgang)<11THEN
uebteil1sek1+puffer2+ueb1teil2sek1+lehrerELSE uebteil1sek2+puffer2+
ueb1teil2sek2+lehrerFI .aufbereiteteklasseschuljahr:puffer1:=ueb2teil2+
sonderwert(505);puffer2:=jahrgang+blank+zug;IF int(jahrgang)<11THEN puffer2:=
uebteil1sek1+puffer2ELSE puffer2:=uebteil1sek2+puffer2FI ;puffer2+(
druckbreite-length(puffer2)-length(puffer1))*blank+puffer1.
verbleibendedruckzeilenzahlbestimmen:druckzeilenzahl:=druckzeilenzahlgrund-
max(lines(f),lines(g));druckzeilenzahl:=min((maxanzproseiteDIV (
ausgfeldlaenge-1))*ausgfeldlaenge,druckzeilenzahl).END PROC
ueberschriftenvorbereiten;PROC klassenlehrer(TEXT VAR lehrer,TEXT CONST
jahrgang,TEXT CONST zug):putwert(fnrsgrpsj,schulkenndatum("Schuljahr"));
putwert(fnrsgrphj,schulkenndatum("Schulhalbjahr"));putwert(fnrsgrpjgst,
jahrgang);putwert(fnrsgrpkennung,zug);search(dnraktschuelergruppen,TRUE );IF
dbstatus=okTHEN putwert(fnrlparaphe,wert(fnrsgrplehrer));search(dnrlehrer,
TRUE );IF dbstatus=okTHEN lehrer:=wert(fnrlfamname)ELSE lehrer:=""FI ;ELSE
lehrer:=""FI END PROC klassenlehrer;PROC ausgabekoepfevorbereiten:LET name=
" Familienname",strasse="Straße Hausnummer",telefon="Telefonnummer",
nrrufname="Nr. Rufname Namenszusatz",ort="Plz Ort";ausgabekopfslvorbelegen;
ausgabekopfsrvorbelegen.ausgabekopfslvorbelegen:hilfsfeldervorbelegen;
spaltenweise(name);spaltenweise(strasse);spaltenweise(telefon);slausgkopf(1)
:=zeile;spaltenweise(nrrufname);spaltenweise(ort);spaltenweise(blank);
slausgkopf(2):=zeile;slausgkopf(3):=druckstrich.hilfsfeldervorbelegen:
setzespaltenbreite(slspalte1breite);setzespaltenbreite(slspalte2breite);
setzespaltenbreite(slspalte3breite).END PROC ausgabekoepfevorbereiten;PROC
ausgabekopfsrvorbelegen:LET srkopft1=" Geburts- J/M ",srkopft2=
"Nr. datum ",srkopf1t1="Unterr. Sprachen musisches Wahlpflicht-"
,srkopf1t2="Religion Fach fächer",srkopf2t1="Fächer",
srkopf2t2="Kurskennungen";IF elementsek1THEN srausgkopf(1):=srkopft1+
srkopf1t1;srausgkopf(2):=srkopft2+srkopf1t2ELSE srausgkopf(1):=srkopft1+
srkopf2t1;srausgkopf(2):=srkopft2+srkopf2t2FI ;srausgkopf(3):=druckstrich.
END PROC ausgabekopfsrvorbelegen;PROC klabuliseitedrucken:
speicherrechteseiteloeschen;klabulislueberschriftdrucken;anzzaehler:=null;
seitedrucken(PROC (INT VAR )schuelerdatendrucken,druckzeilenzahl,
ausgfeldlaenge,PROC bestandendesimulierenbeiklassenwechsel,BOOL PROC
multistopsim);IF neueklasseTHEN simuliertesendezuruecknehmen;
neuelistevorbereitenELSE IF NOT bestandendeTHEN rechteseitedrucken;
seitenwechselFI FI .speicherrechteseiteloeschen:FOR indexspeicherFROM 1UPTO
maxanzproseiteREP speicher(indexspeicher):=niltextPER ;indexspeicher:=null.
simuliertesendezuruecknehmen:setzebestandende(FALSE ).neuelistevorbereiten:
leereschuelereintragen;rechteseitedrucken;meldelistewirdgedruckt;
drucknachbereiten;druckvorbereiten;zaehler:=null;ueberschriftenvorbereiten.
meldelistewirdgedruckt:meldungstext(mnrlistewirdgedruckt,listewirdgedruckt);
standardmeldung(listewirdgedruckt,niltext).END PROC klabuliseitedrucken;PROC
klabulislueberschriftdrucken:INT VAR i;input(f);WHILE NOT eof(f)REP getline(f
,ausgfeld(1));druckzeileschreiben(ausgfeld(1));PER ;druckzeileschreiben(
druckstrich);FOR iFROM 1UPTO ausgkopflaengeREPEAT druckzeileschreiben(
slausgkopf(i))END REPEAT ;druckzeilenzahlrest:=druckzeilenzahl.END PROC
klabulislueberschriftdrucken;PROC bestandendesimulierenbeiklassenwechsel:IF
bestandendeTHEN leereschuelereintragen;rechteseitedrucken;neueklasse:=FALSE
ELSE nochklassezubearbeiten;IF neueklasseTHEN setzebestandende(TRUE )FI ;FI .
nochklassezubearbeiten:IF alleTHEN neueklasse:=int(jahrgang)<>int(wert(
fnrsusgrpjgst));IF neueklasseTHEN ausgabekopfsrvorbelegenFI ;neueklasse:=
neueklasseOR (zug<>wert(fnrsusgrpzugtut));ELSE neueklasse:=zug<>wert(
fnrsusgrpzugtut)FI .END PROC bestandendesimulierenbeiklassenwechsel;PROC
schuelerdatendrucken(INT VAR zeilenzaehler):LET markiert="#";
schuelerdatenholen;ggflmeldungklasse;zaehlerINCR 1;anzzaehlerINCR 1;
schuelerdatenaufbereiten;zeilenzaehlerINCR ausgfeldlaenge;
schuelerdatenindruckdatei.ggflmeldungklasse:IF zaehler=nullTHEN
standardmeldung(bearbeitetwird,jahrgang+blank+zug+markiert)FI .END PROC
schuelerdatendrucken;PROC schuelerdatenholen:LET weiblich="w",maennlich="m",
junge="J",maedchen="M",anzsprachen=4,prosprache=3;INT VAR i,j;schuelername:=
wert(fnrsufamnames);schuelerrufname:=2*blank+wert(fnrsurufnames);
schuelernamenszus:=wert(fnrsunamenszusatzs);jahrgang:=wert(fnrsusgrpjgst);zug
:=wert(fnrsusgrpzugtut);schuelerstrasse:=wert(fnrsustrnrs);schuelerort:=wert(
fnrsuplzorts);schuelertelefon:=wert(fnrsutelnrs);schuelergebdat:=wert(
fnrsugebdatums);IF wert(fnrsugeschlechts)=weiblichTHEN schuelergeschlecht:=
maedchenELIF wert(fnrsugeschlechts)=maennlichTHEN schuelergeschlecht:=junge
ELSE schuelergeschlecht:=blankFI ;IF elementsek1THEN
diffdatenholenundaufbereitenELSE schuelerkursfachbez:=niltext;
schuelerkursartbez:=niltext;kursdatenholenundaufbereitenFI .
diffdatenholenundaufbereiten:INT VAR difstatus:=0;inittupel(dnrdiffdaten);IF
wert(fnrsutiddiffdaten)<>""THEN disablestop;readtid(dnrdiffdaten,wert(
fnrsutiddiffdaten));IF iserrorTHEN clearerror;difstatus:=1FI ;enablestopFI ;
IF difstatus=0THEN schuelersprachen:=niltext;sprachenaufbereiten;
schuelerreliunt:=wert(fnrddreliunter);schuelermusfach:=wert(fnrddkunstmusik);
schuelerwpffach:=niltext;IF jahrgang="09"THEN wpf9aufbereitenELIF jahrgang=
"10"THEN wpf10aufbereitenFI FI .sprachenaufbereiten:FOR iFROM 0UPTO
anzsprachen-1REP j:=(3*i)+55;puffer1:=wert(j);schuelersprachen:=
schuelersprachen+puffer1+(prosprache-length(puffer1))*blankPER .
wpf9aufbereiten:puffer1:=wert(fnrddfach091a);schuelerwpffach:=puffer1+(5-
length(puffer1))*blank;puffer1:=wert(fnrddfach091b);schuelerwpffach:=
schuelerwpffach+puffer1+(5-length(puffer1))*blank;puffer1:=wert(fnrddfach092a
);schuelerwpffach:=schuelerwpffach+puffer1+(5-length(puffer1))*blank;puffer1
:=wert(fnrddfach092b);schuelerwpffach:=schuelerwpffach+puffer1+(5-length(
puffer1))*blank.wpf10aufbereiten:puffer1:=wert(fnrddfach101a);schuelerwpffach
:=puffer1+(5-length(puffer1))*blank;puffer1:=wert(fnrddfach101b);
schuelerwpffach:=schuelerwpffach+puffer1+(5-length(puffer1))*blank;puffer1:=
wert(fnrddfach102a);schuelerwpffach:=schuelerwpffach+puffer1+(5-length(
puffer1))*blank;puffer1:=wert(fnrddfach102b);schuelerwpffach:=schuelerwpffach
+puffer1+(5-length(puffer1))*blank.kursdatenholenundaufbereiten:putwert(
fnrhjdfamnames,schuelername);putwert(fnrhjdrufnames,compress(schuelerrufname)
);putwert(fnrhjdgebdats,schuelergebdat);putwert(fnrhjdjgst,jahrgang);putwert(
fnrhjdhj,schulkenndatum("Schulhalbjahr"));search(ixhjdfamrufgebjgsthj,TRUE );
pause(5);IF dbstatus=okTHEN kursartzuweisenFI .#dr31.03.88kursartzuweisen:
TEXT VAR suchbegriff:="";FOR iFROM 1UPTO (length(wert(fnrhjdfach))DIV 2)REP
puffer1:=wert(fnrhjdkursart)SUB i;schuelerkursartbez:=schuelerkursartbez+
puffer1+(2-length(puffer1))*blank;suchbegriff:=subtext(wert(fnrhjdfach),(2*i)
-1,2*i);suchbegriff:=compress(suchbegriff);putwert(fnrffach,suchbegriff);
search(dnrfaecher,TRUE );IF dbstatus=okTHEN puffer1:=wert(fnrffachbez);
schuelerkursfachbez:=schuelerkursfachbez+puffer1+(3-length(puffer1))*blank;
FI ;PER .#kursartzuweisen:TEXT VAR suchbegriff:="";FOR iFROM 1UPTO (length(
wert(fnrhjdfach))DIV 2)REP suchbegriff:=subtext(wert(fnrhjdfach),(2*i)-1,2*i)
;suchbegriff:=compress(suchbegriff);putwert(fnrffach,suchbegriff);search(
dnrfaecher,TRUE );IF dbstatus=okTHEN puffer1:=wert(fnrffach);
schuelerkursfachbez:=schuelerkursfachbez+text(puffer1,3);puffer1:=wert(
fnrhjdkursart)SUB i;schuelerkursartbez:=schuelerkursartbez+text(puffer1,3);
ELSE schuelerkursfachbez:=schuelerkursfachbez+(3*blank);schuelerkursartbez:=
schuelerkursartbez+(3*blank);FI ;PER .END PROC schuelerdatenholen;PROC
schuelerdatenaufbereiten:zaehleraufbereiten;schreibenrnamestrassetelnr;
schreiberufnameort;datenfuerrechteseitespeichern.schreibenrnamestrassetelnr:
spaltenweise(zaehleraufber+2*blank+schuelername);spaltenweise(schuelerstrasse
);spaltenweise(schuelertelefon);ausgfeld(1):=zeile.schreiberufnameort:
spaltenweise(4*blank+schuelerrufname+blank+schuelernamenszus);spaltenweise(
schuelerort);spaltenweise(blank);ausgfeld(2):=zeile.
datenfuerrechteseitespeichern:indexspeicherINCR 1;speicher(indexspeicher):=
zaehleraufber+2*blank+aufbgebdat+3*blank+schuelergeschlecht;IF elementsek1
THEN speicher(indexspeicher):=speicher(indexspeicher)+6*blank+aufbreliunt+5*
blank+schuelersprachen+4*blank+aufbmusfach+6*blank+schuelerwpffach;
indexspeicherINCR 1ELSE speicher(indexspeicher):=speicher(indexspeicher)+3*
blank+schuelerkursfachbez;indexspeicherINCR 1;speicher(indexspeicher):=19*
blank+schuelerkursartbezFI .aufbgebdat:IF schuelergebdat=niltextTHEN 8*blank
ELSE schuelergebdatFI .aufbreliunt:IF schuelerreliunt=niltextOR (reliabmeld
AND NOT relianmeld)THEN 2*blankELSE schuelerreliuntFI .reliabmeld:wert(
fnrddabmeldedatreli)<>nildatumdb.relianmeld:wert(fnrddanmeldedatreli)<>
nildatumdb.aufbmusfach:IF schuelermusfach=niltextTHEN 2*blankELSE
schuelermusfachFI .END PROC schuelerdatenaufbereiten;PROC
schuelerdatenindruckdatei:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP
druckzeileschreiben(ausgfeld(i))PER ;druckzeilenzahlrestDECR ausgfeldlaenge.
END PROC schuelerdatenindruckdatei;PROC leereschuelereintragen:INT VAR
leereschuelermoeglich,i;indexspeicherINCR 1;moeglicheschuelereintragen.
moeglicheschuelereintragen:leereschuelermoeglich:=druckzeilenzahlrestDIV
ausgfeldlaenge;FOR iFROM 1UPTO leereschuelermoeglichREP zaehlerINCR 1;
zaehleraufbereiten;ausgfeld(1):=text(zaehleraufber,druckbreite);ausgfeld(2):=
text(blank,druckbreite);schuelerdatenindruckdatei;
leerenschuelerfuerrechteseitespeichernPER .
leerenschuelerfuerrechteseitespeichern:anzzaehlerINCR 1;speicher(
indexspeicher):=text(zaehleraufber,druckbreite);indexspeicherINCR 2.END PROC
leereschuelereintragen;PROC rechteseitedrucken:INT VAR i,j;seitenwechsel;
klabulisrueberschriftdrucken;FOR iFROM 1UPTO anzzaehlerREP j:=2*i;ausgfeld(1)
:=speicher(j-1);ausgfeld(2):=speicher(j);schuelerdatenindruckdateiPER .END
PROC rechteseitedrucken;PROC klabulisrueberschriftdrucken:INT VAR i;input(g);
WHILE NOT eof(g)REP getline(g,ausgfeld(1));druckzeileschreiben(ausgfeld(1));
PER ;druckzeileschreiben(druckstrich);FOR iFROM 1UPTO ausgkopflaengeREPEAT
druckzeileschreiben(srausgkopf(i))END REPEAT .END PROC
klabulisrueberschriftdrucken;PROC zaehleraufbereiten:LET zaehlerzweistellig=
10;IF zaehler<zaehlerzweistelligTHEN zaehleraufber:=blankELSE zaehleraufber:=
niltextFI ;zaehleraufber:=zaehleraufber+text(zaehler).END PROC
zaehleraufbereiten;END PACKET klassenbuchlisten;
|