-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathGRAFIK.bc
526 lines (526 loc) · 15.6 KB
/
GRAFIK.bc
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
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
1000 A=200:GOTO20:REM KARAKTERS OP HET GRAFISCH-SCHERM
1010 GL$="":GH$="":AL$="":AH$=""
1020 LE$=" "
1030 FR=0:GOSUB280
1100 REM ****> MENU <****
1110 GOSUB100
1120 PRINT"*************************************"
1130 PRINT"* ZEICHEN AUF DEM BILDSCHIRM *"
1140 PRINT"*************************************"
1150 PRINT"* *"
1160 PRINT"* 1 Zum Programm. *"
1170 PRINT"* 2 Zeichen auf eine Zeile. *"
1180 PRINT"* 3 Zeilen auf den Schirm. *"
1190 PRINT"* 4 Zeichen entwerfen. *"
1200 PRINT"* *"
1210 PRINT"* 5 Beenden. *"
1220 PRINT"* *"
1230 PRINT"* *"
1240 PRINT"* *"
1250 PRINT"* Gib Deine Wahl ein! *"
1260 PRINT"* *"
1270 PRINT"*************************************"
1280 REM
1290 REM
1300 REM
1310 PRINT
1320 REM ****> VERWERKEN KEUZE <****
1330 GOSUB7110:TY=IN-48
1340 IF(TY<1)OR(TY>5)THEN1330
1350 SR=TY
1360 GOSUB300
1370 PRINT" Gedrueckt wurde: ";SR$
1380 PRINT
1390 PRINT" Ist das RICHTIG (J/N) ?"
1400 GOSUB7110
1410 IFIN=13 THEN1430
1420 IFIN<>74 THEN1110
1430 IFTY=5 THEN1490
1450 ONTY GOSUB1510,2010,3010,4010,5010
1460 GOTO1110
1490 GOTO950
1500 REM *****> HET PROGRAMMA <*****
1510 GOSUB100
1520 PRINT"Mit d. Programm werden die Moeglich-":PRINT
1530 PRINT"keiten und die Unmoeglichkeiten der":PRINT
1540 PRINT"Textausgabe im Grafik-Mode dargestellt."
1550 PRINT:PRINT:PRINT
1560 GOSUB7010
1570 PRINT"Das Programm kann vielleicht eine An-":PRINT
1580 PRINT"leitung sein fuer die, die erstmalig":PRINT
1590 PRINT"mit Text im Grafik-Mode arbeiten.":PRINT
1600 PRINT:PRINT
1610 GOSUB7010
1620 PRINT"Zuerst folgt eine Uebersicht der":PRINT
1630 PRINT"im Progr. benutzten Abkuerzungen,Terme":PRINT
1640 PRINT"und Variablen."
1650 GOSUB7010
1660 GOSUB100
1670 PRINT"Dot : Bildpunkt auf dem Grafikschirm"
1690 PRINT"KM : Zeichefeld (rechteckig), in dem"
1700 PRINT" man mit Dots ein Zeichen"
1710 PRINT" erstellen kann."
1720 PRINT"LB : Linksobener Dot eines KM.":PRINT
1730 GOSUB7010
1740 PRINT"DH : Anzahl Dots (horizontal) in"
1750 PRINT" einem KM."
1760 PRINT"DV : Anzahl Dots (vertikal) im KM."
1770 PRINT"HP : horizontale Position des"
1780 PRINT" Dots im KM von links an."
1790 PRINT"VP : vertikale Position des"
1800 PRINT" Dots im KM von oben an.":PRINT
1810 PRINT"KM(DH-1,DV-1) : Feld fuer KM."
1820 GOSUB7010:GOSUB100
1830 PRINT" (HP,VP)=(0,0):"
1840 PRINT"Obere linke Position von KM"
1850 PRINT"auf dem Grafik-Schirm.":PRINT:PRINT
1860 PRINT" (HP,VP) = (HG-1-DH,VG-1-DV):"
1870 PRINT"Untere rechte Position von KM"
1880 PRINT"auf dem Grafik-Schirm.":PRINT
1890 GOSUB7010
1900 PRINT"HG und VG sind BC-3 Variablen, die"
1910 PRINT"in einem Programm aufgerufen werden"
1920 PRINT"koennen, bzw. die Anzahl der Dots auf"
1930 PRINT"einer horizontalen oder vertikalen"
1940 PRINT"Bildlinie angeben."
1950 GOSUB7010
1960 PRINT:PRINT
1970 PRINT" Viel Erfolg"
1980 GOSUB7010
1990 RETURN
2000 REM *****> KARAKTERS OP EEN REGEL <*****
2010 GOSUB100
2020 PRINT"****> Zeichen auf einer Zeile <*****":PRINT
2030 PRINT"Eine Erlaeuterung? (J/N) ?"
2040 GOSUB7110
2050 IF(IN=13)OR(IN=74)THEN2070
2060 GOTO2310
2070 HO=0:VE=2:GOSUB110
2080 PRINT"Mit diesem Teil koennen wir unter-":PRINT
2090 PRINT"suchen, wieviel Zeichen auf eine Zeile":PRINT
2100 PRINT"des Grafikbildschirm passen.":PRINT:PRINT
2110 GOSUB7010
2120 PRINT"Das Programm fragt nach DH und zeichnet":PRINT
2130 PRINT"dann eine Anzahl von Zeichen in Reihe.":PRINT
2140 PRINT"0 bis 9 gelangen hintereinander auf den":PRINT
2150 PRINT"Schirm. Darunter wird zweimal die":PRINT
2160 PRINT"Anzahl der Zeichen ausgegeben."
2170 GOSUB7010
2180 GOSUB100
2190 PRINT"In der oberen wird das angegebene DH":PRINT
2200 PRINT"verwendet, waehrend in der unteren":PRINT
2210 PRINT"der normale grafische TEXT-Mode":PRINT
2220 PRINT"verwendet wird.":PRINT:PRINT
2230 GOSUB7010
2240 PRINT"Danach ist es moeglich, es mit einem ":PRINT
2250 PRINT"anderem Wert zu versuchen.":PRINT:PRINT
2260 PRINT"Normalerweise liegt DH bei 8,":PRINT
2270 PRINT"beim Experimentiren zwischen 3-14."
2280 PRINT:PRINT:PRINT
2290 PRINT"Viel Erfolg!":PRINT
2300 GOSUB7010
2310 GOSUB100
2320 VR$="Fuer welches DH (3-14) : "
2330 HO=0:VE=0:GOSUB110
2340 GL$="0":GH$="9":AL$="3":AH$="14"
2350 GOSUB7210
2360 DH=VAL(AW$)
2370 GOSUB600:CN=0
2410 I=0:J=0:C=DH/HG
2420 VE=.4
2430 FORHO=.2/HG TO1-(DH-1)/HG STEPC
2440 SR=I:GOSUB300
2450 GOSUB650
2460 I=I+1:IFI=10 THENI=0
2470 J=J+1
2480 NEXTHO
2490 HO=.2:PRINT"HG=",HG:VE=.48
2500 SR=J:GOSUB300:A$=SR$
2510 B$="Das sind "+A$+" Zeichen."
2520 K=LEN(B$)
2530 FORI=1 TOK
2540 SR$=MID$(B$,I,1)
2550 GOSUB650
2560 HO=HO+C
2570 NEXTI
2580 HO=0:VE=.56
2590 SR$=B$:GOSUB650
2600 GOSUB7610
2610 VR$="Noch ein anderes DH (J/N) ?"
2620 HO=0:VE=.8:SR$=VR$:GOSUB650
2630 GOSUB7110
2650 IF(IN=13)OR(IN=74)THEN2310
2700 GOSUB100
2710 PRINT"Von jedem Zeichen kann HO und PH":PRINT
2720 PRINT"ausgedruckt werden.":PRINT:PRINT
2730 PRINT"Ist das noetig (J/N) ?":PRINT:PRINT
2740 GOSUB7110
2750 IF(IN=13)OR(IN=74)THEN2800
2760 GOSUB7010
2770 RETURN
2800 GOSUB6310
2860 I=1:C=DH/HG:PH=0
2870 FORHO=.2/VG TO1-(DH-1)/HG STEPC
2880 SR=I:CN=0:CT=2:GOSUB310:A$=SR$
2890 SR=PH:CN=0:CT=3:GOSUB310:B$=SR$
2900 SR=HO:CN=3:CT=5:GOSUB310:C$=SR$
2920 SR$=SP$+"Zeichen "+A$+"; PH = "+B$+"; HO = "+C$
2930 GOSUB350:GOSUB360
2940 I=I+1:PH=PH+DH
2950 NEXTHO
2960 RETURN
3000 REM *****> REGELS <*****
3010 GOSUB100
3020 PRINT" *****> ZEILEN <*****":PRINT
3030 PRINT"Eine Erklaerung? (J/N) ?"
3040 GOSUB7110
3050 IF(IN=13)OR(IN=74)THEN3070
3060 GOTO3300
3070 HO=0:VE=2:GOSUB110
3080 PRINT"Mit diesem Teil koennen wir unter-":PRINT
3090 PRINT"suchen, wieviele Zeilen auf einen":PRINT
3100 PRINT"Grafikbildschirm passen.":PRINT:PRINT
3110 GOSUB7010
3120 PRINT"Das Programm fragt nach DV und gibt":PRINT
3130 PRINT"dann die mit gewaehlten DV moeglichen":PRINT
3140 PRINT"Zeilen aus.":PRINT:PRINT
3150 PRINT"Danach ist es moeglich, es mit einem":PRINT
3160 PRINT"anderen DV auszuprobieren.":PRINT:PRINT
3170 GOSUB7010:GOSUB100
3180 PRINT"Normalerweise wird DV bei 8":PRINT
3190 PRINT"liegen, beim Experimentieren":PRINT
3200 PRINT"zwischen 3 und 30.":PRINT:PRINT
3210 GOSUB7010
3220 PRINT"Von jeder Zeile kann abgelesen werden,":PRINT
3230 PRINT"auf welchem VE und PV die Zeile liegt.":PRINT
3240 PRINT:PRINT"Viel Erfolg!"
3250 GOSUB7010
3300 GOSUB100
3310 VR$="Fuer welches DV mit(3-30) : "
3320 HO=0:VE=0:GOSUB110
3330 GL$="0":GH$="9":AL$="3":AH$="30"
3340 GOSUB7210
3350 DV=VAL(AW$)
3400 GOSUB600:CN=0
3410 I=1:C=DV/VG:PV=0
3420 HO=0
3430 FORVE=.2/VG TO1-(DV-1)/VG STEPC
3440 CI=CN
3450 SR=I:CN=0:CT=2:GOSUB310:A$=SR$
3460 SR=PV:CN=0:CT=3:GOSUB310:B$=SR$
3470 SR=VE:CN=3:CT=5:GOSUB310:C$=SR$
3480 CN=CI
3490 SR$="Zeile "+A$+"; PV = "+B$+"; VE = "+C$
3500 GOSUB650
3510 I=I+1:PV=PV+DV
3520 NEXTVE
3530 I=2
3540 VE=I*C+.2/VG
3550 SR=I+1:CN=0:CT=2:GOSUB310:A$=SR$
3560 SR=I*DV:CN=0:CT=3:GOSUB310:B$=SR$
3570 SR=VE:CN=3:CT=5:GOSUB310:C$=SR$
3580 CN=1
3590 SR$="Zeile "+A$+"; PV = "+B$+"; VE = "+C$
3600 GOSUB650
3610 VR$="Noch ein anderes DV (J/N) ?"
3620 VE=I*C:SR$=VR$:CN=0:GOSUB650
3630 GOSUB7110
3650 IF(IN=13)OR(IN=74)THEN3300
3700 GOSUB100
3710 PRINT"Die ermittelten Werte koennen ausge-":PRINT
3720 PRINT"druckt werden.":PRINT:PRINT
3730 PRINT"Ist das noetig (J/N) ?":PRINT:PRINT
3740 GOSUB7110
3750 IF(IN=13)OR(IN=74)THEN3800
3760 GOSUB7010
3770 RETURN
3800 GOSUB6310
3860 I=1:C=DV/VG:PV=0
3870 FORVE=.2/VG TO1-(DV-1)/VG STEPC
3880 SR=I:CN=0:CT=2:GOSUB310:A$=SR$
3890 SR=PV:CN=0:CT=3:GOSUB310:B$=SR$
3900 SR=VE:CN=3:CT=5:GOSUB310:C$=SR$
3920 SR$=SP$+"Zeile "+A$+"; PV = "+B$+"; VE = "+C$
3930 GOSUB350:GOSUB360
3940 I=I+1:PV=PV+DV
3950 NEXTVE
3960 RETURN
4000 REM **> Zeichen entwerfen <**
4010 GOSUB100
4020 PRINT" **> ZEICHEN ENTWERFEN <**":PRINT
4030 PRINT"Eine Erklaerung ? (J/N) ?"
4040 GOSUB7110
4050 IF(IN=13)OR(IN=74)THEN4080
4060 GOTO4310
4080 HO=0:VE=2:GOSUB110
4090 PRINT"Mit diesem Teil entwerfen wir ein":PRINT
4100 PRINT"Zeichen auf dem TEXT-Schirm.":PRINT
4110 PRINT"Danach schauen wir auf dem GRAFIK-":PRINT
4120 PRINT"Schirm, wie das Zeichen aussieht.":PRINT:PRINT
4130 GOSUB7010
4140 PRINT"Die Zeichen konstruieren wir auf":PRINT
4150 PRINT"einer leeren Matrix, von der wir":PRINT
4160 PRINT"erst DH und DV angeben muessen.":PRINT:PRINT
4170 PRINT"Waehle DH und DV nicht kleiner als 5":PRINT
4180 PRINT"und nicht groesser als 15."
4190 GOSUB7010:GOSUB100
4200 PRINT"Die Matrix wird von links nach rechts":PRINT
4210 PRINT"und von oben nach unten mit Nullen":PRINT
4220 PRINT"und Einsen gefuellt.":PRINT:PRINT
4230 GOSUB7010
4240 PRINT"An die Stelle, wo ein Punkt erscheinen":PRINT
4250 PRINT"soll, setzt man '1', auf andere":PRINT
4260 PRINT"Stellen setzt man '0'.":PRINT:PRINT
4270 PRINT"Mach erst eine Skizze des Zeichens,":PRINT
4280 PRINT"dann arbeitet es sich schneller."
4290 GOSUB7010
4300 REM **> OPGEVEN DH EN DV <**
4310 GOSUB100
4320 VR$="Fuer welches DH zw. (5-15) : "
4330 HO=0:VE=0:GOSUB110
4340 GL$="0":GH$="9":AL$="5":AH$="15"
4350 GOSUB7210
4360 DH=VAL(AW$)
4370 VR$="Fuer welches DV zw. (5-15) : "
4380 HO=0:VE=3:GOSUB110
4390 GL$="0":GH$="9":AL$="5":AH$="15"
4400 GOSUB7210
4410 DV=VAL(AW$)
4420 HO=0:VE=5:GOSUB110
4430 PRINT"Die leere Matrix erscheint nun auf":PRINT
4440 PRINT"dem Schirm. Fuer den Cursor steht ein *":PRINT
4450 PRINT:PRINT"Viel Erfolg."
4460 GOSUB7010
4500 REM **> MATRIX OMLIJSTEN <**
4510 GOSUB100
4520 DIMKM(DH-1,DV-1)
4530 VE=0
4540 FORHO=0 TODH+1:GOSUB110
4550 PRINT"+":NEXTHO
4560 HO=DH+1
4570 FORVE=1 TODV+1:GOSUB110
4580 PRINT"+":NEXTVE
4590 VE=DV+1
4600 FORHO=DH TO0 STEP-1:GOSUB110
4610 PRINT"+":NEXTHO
4620 HO=0
4630 FORVE=DV+1 TO1 STEP-1:GOSUB110
4640 PRINT"+":NEXTVE
4650 HO=0:VE=DV+2:GOSUB110
4660 PRINT"Gebe '1' oder '0' ein.":PRINT
4670 PRINT"Korrigieren mit der Korrekturtaste."
4700 REM **> MATRIX INVULLEN <**
4710 FORVE=1 TODV
4720 FORHO=1 TODH
4730 GOSUB110:PRINT"*";
4740 GOSUB7110
4750 IF(IN=48)OR(IN=49)THEN4780
4760 IFIN=127 THEN GOSUB6010
4770 GOTO4730
4780 GOSUB110:PRINTCHR$(IN);
4790 IF(HO=DH)AND(VE=DV)THEN GOSUB6110
4800 NEXTHO
4810 NEXTVE
4820 HO=0:VE=DV+2:GOSUB110
4830 PRINT"Eine Augenblick uld a.u.b.":PRINT
4840 PRINT"Fuelle gerade KM(DH-1,DV-1). "
5000 REM **> ARRAY VULLEN <**
5010 FORI=0 TODV-1
5020 FORJ=0 TODH-1
5030 HO=1+J:VE=1+I
5040 GOSUB220
5050 KM(J,I)=IN-48
5060 NEXTJ
5070 NEXTI
5100 REM **> KARAKTER OP HET TEKST SCHERM <**
5110 GOSUB100
5120 FORI=0 TODV-1
5130 FORJ=0 TODH-1
5140 A=KM(J,I)
5150 IFA=0 THENKR$=" "
5160 IFA=1 THENKR$="*"
5170 HO=1+J:VE=1+I
5180 GOSUB110
5190 PRINTKR$
5200 NEXTJ
5210 PRINT
5220 NEXTI
5240 HO=0:VE=DV+2:GOSUB110
5250 PRINT"So sieht das Zeichen aus.";
5260 GOSUB7010:GOSUB110
5280 PRINT"Soll es auf den Drucker (J/N) ?";
5290 GOSUB7110
5300 IF(IN<>13)AND(IN<>74)THEN5320
5310 GOSUB6310:GOSUB6410
5320 GOSUB110
5330 PRINT"Nun kommt dies Zeichen auf den GRAFIK-":PRINT
5340 PRINT"Schirm."
5350 GOSUB7010
5360 GOSUB600:CN=0
5370 H=.2:V=.2:GOSUB5670
5380 GOSUB7610
5390 GOSUB600:GOSUB100
5400 HO=0:VE=6:GOSUB110
5410 PRINT"Soll der ganze Schirm mit":PRINT
5420 PRINT"dem Zeichen gefuellt werden (J/N) ?":PRINT
5430 GOSUB7110
5440 IF(IN=13)OR(IN=74)THEN5480
5450 PRINT"Vielen Dank fuer das Interesse !!!!"
5460 GOSUB7010
5470 GOTO1000:REM >> OPNIEUW STARTEN VOOR ARRAY
5480 PRINT"Es wird einige Zeit dauern, da":PRINT
5490 GOSUB7010
5500 PRINT"ich eine Weile zum Ausdruck":PRINT
5510 PRINT"des Zeichens benoetige.":PRINT
5520 PRINT"Unterbrechen mit d. S-Taste."
5530 GOSUB7010
5540 GOSUB600
5550 FORV=.2/VG TO1-(DV-1)/VG STEPDV/VG
5560 FORH=.2/HG TO1-(DH-1)/HG STEPDH/HG
5570 GOSUB200:IF(IN$="S")OR(IN$="s")THEN5610
5580 GOSUB5670
5590 NEXTH
5600 NEXTV
5610 GOSUB7610:GOSUB600
5620 GOSUB100
5630 PRINT:PRINT:PRINT
5640 GOTO5450:REM >> NAAR EINDE ONDERDEEL
5650 REM
5660 REM **> KARAKTER OP GRAFISCH SCHERM <**
5670 FORI=0 TODV-1
5680 FORJ=0 TODH-1
5690 A=KM(J,I)
5700 IFA=1 THENCN=0
5710 IFA=0 THEN5740
5720 HO=H+J/HG:VE=V+I/VG
5730 GOSUB620
5740 NEXTJ
5750 NEXTI
5760 RETURN
6000 REM ***> VERBETEREN <***
6010 GOSUB110:PRINT" "
6020 IF(HO=1)AND(VE=1)THENRETURN
6030 IFHO=1 THEN6060
6040 HO=HO-1
6050 RETURN
6060 HO=DH
6070 VE=VE-1
6080 RETURN
6100 REM ***> LAATSTE DOT <***
6110 HT=HO:VT=VE
6120 HO=0:VE=23:GOSUB110
6130 PRINT"Ist der letzte Punkt richtig (J/N) ? ";
6140 GOSUB7110
6150 IF(IN=13)OR(IN=74)THEN6190
6160 GOSUB110:PRINT" ";
6170 HO=HT:VE=VT:GOSUB6040
6180 RETURN
6190 GOSUB7010
6200 HO=HT:VE=VT
6210 RETURN
6300 REM **> VRAGEN OM SPATIES <**
6310 GOSUB100
6320 PRINT"Wieviele Lehrzeichen sollen am":PRINT
6330 PRINT"linken Rand stehen ";:INPUTSL
6340 SP$="":IFSL=0 THEN6380
6350 FORI=1 TOSL
6360 SP$=SP$+" "
6370 NEXTI
6380 VE=6:GOSUB110
6390 RETURN
6400 REM **> KARAKTER NAAR PRINTER <**
6410 A$=""
6420 FORI=0 TODV-1
6430 FORJ=0 TODH-1
6440 A=KM(J,I)
6450 IFA=0 THENKR$=" "
6460 IFA=1 THENKR$="*"
6470 A$=A$+KR$
6480 IFJ<>DH-1 THEN6510
6490 SR$=SP$+A$
6500 GOSUB350:GOSUB360:A$=""
6510 NEXTJ
6520 NEXTI
6530 GOSUB7010
6540 RETURN
7000 REM *****> SPATIEBALK <*****
7010 GOSUB120:VI=VE
7020 VE=23:HO=0:GOSUB110
7030 PRINT" ****> Druecke SPACE <****";
7040 GOSUB7110:IFIN<>32 THEN7040
7050 VE=23:HO=0:GOSUB110
7060 PRINT" ";
7070 VE=VI:GOSUB110
7080 RETURN
7100 REM **> INPUT MET LEGE BUFFER <**
7110 GOSUB200:IFIN$<>"" THEN7110
7120 GOSUB210
7130 RETURN
7200 REM **> INPUT GETAL <**
7210 HI=HO:VI=VE:AL=VAL(AL$):AH=VAL(AH$)
7220 AW$=""
7230 PRINTVR$;
7240 GOSUB7110
7250 IF(AW$="")AND((IN=13)OR(IN=127))THEN7240
7260 IFIN=127 THEN7360
7270 IFIN=13 THEN7340
7280 IF(IN$>=GL$)AND(IN$<=GH$)THEN7300
7290 GOTO7240
7300 AW$=AW$+IN$:AW=VAL(AW$)
7310 HO=LEN(VR$):GOSUB110:PRINTAW$;
7320 IFLEN(AW$)>4 THEN7400
7330 GOTO7240
7340 IFNOT((AW>=AL)AND(AW<=AH))THEN7400
7350 RETURN
7360 L=LEN(AW$):AW$=LEFT$(AW$,L-1)
7370 HO=LEN(VR$+AW$):GOSUB110:PRINT" ";
7380 AW=VAL(AW$)
7390 GOTO7240
7400 GOSUB7010
7410 HO=HI:VE=VI:GOSUB110:GOSUB7480
7420 SR=VAL(AW$):GOSUB300
7430 HO=HI:VE=VI:GOSUB110
7440 PRINTSR$;" ist nicht erlaubt!";
7450 GOSUB7010
7460 HO=HI:VE=VI:GOSUB110:GOTO7220
7470 RETURN
7480 FORI=1 TOLEN(VR$+AW$)
7490 PRINT" ";
7500 NEXTI
7510 RETURN
7600 REM ****> SPATIEBALK GRAF <****
7610 CI=CN:HI=HO:VI=VE
7620 HO=0:VE=23*.04
7630 SR$=">>>> SPACE !!!! >>>>"
7640 CN=0:GOSUB650
7650 GOSUB7110
7660 IFIN<>32 THEN7650
7670 CN=1:GOSUB650
7680 CN=CI:HO=HI:VE=VI
7690 RETURN
30000 REM********************************
30010 REM* KARAKTERS OP GRAFISCH SCHERM *
30020 REM* *
30030 REM* EEN DOE EN TEST PROGRAMMA *
30040 REM* *
30050 REM* VAN *
30060 REM* *
32000 REM* J.WIELES *
32010 REM* HOOFDWAL 68 *
32020 REM* 4207 EE GORINCHEM *
32030 REM* *
32040 REM* FEBRUARI 1989 *
32050 REM* *
32060 REM********************************
32070 REM
32080 REM TROS-RADIO DD 890607
32090 REM
32100 REM Uebersetzt von
32110 REM Ronald Knak
32120 REM Dr.-H.-Wolf-Str.1
32130 REM Schwerin
32140 REM 2 7 5 8
32150 REM am 3.11.90
32160 REM -------------------------------------
32170 REM Erstausstrahlung: Deutschlandsender Kultur
32180 REM-spezial 910626