-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathBASE.bc
732 lines (732 loc) · 16.8 KB
/
BASE.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
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
1000 A=300:GOTO20:REM "### Base ###"
1010 G=500:HT=HO:VT=VE:GS=0:GF=0
1020 DIMDF$(G)
1030 GOSUB14010
1040 SR$="Menue"
1050 HO=14:VE=0
1060 GOSUB110
1070 GOSUB150
1080 PRINT:PRINT:PRINT
1090 PRINT"1 - Erstellen einer Datei"
1100 PRINT"2 - Erweitern der Datei"
1110 PRINT"3 - Editieren der Datei"
1120 PRINT"4 - Anzeigen der Datei"
1130 PRINT"5 - Sortieren der Datei"
1140 PRINT"6 - Durchsuchen der Datei"
1150 PRINT"7 - Einlesen einer Datei"
1160 PRINT"8 - Abspeichern der Datei"
1180 PRINT"9 - Umbenennen eines Datenfeldes"
1190 PRINT"10 - Streichen eines Datenfeldes"
1200 PRINT"11 - Einfuegen eines Datenfeldes"
1210 PRINT
1220 PRINT"0 - Ende"
1230 PRINT:PRINT
1240 INPUT"Kennzahl eingeben ";DF
1260 DF=INT(DF)
1270 IF(DF<0)OR(DF>11)THEN1350
1280 IFDF=0 THEN950
1290 IFDF>7 THEN1330
1300 ONDF GOSUB3010,4010,12010,5010,2010,9010,11010
1310 GOSUB100
1320 GOTO1040
1330 DF=DF-7
1340 ONDF GOSUB10010,6010,7010,8010
1350 GOSUB100
1360 GOTO1040
2000 REM " Sortieren " NACH SHELL-METZNER-SORT
2010 IFGS<2 THENRETURN
2020 IFGF*GS+GF*2-1<=G THEN2170
2030 GOSUB100
2040 PRINT:PRINT:PRINT
2050 PRINT"Das in Zeile 1010 dimensionierte"
2060 PRINT
2070 PRINT"Variablenfeld ist zu klein."
2080 PRINT
2090 PRINT"Um dennoch sortieren zu koennen,"
2100 PRINT
2110 PRINT"muessten Sie einen Datensatz"
2120 PRINT
2130 PRINT"aus der Datei streichen."
2140 SD=100
2150 GOSUB450
2160 RETURN
2170 GOSUB100
2180 HO=10:VE=0:DF=1
2190 GOSUB110
2200 SR$="Sortieren"
2210 GOSUB150
2220 PRINT:PRINT:PRINT
2230 IFGF<2 THEN2370
2240 FORI=0 TOGF-1
2250 PRINTI+1;". ";DF$(I)
2260 NEXTI
2270 PRINT:PRINT
2280 PRINT"Nach welcher Bezeichnung"
2290 PRINT
2300 PRINT"soll sortiert werden ?"
2310 PRINT
2320 PRINT"( 1 -";GF;") ";
2330 INPUTDF
2340 DF=INT(DF)
2350 IF(DF<1)OR(DF>GF)THEN2010
2360 REM SORTIEREN
2370 ME=GS
2380 ME=INT(ME/2)
2390 IFME=0 THENRETURN
2400 J=1
2410 K=GS-ME
2420 I=J
2430 F=0
2440 L=I+ME
2450 SR$=DF$(I*GF+DF-1)
2460 GOSUB330
2470 E$=SR$
2480 SR$=DF$(L*GF+DF-1)
2490 GOSUB330
2500 Z$=SR$
2510 IFE$>Z$ THEN GOSUB2600
2520 IFF=1 THEN2430
2530 J=J+1
2540 IFJ>K THEN2380
2550 GOTO2420
2600 LL=GF*GS+GF
2610 FORII=I*GF TOI*GF+GF-1
2620 DF$(LL)=DF$(II)
2630 LL=LL+1
2640 NEXTII
2650 LL=L*GF
2660 FORII=I*GF TOI*GF+GF-1
2670 DF$(II)=DF$(LL)
2680 LL=LL+1
2690 NEXTII
2700 II=GF*GS+GF
2710 FORLL=L*GF TOL*GF+GF-1
2720 DF$(LL)=DF$(II)
2730 II=II+1
2740 NEXTLL
2750 I=I-1
2760 IFI>0 THENF=1
2770 RETURN
3000 REM "Anlegen des Datenfeldes"
3010 GOSUB100:GOTO3710
3020 HO=7:VE=0:GS=0
3030 SR$="Anlegen einer Datei"
3040 GOSUB110
3050 GOSUB150
3060 PRINT:PRINT
3070 PRINT"Eine Datei setzt sich aus"
3080 PRINT
3090 PRINT"mehreren Datensaetzen zusammen."
3100 PRINT
3110 PRINT"Ein Datensatz besteht wiederum"
3120 PRINT
3130 PRINT"aus mehreren Datenfeldern,"
3140 PRINT
3150 PRINT"wobei jedes Datenfeld eine"
3160 PRINT
3170 PRINT"Bezeichnung besitzt, die ueber"
3180 PRINT
3190 PRINT"die Form des Inhalts Auskunft"
3200 PRINT
3210 PRINT"gibt."
3220 PRINT
3230 PRINT"(Bsp. Vorname;Name;Adresse;...)"
3240 HO=HT-11:VE=VT
3250 GOSUB110
3260 SR$="Taste"
3270 GOSUB150
3280 GOSUB250
3290 GOSUB210
3300 GOSUB100
3310 HO=7:VE=0
3320 GOSUB110
3330 SR$="Benennung der Datenfelder"
3340 PRINT:PRINT:PRINT
3350 GF=1
3360 PRINT"Bezeichnung ";GF;".Datenfeld"
3370 PRINT
3380 INPUTDF$(GF-1)
3390 PRINT
3400 PRINT"weiteres Datenfeld (J/N) ?";
3410 GOSUB210
3420 PRINT:PRINT
3430 IFIN=78 THEN3450
3440 GF=GF+1:GOTO3360
3450 GOSUB100
3460 HO=10:VE=0
3470 GOSUB110
3480 SR$="Korrektur"
3490 GOSUB150
3500 PRINT:PRINT:PRINT
3510 FORI=0 TOGF-1
3520 PRINTI+1;". ";DF$(I)
3530 NEXTI
3540 PRINT:PRINT
3550 PRINT"Soll eine Bezeichnung"
3560 PRINT
3570 PRINT"geaendert werden (J/N) ?"
3580 PRINT
3590 GOSUB210
3600 IFIN=78 THEN3700
3610 INPUT"Nummer des Datenfeldes: ";DF
3620 PRINT:PRINT
3630 IF(DF>GF)OR(DF<1)THEN3610
3640 PRINT"alte Bezeichnung :"
3650 PRINTDF$(DF-1)
3660 PRINT
3670 PRINT"neue Bezeichnung :"
3680 INPUTDF$(DF-1)
3690 GOTO3450
3700 RETURN
3710 IFGS=0 THEN3020
3720 PRINT"Durch die Erstellung einer"
3730 PRINT
3740 PRINT"neuen Datei, wird die"
3750 PRINT
3760 PRINT"bereits bestehende zerstoert."
3770 PRINT
3780 PRINT"Wollen Sie trotzdem eine"
3790 PRINT
3800 PRINT"Datei erstellen (J/N) ?";
3810 GOSUB210
3820 IFIN<>74 THENRETURN
3830 GF=0:GS=0
3840 GOSUB100
3850 GOTO3020
4000 REM " Datei erweitern "
4010 GOSUB100:IFGF=0 THENRETURN
4020 HO=8:VE=0
4030 GOSUB110
4040 SR$="Datei erweitern"
4050 GOSUB150
4060 PRINT:PRINT:PRINT
4070 PRINT"Es sind bereits ";GS
4080 PRINT
4090 PRINT"Datensaetze vorhanden"
4100 PRINT
4110 PRINT"Ein Datensatz enthaelt"
4120 PRINT
4130 PRINT"jeweils ";GF;" Datenfelder.:"
4140 PRINT
4150 FORI=0 TOGF-1
4160 PRINTI+1;". ";DF$(I)
4170 NEXTI
4180 HO=HT-11:VE=VT
4190 GOSUB110
4200 SR$="Taste"
4210 GOSUB150
4220 GOSUB250
4230 GOSUB210
4240 GOSUB100
4250 GS=GS+1
4260 FORI=0 TOGF-1
4270 PRINTDF$(I)
4280 PRINT
4290 INPUTDF$(I+GS*GF)
4300 PRINT
4310 NEXTI
4320 PRINT:PRINT
4330 PRINT"weiterer Datensatz (J/N) ?"
4340 GOSUB210
4350 IFIN=78 THEN4370
4360 GOTO4240
4370 GOSUB100
4380 RETURN
5000 REM "Anzeigen"
5010 GOSUB100:IFGS=0 THENRETURN
5020 HO=8:VE=0
5030 GOSUB110
5040 SR$="Datei darstellen"
5050 GOSUB150
5060 PRINT:PRINT:PRINT
5070 PRINT"Die Datensaetze werden"
5080 PRINT
5090 PRINT"einzeln angezeigt."
5100 PRINT
5110 PRINT"Mit '+' und '-' kann"
5120 PRINT
5130 PRINT"vor- und rueckwaerts"
5140 PRINT
5150 PRINT"geblaettert werden."
5160 PRINT
5170 PRINT"Jede andere Taste"
5180 PRINT
5190 PRINT"fuehrt zurueck ins Menue."
5200 HO=HT-11:VE=VT
5210 GOSUB110
5220 SR$="Taste"
5230 GOSUB150
5240 GOSUB250
5250 GOSUB210
5260 MD=1
5270 GOSUB100
5280 IFMD<1 THENMD=GS:GOSUB250
5290 IFMD>GS THENMD=1:GOSUB250
5300 FORI=0 TOGF-1
5310 PRINTDF$(I)
5320 PRINT" ";DF$(I+MD*GF)
5330 NEXTI
5340 HO=HT-11:VE=VT
5350 GOSUB110
5360 SR$="+ / -"
5370 GOSUB150
5380 GOSUB210
5390 IFIN$="+" THENMD=MD+1
5400 IFIN$="-" THENMD=MD-1
5410 IF(IN$<>"+")AND(IN$<>"-")THEN5430
5420 GOTO5270
5430 GOSUB100
5440 RETURN
6000 REM "Umbenennen eines Datenfeldes"
6010 GOSUB100:IFGF=0 THENRETURN
6020 HO=5:VE=0
6030 GOSUB110
6040 SR$="Datenfeld umbenennen"
6050 GOSUB150
6060 PRINT:PRINT:PRINT:IFDF=0 THENRETURN
6070 FORI=0 TOGF-1
6080 PRINTI+1;". ";DF$(I)
6090 NEXTI
6100 PRINT:PRINT
6110 PRINT"Welches Datenfeld soll"
6120 PRINT
6130 INPUT"umbenannt werden? ";DF
6140 PRINT
6150 IF(DF<1)OR(DF>GF)THEN6010
6160 PRINT"alte Bezeichnung :"
6170 PRINT
6180 PRINTDF$(DF-1)
6190 PRINT
6200 PRINT"neue Bezeichnung :"
6210 PRINT
6220 INPUTDF$(DF-1)
6230 PRINT:PRINT
6240 PRINT"Wiederholung (J/N) ?";
6250 GOSUB250
6260 GOSUB210
6270 IFIN=78 THEN6290
6280 GOTO6010
6290 RETURN
7000 REM "Streichen eines Datenfeldes"
7010 GOSUB100
7020 IFGF=0 THENRETURN
7030 HO=8:VE=0
7040 GOSUB110
7050 SR$="Datenfeld streichen"
7060 GOSUB150
7070 PRINT:PRINT:PRINT
7080 FORI=0 TOGF-1
7090 PRINTI+1;". ";DF$(I)
7100 NEXTI
7110 PRINT:PRINT
7120 PRINT"Welches Datenfeld soll"
7130 PRINT
7140 INPUT"gestrichen werden? ";DF
7150 PRINT:PRINT
7160 IF(DF<1)OR(DF>GF)THEN7010
7170 PRINT"Sind Sie sich sicher (J/N) ?";
7180 GOSUB250
7190 GOSUB210
7200 IFIN<>74 THENRETURN
7210 REM "Streichen und Verdichten"
7220 IFGF=1 THEN7310
7230 FORI=DF-1 TO(GS+1)*GF-GS-1
7250 FORJ=I TO(GS+1)*GF-1
7260 DF$(J)=DF$(J+1)
7270 NEXTJ
7280 I=I+GF-2
7300 NEXTI
7310 GF=GF-1:IFGF=0 THENGS=0
7320 PRINT:PRINT:PRINT
7330 PRINT"Wiederholung (J/N) ?";
7340 GOSUB250
7350 GOSUB210
7360 IFIN<>74 THEN7380
7370 GOTO7010
7380 GOSUB100
7390 RETURN
8000 REM " Datenfeld einfuegen "
8010 GOSUB100:IFGF=0 THENRETURN
8020 HO=8:VE=0
8030 GOSUB110
8040 SR$="Datenfeld einfuegen"
8050 GOSUB150
8060 PRINT:PRINT:PRINT
8070 PRINT"vorhandene Datenfelder :"
8080 PRINT:PRINT
8090 FORI=0 TOGF-1
8100 PRINTI+1;". ";DF$(I)
8110 NEXTI
8120 PRINT:PRINT
8130 PRINT"Geben Sie bitte jetzt die"
8140 PRINT
8150 PRINT"Kennzahl ein, an welcher"
8160 PRINT
8170 PRINT"Stelle das Neue Datenfeld"
8180 PRINT
8190 PRINT"platziert werden soll !"
8200 PRINT
8210 PRINT" ( 1 - ";GF+1;" ) ";:INPUTDF
8230 IF(DF<1)OR(DF>GF+1)THEN8010
8240 PRINT:PRINT
8250 PRINT"Geben Sie bitte nun die"
8260 PRINT
8270 PRINT"Bezeichnung ein !"
8280 PRINT
8290 INPUTA$
8300 PRINT
8310 MD=(GF+1)*(GS+1)-1
8320 IFMD<=G THEN8490
8330 PRINT"Das dimensionierte Feld ist"
8340 PRINT
8350 PRINT"zu klein."
8360 PRINT
8370 PRINT"Die Variable g in Programm-"
8380 PRINT
8390 PRINT"zeile 1010 muss mindestens"
8400 PRINT
8410 PRINT"den Wert ";MD;" besitzen."
8420 PRINT
8430 PRINT"mit Tastendruck zureueck"
8440 PRINT
8450 PRINT"ins Menue ---"
8460 GOSUB210
8470 GOSUB100
8480 RETURN
8490 IFDF>GF THEN8530
8500 FORI=MD TOMD-(GF-DF)STEP-1
8510 DF$(I)=DF$(I-GS-1)
8520 NEXTI
8530 DF$(MD-(GF-DF)-1)=""
8540 AB=GS
8550 IFAB=0 THEN8660
8560 I=MD-(GF-DF)-2
8580 FORJ=I TOI-GF+1 STEP-1
8590 DF$(J)=DF$(J-AB)
8600 NEXTJ
8610 I=I-GF
8620 DF$(I)=""
8630 I=I-1
8640 AB=AB-1
8650 IFAB<>0 THEN8580
8660 DF$(DF-1)=A$
8670 GF=GF+1
8690 GOSUB100
8700 PRINT:PRINT:PRINT
8710 PRINT"Soll noch ein Datenfeld"
8720 PRINT
8730 PRINT"eingefuegt werden (J/N) ?"
8740 PRINT
8750 GOSUB250
8760 GOSUB210
8770 IFIN=74 THEN8010
8780 GOSUB100
8790 RETURN
9000 REM " Datei durchsuchen "
9010 GOSUB100:IFGS=0 THENRETURN
9020 HO=7:VE=0
9030 HO=7:VE=0
9040 GOSUB110
9050 SR$="Datei durchsuchen"
9060 GOSUB150
9070 PRINT:PRINT:PRINT
9080 PRINT"Es sind folgende "
9090 PRINT
9100 PRINT"Datenfelder vorhanden :"
9110 PRINT:PRINT
9120 FORI=0 TOGF-1
9130 PRINTI+1;". ";DF$(I)
9140 NEXTI
9150 PRINT:PRINT
9160 PRINT"Wonach soll gesucht werden ?"
9170 PRINT
9180 PRINT"Bitte Kennzahl eingeben ! ";
9190 INPUTDF
9200 PRINT:PRINT
9210 IF(DF<1)OR(DF>GF)THEN9010
9220 DF=INT(DF)
9230 PRINT"jetzt bitte ";DF$(DF-1);" eingeben !"
9240 PRINT:PRINT
9250 INPUTA$
9260 F=0:PRINT:PRINT:PRINT
9270 FORI=DF-1+GF TODF-1+(GF*GS)STEPGF
9290 IFA$<>DF$(I)THEN9400
9300 F=0
9310 FORJ=I-DF+1 TOI-DF+GF
9320 PRINTDF$(F)
9330 PRINT" ";DF$(J)
9340 F=F+1
9350 NEXTJ
9360 PRINT:PRINT
9370 PRINT"weiter mit Tastendruck"
9380 GOSUB210
9390 PRINT:PRINT
9400 NEXTI
9410 PRINT:PRINT
9420 IFF=0 THENPRINT"Bezeichnung nicht vorhanden"
9430 IFF THENPRINT"Fertig"
9440 PRINT:PRINT
9450 PRINT"Wiederholung (J/N) ?";
9460 GOSUB250
9470 GOSUB210
9480 IFIN=74 THEN9010
9490 GOSUB100
9500 RETURN
10000 REM " abspeichern "
10010 GOSUB100
10020 HO=8:VE=0
10030 GOSUB110
10040 SR$="Datei abspeichern"
10050 GOSUB150
10060 PRINT:PRINT:PRINT
10070 IFGS THEN10170
10080 PRINT"Es ist noch keine Datei"
10090 PRINT
10100 PRINT"vorhanden."
10110 PRINT
10120 PRINT"mit Tastendruck zurueck"
10130 PRINT
10140 PRINT"ins Menue"
10150 GOSUB210
10160 RETURN
10170 PRINT"abspeichern auf:"
10180 PRINT
10190 PRINT"Kassette = 1"
10200 PRINT
10210 PRINT"Diskette = 2"
10220 PRINT
10230 PRINT"2.Diskette = 3"
10240 PRINT
10250 PRINT"rechnersp. Speicher = 4"
10260 PRINT:PRINT
10270 GOSUB210
10280 NF=0
10290 IFIN$="1" THENNF=1
10300 IFIN$="2" THENNF=5
10310 IFIN$="3" THENNF=7
10320 IFIN$="4" THENNF=3
10330 IFNF=0 THENRETURN
10340 PRINT:PRINT
10350 INPUT"Dateiname: ";A$
10360 NF$=A$
10370 GOSUB500
10380 SR$=A$
10390 GOSUB560
10400 SR=GF
10410 GOSUB300
10420 GOSUB560
10430 SR=GS
10440 GOSUB300
10450 GOSUB560
10460 FORI=0 TOGF*GS+GF-1
10470 SR$=DF$(I)
10480 GOSUB560
10490 NEXTI
10500 GOSUB580
10510 RETURN
11000 REM " einlesen "
11010 GOSUB100
11020 HO=8:VE=0
11030 GOSUB110
11040 SR$="Datei einlesen"
11050 GOSUB150
11060 PRINT:PRINT:PRINT
11070 IFGS=0 THEN11210
11080 PRINT"Durch das Einlesen wird"
11090 PRINT
11100 PRINT"die bestehende Datei"
11110 PRINT
11120 PRINT"zerstoert."
11130 PRINT
11140 PRINT"Wollen Sie trotzdem die"
11150 PRINT
11160 PRINT"Datei einlesen (J/N) ?"
11170 GOSUB210
11180 IFIN=74 THEN11200
11190 RETURN
11200 PRINT:PRINT:PRINT
11210 PRINT"Einlesen von :"
11220 PRINT
11230 PRINT"Kassette = 1"
11240 PRINT
11250 PRINT"Diskette = 2"
11260 PRINT
11270 PRINT"2.Diskette = 3"
11280 PRINT
11290 PRINT"rechnersp. Speicher = 4"
11300 PRINT:PRINT
11310 GOSUB210
11320 NF=1
11330 IFIN$="1" THENNF=0
11340 IFIN$="2" THENNF=4
11350 IFIN$="3" THENNF=6
11360 IFIN$="4" THENNF=2
11370 IFNF=1 THENRETURN
11380 IFIN$<>"1" THENINPUT"Dateiname: ";NF$
11390 GOSUB500:GOSUB540
11400 A$=IN$
11410 GOSUB540
11420 GF=VAL(IN$)
11430 GOSUB540
11440 GS=VAL(IN$)
11450 FORI=0 TOGF*GS+GF-1
11460 GOSUB540
11470 DF$(I)=IN$
11480 NEXTI
11490 GOSUB580
11500 PRINT:PRINT"Der Dateiname lautet: ";A$
11510 SD=30
11520 GOSUB450
11530 RETURN
12000 REM " Editieren "
12010 GOSUB100
12020 HO=8:VE=0
12030 GOSUB110
12040 SR$="Datei editieren"
12050 IFGS=0 THENRETURN
12060 GOSUB150
12070 PRINT:PRINT:PRINT
12080 PRINT"Mit + und - kann geblaettert"
12090 PRINT
12100 PRINT"werden. Mit e wird editiert"
12110 PRINT
12120 PRINT"Mit jeder anderen Taste"
12130 PRINT
12140 PRINT"gelangt man zurueck ins Menue"
12150 HO=HT-11:VE=VT
12160 GOSUB110
12170 SR$="Taste"
12180 GOSUB150
12190 GOSUB250:GOSUB210
12200 DF=1
12210 GOSUB100
12220 FORI=0 TOGF-1
12230 PRINTI+1;". ";DF$(I)
12240 PRINT" ";DF$(I+DF*GF)
12250 NEXTI
12260 GOSUB120:VE=VE+1:HO=HT-15
12270 GOSUB110
12280 SR$="e / + / -"
12290 GOSUB150
12300 GOSUB210:PRINT
12310 IFIN$="e" THEN12400
12320 IFIN$="+" THENDF=DF+1
12330 IFIN$="-" THENDF=DF-1
12340 IF(IN$<>"+")AND(IN$<>"-")THENRETURN
12350 IF(DF<1)OR(DF>GS)THEN GOSUB250
12360 IFDF<1 THENDF=GS
12370 IFDF>GS THENDF=1
12380 GOTO12210
12400 PRINT"Nummer des zu aendernden"
12410 PRINT"Datenfeldes eingeben !"
12420 INPUT"0 = Datensatz streichen ";K
12430 IFK>GF THEN12210
12440 IFK=0 THEN12500
12450 PRINT"alte Bezeichnung :"
12460 PRINTDF$(K-1+GF*DF)
12470 PRINT"neue Bezeichnung :"
12480 INPUTDF$(K-1+GF*DF)
12490 GOTO12210
12500 PRINT:PRINT
12510 PRINT"Sind sie sich sicher,"
12520 PRINT
12530 PRINT"dass der gesamte Datensatz"
12540 PRINT
12550 PRINT"gestrichen werden soll (J/N) ?"
12560 GOSUB210
12570 IFIN<>74 THEN12210
12580 FORI=GF*DF TOGF*GS-1
12590 DF$(I)=DF$(I+GF)
12600 NEXTI
12610 GS=GS-1
12620 IFGS=0 THENRETURN
12630 GOTO12350
14000 REM " Vorspann "
14010 GOSUB100
14020 AB=(HT-29)/2
14030 FORI=1 TO(VT-16)/2
14040 PRINT
14050 NEXTI
14060 GOSUB120
14070 HO=AB:GOSUB110
14080 PRINT"***** ** ****** ******"
14090 VE=VE+1:GOSUB110
14100 PRINT"* * **** * * *"
14110 VE=VE+1:GOSUB110
14120 PRINT"* * ** ** * *"
14130 VE=VE+1:GOSUB110
14140 PRINT"* * * * * *"
14150 VE=VE+1:GOSUB110
14160 PRINT"* * * * * *"
14170 VE=VE+1:GOSUB110
14180 PRINT"* * * * * *"
14190 VE=VE+1:GOSUB110
14200 PRINT"***** ****** ****** ******"
14210 VE=VE+1:GOSUB110
14220 PRINT"* * * * * *"
14230 VE=VE+1:GOSUB110
14240 PRINT"* * * * * *"
14250 VE=VE+1:GOSUB110
14260 PRINT"* * * * * *"
14270 VE=VE+1:GOSUB110
14280 PRINT"* * * * * *"
14290 VE=VE+1:GOSUB110
14300 PRINT"* * * * * * *"
14310 VE=VE+1:GOSUB110
14320 PRINT"***** * * ****** ******"
14330 PRINT:PRINT
14340 A$=" "
14350 A$=A$+"### BASE ### - das universel"
14360 A$=A$+"l einsetzbare Dateiverwaltungs"
14370 A$=A$+"programm in BASICODE; programm"
14380 A$=A$+"iert von Joerg Szonntag auf ei"
14390 A$=A$+"nem commodore plus/4 "
14400 F=0:J=1
14410 GOSUB120
14420 HO=AB
14430 FORI=1 TO171
14440 GOSUB110
14450 PRINTMID$(A$,I,30)
14460 GOSUB200
14470 IFIN THEN GOSUB14560
14480 NEXTI
14490 IFF=0 THEN14430
14500 FORI=J TO1 STEP-1
14510 GOSUB110
14520 PRINTMID$(A$,I,30)
14530 NEXTI
14540 GOSUB100
14550 RETURN
14560 J=I:I=171
14570 F=1
14580 RETURN
30000 REM *****************************
30010 REM * *
30020 REM * DIE VARIABLEN A UND G *
30030 REM * ZEILE (1000 U. 1010) *
30040 REM * SIND DER GROESSE DES *
30050 REM * FREIEN SPEICHERBEREICHES *
30060 REM * ANZUPASSEN. *
30070 REM * *
30080 REM *****************************
32000 REM * *
32010 REM * BASE V1.1 *
32020 REM * *
32030 REM * PROGRAMMIERT AUF EINEM *
32040 REM * *
32050 REM * COMMODORE PLUS/4 VON *
32060 REM * *
32070 REM * JOERG SZONNTAG *
32080 REM * *
32090 REM * EINSIEDLER STR. 11 *
32100 REM * *
32110 REM * KEMTAU / ORTST. EIBENBERG *
32120 REM * *
32130 REM * 9134 SACHSEN *
32140 REM * *
32150 REM * LETZTE AENDERUNG 16.04.90 *
32160 REM * *
32170 REM *****************************
32180 REM
32190 REM Erstausstrahlung: DS-KULTUR
32200 REM-spezial 900808