home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh7x
/
sh77a.d64
/
rel-demoprogramm
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
4KB
|
161 lines
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