-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathB15_Cijferagenda.bc3
307 lines (306 loc) · 9.24 KB
/
B15_Cijferagenda.bc3
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
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
1000 A=3500:GOTO20:REM..CIJFERAGENDA **
1010 PRINT"Even geduld."
1020 CN=0:CT=3:REM GETALFORMAAT(CT=2-4)
1030 CD=1:REM CASS/DISKETTE (0 OF 1)
1040 HM=HO:REM SCHERM BREEDTE
1050 VM=VE:REM SCHERM HOOGTE
1060 BS=78:REM WERKBLAD BREEDTE
1070 NS=40:REM WERKBLAD HOOGTE
1080 DIMCA$(NS):DIMM$(5):SP$=""
1090 FORA=0 TOHM:SP$=SP$+" ":NEXTA
1100 BA$="":BB$="":BC$="":CB=CT
1110 R$=LEFT$("---------",CT):S$=""
1120 IFCT>1 THENS$=LEFT$(SP$,CT-1)
1130 T$=LEFT$(SP$,CB+1)
1200 FORA=(BS-CT-17)/(CT+1) TO1 STEP-1
1210 B$=CHR$(64+A)
1220 BA$=" "+B$+S$+BA$
1230 BB$=" "+"1"+S$+BB$
1240 BC$=" "+R$+BC$
1250 NEXTA
1260 CA$(0)="klas: vak:"
1270 CA$(1)="meetellen(0=nee):"
1280 CA$(2)=" gewicht:"
1290 CA$(NS)="klas gemiddelde:"
1300 CT=2:REM TIJDELIJK GETALFORMAAT
1310 FORA=0 TONS
1320 SR=A-2:GOSUB310
1330 SR$=SR$+LEFT$(SP$,15)
1340 IFA=0 THENA$=BA$
1350 IF(A=1)OR(A=2) THENA$=BB$
1360 IFA>2 THENA$=BC$
1370 B$=":"+R$
1380 IF(A<3)OR(A=NS) THENB$=T$
1390 IF(A>2)AND(A<NS) THENCA$(A)=SR$
1400 CA$(A)=CA$(A)+A$+B$
1410 NEXTA
1420 CT=CB
1500 M$(0)="VUL stop laad druk reken"
1510 M$(1)="vul STOP laad druk reken"
1520 M$(2)="vul stop LAAD druk reken"
1530 M$(3)="vul stop laad DRUK reken"
1540 M$(4)="vul stop laad druk REKEN"
1550 K=(INT((HM-18)/(CT+1))-1)*(CT+1)
1560 E=LEN(CA$(0))
2000 REM...........WERKEN MET AGENDA **
2010 GOSUB100:HO=3:VE=4
2020 MK=1:WH=18:WV=0:SH=0:SV=0
2030 FORAA=1 TO1
2040 HB=HO:VB=VE
2050 IFMK>0 THEN GOSUB16010:REM KADER
2060 BB=0:IF(WH<>SH)OR(WV<>SV) THENBB=1
2070 IFBB=1 THEN GOSUB13010:REM BLAD
2080 HO=HB:VE=VB:GOSUB110
2090 MK=0:GOSUB210
2100 IFIN=33 THEN GOSUB15010:REM MENU
2110 IFIN>31 THEN GOSUB19010:REM INPUT
2120 IFMK=1 THEN GOSUB3010:REM STOP
2130 IFMK=2 THEN GOSUB4010:REM LAAD
2140 IFMK=3 THEN GOSUB5010:REM PRINT
2150 IFMK=4 THEN GOSUB6010:REM REKEN
2160 HO=HB:VE=VB:GOSUB14010:REM BESTUUR
2170 AA=0
2180 NEXTAA
2190 RETURN:REM------------------------
3000 REM........................STOP **
3010 GOSUB15510:REM NAAM BESTAND
3020 SR$="eerst even rekenen"
3030 VE=VM:GOSUB17010:REM ACCENTUEER
3040 SD=20:GOSUB450
3050 GOSUB6010:REM REKEN
3060 GOSUB10210:REM STRINGS WEGZETTEN
3070 GOSUB9010:REM EIND
3080 RETURN:REM------------------------
4000 REM........................LAAD **
4010 GOSUB15510:REM NAAM BESTAND
4020 GOSUB10010:REM STRINGS LADEN
4030 SH=0:SV=0
4040 RETURN:REM------------------------
5000 REM.......................PRINT **
5010 GOSUB12010:REM PRINT
5020 RETURN:REM------------------------
6000 REM.......................REKEN **
6010 A$=CA$(1):B$=CA$(2)
6020 GOSUB11010:REM CIJFERS
6030 GOSUB11510:REM GEMIDDELDEN
6040 GOSUB13010:REM BLAD
6050 RETURN:REM------------------------
9000 REM........................EIND **
9010 SR$="wil je echt stoppen?"
9020 VE=VM:GOSUB17010:REM ACCENTUEER
9030 GOSUB210
9040 IFIN=74 THEN GOSUB950
9050 RETURN:REM------------------------
10000 REM..............STRINGS LADEN **
10010 SR$="Even geduld!"
10020 VE=VM:GOSUB17010:REM ACCENTUEER
10030 FC=0:NF=CD*4:GOSUB500
10040 IFIN<>0 THENFC=1:GOSUB18010
10050 IFIN=0 THEN GOSUB10110
10060 GOSUB580
10090 RETURN:REM-----------------------
10100 REM......................LADEN **
10110 FORBR=0 TONS
10120 GOSUB540:CA$(BR)=IN$
10130 IFIN<>0 THENBR=999
10140 NEXTBR
10160 RETURN:REM-----------------------
10200 REM..........STRINGS WEGZETTEN **
10210 SR$="Even geduld!"
10220 VE=VM:GOSUB17010:REM ACCENTUEER
10230 FC=0:NF=CD*4+1:GOSUB500
10240 IFIN=0 THEN GOSUB10310
10250 IFIN<>0 THENFC=2:GOSUB18010
10260 GOSUB580
10270 RETURN:REM-----------------------
10300 REM..................WEGZETTEN **
10310 FORBR=0 TONS
10320 SR$=CA$(BR)
10330 GOSUB560:IFIN<>0 THENBR=999
10340 NEXTBR
10350 IFBR>998 THENFC=2:GOSUB18010
10360 RETURN:REM-----------------------
11000 REM....................CIJFERS **
11010 A$=CA$(1):B$=CA$(2)
11020 VE=VM:B=BS-CT-1
11030 FORNM=3 TONS-1
11040 C$=MID$(CA$(NM),4,1)
11050 SR$=R$:IFC$<>" " THEN GOSUB11210
11060 CA$(NM)=LEFT$(CA$(NM),B)+SR$
11070 SR=NS-NM+1:GOSUB310
11080 SR$="nog "+SR$+" cijfers"
11090 GOSUB17010:REM ACCENTUEER
11100 NEXTNM
11110 RETURN:REM-----------------------
11200 REM.................MEETELLEN? **
11210 V=0:W=0:TT=0
11220 FORC=19 TOB STEPCT+1
11230 W=VAL(MID$(CA$(NM),C,CT))
11240 IFW<>0 THEN GOSUB11310
11250 NEXTC
11270 IFTT>0 THEN:SR=V/TT:GOSUB310
11280 RETURN:REM-----------------------
11300 REM........TELLING MET GEWICHT **
11310 F=VAL(MID$(B$,C,CT))
11320 G=F*SGN(VAL(MID$(A$,C,CT)))
11330 V=V+W*G:TT=TT+G
11340 RETURN:REM-----------------------
11500 REM................GEMIDDELDEN **
11510 A$=""
11520 FORB=19 TOBS-1 STEPCT+1
11530 SR=(BS-B)/(CT+1)+1:GOSUB310
11540 SR$="nog "+SR$+" gemiddelden"
11550 GOSUB17010:REM ACCENTUEER
11560 V=0:W=0:TT=0
11570 FORNM=3 TONS-1
11580 C$=MID$(CA$(NM),4,1)
11590 IFC$<>" " THEN GOSUB11710
11600 NEXTNM
11610 SR$=R$
11620 IFTT>0 THENSR=V/TT:GOSUB310
11630 A$=A$+" "+SR$
11640 NEXTB
11650 CA$(NS)=LEFT$(CA$(NS),17)+A$
11660 RETURN:REM-----------------------
11700 REM........................TEL **
11710 W=VAL(MID$(CA$(NM),B,CT))
11720 IFW<>0 THENV=V+W:TT=TT+1
11730 RETURN:REM-----------------------
12000 REM....STRINGS NAAR DE PRINTER **
12010 SR$="staat de printer gereed?"
12020 VE=VM:GOSUB17010:REM ACCENTUEER
12030 GOSUB210
12040 IFIN=74 THEN GOSUB12110
12050 RETURN:REM-----------------------
12100 REM..............................
12110 SR$="alles wordt nu afgedrukt"
12120 GOSUB17010:REM ACCENTUEER
12130 FORBR=0 TONS
12140 IFBR=NS THEN GOSUB360
12150 SR$=CA$(BR)+":":GOSUB350:GOSUB360
12160 NEXTBR
12170 GOSUB360
12180 RETURN:REM-----------------------
13000 REM.......................BLAD **
13010 HO=0
13120 FORVE=1 TOVM-2
13130 NM=WV+VE-1:IFVE<4 THENNM=VE-1
13140 IFVE=VM-2 THENVE=VM-1:NM=NS
13150 GOSUB110
13160 PRINTLEFT$(CA$(NM),17);
13170 PRINTMID$(CA$(NM),WH,K);
13180 PRINTRIGHT$(CA$(NM),CT+1);
13210 NEXTVE
13220 SH=WH:SV=WV
13230 RETURN:REM-----------------------
14000 REM....................BESTUUR **
14010 IFIN=28 THENHO=HO-1
14020 IFIN=29 THENHO=HO+1
14030 IFIN=30 THENVE=VE+1
14040 IFIN=31 THENVE=VE-1
14050 IFVE<1 THENVE=1:WV=WV-1
14060 IFVE>VM-3 THENVE=VM-3:WV=WV+1
14070 IF(VE=2)AND(HO<18) THENVE=4:HO=0
14080 IF(VE=3)AND(HO<18) THENVE=1
14090 MA=3:IFVE=1 THENMA=5
14100 IFHO=17 THENHO=MA
14110 IFHO=MA+1 THENHO=18
14120 FORT=18 TOHM STEPCT+1
14130 IFHO=T+1 THENHO=HO+CT
14140 IFHO=T+CT THENHO=HO-CT
14150 NEXTT
14200 AN=17+K-CT
14210 IFHO<MA THENHO=MA:WH=WH-CT-1
14220 IFHO>AN THENHO=AN:WH=WH+CT+1
14230 IFWH<18 THENWH=18
14240 IFVE<1 THENVE=1:WV=WV-1
14250 IFVE>VM-3 THENVE=VM-3:WV=WV+1
14260 IF(VE=2)AND(HO<18) THENVE=4:HO=0
14270 IF(VE=3)AND(HO<18) THENVE=1
14280 IFWH>=BS-K THENWH=BS-K-CT-1
14290 IFWV<0 THENWV=0
14300 IFWV>NS-VM+3 THENWV=NS-VM+3
14310 RETURN:REM-----------------------
15000 REM.......................MENU **
15010 FORRR=1 TO1
15020 SR$=M$(MK)
15030 VE=0:GOSUB17010:REM ACCENTUEER
15040 SR$="kies met cursor "
15050 SR$=SR$+"(INVOERtoets)"
15060 VE=VM:GOSUB17010:REM ACCENTUEER
15065 HO=INT((HM-LEN(SR$))/2)+2
15070 HO=8+MK*5:VE=0:GOSUB110:GOSUB210
15080 IFIN=28 THENMK=MK-1
15090 IFIN=29 THENMK=MK+1
15100 IFMK<0 THENMK=4
15110 IFMK>4 THENMK=0
15120 IFIN=13 THENVE=1
15130 RR=VE:IN$="":IN=0
15140 NEXTRR
15150 RETURN:REM-----------------------
15500 REM...............NAAM BESTAND **
15510 SR$="geef de naam van de klas"
15520 VE=VM:GOSUB17010:REM ACCENTUEER
15530 VB=1:HB=5:GOSUB19010:HB=3
15540 NF$=MID$(CA$(0),6,BD)
15550 RETURN:REM-----------------------
16000 REM......................KADER **
16010 SR$="cijferagenda"
16020 VE=0:GOSUB17010:REM ACCENTUEER
16030 SR$="stuur met cursortoetsen "
16040 SR$=SR$+"(!=menu)"
16050 VE=VM:GOSUB17010:REM ACCENTUEER
16060 RETURN:REM-----------------------
17000 REM.................ACCENTUEER **
17010 HO=0:GOSUB110:PRINTLEFT$(SP$,HM);
17020 HO=INT((HM-6-LEN(SR$))/2)
17030 GOSUB110:GOSUB150
17040 RETURN:REM-----------------------
18000 REM..............FOUTMELDINGEN **
18010 GOSUB250
18020 IFFC=1 THENSR$="niet gevonden"
18030 IFFC=2 THENSR$="er is iets mis"
18040 VE=VM:GOSUB17010:REM ACCENTUEER
18050 SD=40:GOSUB450
18060 RETURN:REM-----------------------
19000 REM......................INPUT **
19010 BD=14:IFVB=1 THENBD=7
19020 IFHB>17 THENBD=CT
19030 VE=VB:HO=HB
19040 FORPR=1 TO1
19050 IF(IN<32)OR(IN>90) THENIN$=""
19060 IFIN=34 THENIN$=""
19070 IFIN=127 THENHO=HO-1
19080 IFHO>BD+HB-1 THENHO=BD+HB-1
19090 IFIN=28 THENHO=HO-1
19100 IFIN=29 THENHO=HO+1
19110 IFHO<HB THENHO=HB
19120 GOSUB110:PRINTIN$;:GOSUB120
19130 IFIN=127 THENPRINT" ";
19140 GOSUB110:GOSUB210
19150 IFIN<>13 THENPR=0
19160 NEXTPR
19170 SR$=""
19180 FORPR=1 TOBD
19190 HO=HB+PR-1:GOSUB220
19200 SR$=SR$+CHR$(IN)
19210 NEXTPR
19220 SR=VAL(SR$)
19230 IF(HB>17)AND(VE>3) THEN GOSUB310
19240 IN$=SR$
19250 NM=WV+VE-1:IFVE<4 THENNM=VE-1
19260 PO=HB:IFHB>17 THENPO=PO+WH-18
19270 A$=LEFT$(CA$(NM),PO)+IN$
19280 B$=RIGHT$(CA$(NM),E-PO-BD)
19290 CA$(NM)=A$+B$
19300 HO=HB:GOSUB110:PRINTIN$;
19310 VB=VB+1
19320 RETURN:REM-----------------------
32000 REM *****************************
32010 REM * CIJFERAGENDA *
32020 REM * IN BASICODE-3 *
32030 REM * DOOR: RIEN VAN DONGEN *
32040 REM * (C) 11 MEI 1987 *
32050 REM *****************************
32100 REM TROS-RADIO dd 870708
32110 REM incl corr. dd 870825