100 REM DEMOPROGRAMM FUER RELATIVE DATEIEN 110 REM FUER ALLE COMMODORE 8-BIT COMPUTER 120 REM NIKOLAUS HEUSLER, ZWENGAUERWEG 18, 8000 MUENCHEN 71 130 REM NH-040291-ARR M&T 01.92 64'ER SONDERHEFT 140 : 150 REM ** VORSPIEL 160 : 170 OPEN15,8,15,"I":REM FEHLERKANAL 180 NN$="NH'S REL-DEMO":REM FILENAME 190 OPEN1,8,2,"0:"+NN$:REM DATEI SCHON VORHANDEN ? 200 PRINT"[147]":REM BILDSCHIRM LOESCHEN 210 INPUT#15,E,E$,E1,E2:REM FEHLER ? 220 IFE=0THEN410:REM DATEI BESTEHT SCHON 230 CLOSE1 240 IFE<>62THEN1620:REM ANDERER FEHLER 250 : 260 REM ** DATEI ANLEGEN 270 : 280 PRINT:PRINT"DATEI WIRD ANGELEGT 290 [159]1,8,2,"0:"[170]NN$[170]",L,"[170][199](33):[143] REL-FILE ANLEGEN, SATZLAENGE 33 300 [132]15,E,E$,E1,E2 310 [139]E[179][177]0[167]1620 320 [152]15,"P"[170][199](98)[170][199](10)[170][199](0)[170][199](1):[143] SEK.ADR 98, DAT.SATZ 10 330 [132]15,E,E$,E1,E2 340 [139]E[179][177]50[167]1680 350 [152]1,[199](255);:[143] DATEI FREIGEBEN 360 [132]15,E,E$,E1,E2 370 [160]1 380 [139]E[179][177]0[167]1620 390 [159]1,8,2,"0:"[170]NN$ 400 [137]450 410 [153]:[153]"DATEI EXISTIERT SCHON! 420 : 430 REM ** HAUPTMENUE 440 : 450 PRINT:PRINT" [1] ALLE EINTRAEGE LESEN 460 [153]" [2] EINEN EINTRAG LESEN 470 PRINT" [3] EINTRAG SCHREIBEN 480 [153]" [4] EINTRAG LOESCHEN 490 PRINT" [5] DATEI LOESCHEN 500 [153]" [6] SCHLUSS DAMIT! 510 PRINT:INPUT"1 BIS 6 ";X:PRINT 520 ONXGOTO570,810,870,1270,1470,1210 530 GOTO450 540 : 550 REM ** ALLE EINTRAEGE LESEN 560 : 570 R=0:O=0:REM O=0: FLAG ALLES LESEN 580 R=R+1:REM R=RECORD-NUMMER, F=FELDNUMMER 590 : 600 REM ** LESEROUTINE 610 : 620 F=0:X=0:H=INT(R/256):L=R-H*256:REM HIGH/LOWBYTE 630 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1):REM RECORD ANFAHREN 640 INPUT#15,E,E$,E1,E2 650 IFE=50ORO=2THEN450:REM RECORD BESTEHT NICHT 660 O=O*(O+1):IFE<>0THEN1620 670 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1):REM RECORD NOCHMAL ANFAHREN 680 INPUT#15,E,E$,E1,E2 690 IFE=50THEN450:REM RECORD BESTEHT NICHT 700 IFE<>0THEN1620 710 INPUT#1,X$:SW=ST:REM STATUS MERKEN 720 IFX$=CHR$(255)THENPRINT"EINTRAG"R"IST LEER":GOTO580 730 IFF=0THENPRINT"EINTRAG"R":" 740 F=F+1:IFSW=0THENX=1 750 PRINT" FELD"F":"X$ 760 IFSW=0THEN710 770 GOTO580 780 : 790 REM ** EINEN EINTRAG LESEN 800 : 810 INPUT"WELCHEN EINTRAG LESEN ";R 820 IFR<1ORR<>INT(R)THEN810 830 PRINT:O=1:GOTO620:REM FLAG O=1: NUR EINEN LESEN 840 : 850 REM ** EINTRAEGE SCHREIBEN 860 : 870 INPUT"BESCHREIBE EINTRAG NR.";R 880 IFR<1ORR<>INT(R)THEN870 890 H=INT(R/256):L=R-H*256:REM HIGH/LOWBYTE (EIGENTLICH UNNOETIG, DA R < 41) 900 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1) 910 INPUT#15,E,E$,E1,E2:IFE<>50ANDE<>0THEN1620 920 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1) 930 IFE=50THENPRINT:PRINT"DATENSATZ MUSS ERST GELOESCHT WERDEN!":GOTO450 940 IFE<>0THEN1620 950 PRINT:INPUT"WIE VIELE FELDER (1-3) ";N 960 IFN<1ORN>3THEN950 970 : 980 REM ** FELDER EINGEBEN 990 : 1000 A$="" 1010 PRINT:PRINT"BITTE FELDDATEN EINGEBEN! 1020 [129]J[178]1[164]N 1030 [139]N[179][177]1[167][153]"FELD"J; 1040 [133]B$ 1050 A$[178]A$[170]B$[170][199](13):[143] DATENSATZ ZUSAMMENFUEGEN 1060 [130]J 1070 A$[178][200](A$,[195](A$)[171]1):[143] LETZTES CR (CHR$(13)) ENTFERNEN 1080 [152]1,A$;:[143] UND IN DATEI SCHREIBEN 1090 [132]15,E,E$,E1,E2 1100 [139]E[179][177]0[167]1620 1110 [160]1 1120 [132]15,E,E$,E1,E2 1130 [139]E[179][177]0[167]1620 1140 [159]1,8,2,"0:"[170]NN$ 1150 [132]15,E,E$,E1,E2 1160 [139]E[179][177]0[167]1620 1170 [137]450 1180 : 1190 [143] ** ENDE 1200 : 1210 [160]1 1220 [160]15 1230 [128] 1240 : 1250 [143] ** EINTRAG LOESCHEN 1260 : 1270 [133]"LOESCHE EINTRAG NR.";R 1280 [139]R[179]1[176]R[179][177][181](R)[167]1270 1290 H[178][181](R[173]256):L[178]R[171]H[172]256:[143] HIGH/LOWBYTE 1300 [152]15,"P"[170][199](98)[170][199](L)[170][199](H)[170][199](1) 1310 [132]15,E,E$,E1,E2:[139]E[179][177]50[175]E[179][177]0[167]1620 1320 [152]15,"P"[170][199](98)[170][199](L)[170][199](H)[170][199](1) 1330 [139]E[178]50[167][153]:[153]"DATENSATZ NEU ANGELEGT! 1340 IFE<>0ANDE<>50THEN1620 1350 PRINT#1,CHR$(255);:REM LOESCHCODE IN DATEI SCHREIBEN 1360 INPUT#15,E,E$,E1,E2 1370 CLOSE1 1380 INPUT#15,E,E$,E1,E2 1390 IFE<>0THEN1620 1400 OPEN1,8,2,"0:"+NN$ 1410 INPUT#15,E,E$,E1,E2 1420 IFE<>0THEN1620 1430 GOTO450 1440 : 1450 REM ** DATEI LOESCHEN 1460 : 1470 PRINT"DATEI WIRKLICH LOESCHEN ? [J/N] 1480 [161]A$:[139]A$[178]"N"[167]450 1490 [139]A$[179][177]"J"[167]1480 1500 [160]1 1510 [152]15,"S0:"[170]NN$:[143] SCRATCH-BEFEHL 1520 [153]:[153]"DATEI WURDE GELOESCHT. 1530 PRINT:PRINT" [1] PROGRAMM NEUSTART 1540 [153]" [2] ENDE 1550 PRINT:INPUT"1 ODER 2 ";X:PRINT 1560 IFX=2THEN1210 1570 IFX=1THENRUN 1580 GOTO1550 1590 : 1600 REM ** DIAGNOSE-ROUTINE 1610 : 1620 PRINT:PRINT"VORSICHT: DISKETTENFEHLER! 1630 [153]:[153]"FEHLERNUMMER"E 1640 [153]"TEXT: "E$ 1650 [153]"TRACK"E1" SEKTOR"E2 1660 [160]1 1670 [144] 1680 [139]E[179][177]0[167]1620 1690 [153]:[153]"ABARBEITUNG NICHT KORREKT!":[137]1660