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

  1. 100 REM DEMOPROGRAMM FUER RELATIVE DATEIEN
  2. 110 REM FUER ALLE COMMODORE 8-BIT COMPUTER
  3. 120 REM NIKOLAUS HEUSLER, ZWENGAUERWEG 18, 8000 MUENCHEN 71
  4. 130 REM NH-040291-ARR   M&T 01.92 64'ER SONDERHEFT
  5. 140 :
  6. 150 REM ** VORSPIEL
  7. 160 :
  8. 170 OPEN15,8,15,"I":REM FEHLERKANAL
  9. 180 NN$="NH'S REL-DEMO":REM FILENAME
  10. 190 OPEN1,8,2,"0:"+NN$:REM DATEI SCHON VORHANDEN ?
  11. 200 PRINT"[147]":REM BILDSCHIRM LOESCHEN
  12. 210 INPUT#15,E,E$,E1,E2:REM FEHLER ?
  13. 220 IFE=0THEN410:REM DATEI BESTEHT SCHON
  14. 230 CLOSE1
  15. 240 IFE<>62THEN1620:REM ANDERER FEHLER
  16. 250 :
  17. 260 REM ** DATEI ANLEGEN
  18. 270 :
  19. 280 PRINT:PRINT"DATEI WIRD ANGELEGT
  20. 290 [159]1,8,2,"0:"[170]NN$[170]",L,"[170][199](33):[143] REL-FILE ANLEGEN, SATZLAENGE 33
  21. 300 [132]15,E,E$,E1,E2
  22. 310 [139]E[179][177]0[167]1620
  23. 320 [152]15,"P"[170][199](98)[170][199](10)[170][199](0)[170][199](1):[143] SEK.ADR 98, DAT.SATZ 10
  24. 330 [132]15,E,E$,E1,E2
  25. 340 [139]E[179][177]50[167]1680
  26. 350 [152]1,[199](255);:[143] DATEI FREIGEBEN
  27. 360 [132]15,E,E$,E1,E2
  28. 370 [160]1
  29. 380 [139]E[179][177]0[167]1620
  30. 390 [159]1,8,2,"0:"[170]NN$
  31. 400 [137]450
  32. 410 [153]:[153]"DATEI EXISTIERT SCHON!
  33. 420 :
  34. 430 REM ** HAUPTMENUE
  35. 440 :
  36. 450 PRINT:PRINT" [1] ALLE EINTRAEGE LESEN
  37. 460 [153]" [2] EINEN EINTRAG LESEN
  38. 470 PRINT" [3] EINTRAG SCHREIBEN
  39. 480 [153]" [4] EINTRAG LOESCHEN
  40. 490 PRINT" [5] DATEI LOESCHEN
  41. 500 [153]" [6] SCHLUSS DAMIT!
  42. 510 PRINT:INPUT"1 BIS 6 ";X:PRINT
  43. 520 ONXGOTO570,810,870,1270,1470,1210
  44. 530 GOTO450
  45. 540 :
  46. 550 REM ** ALLE EINTRAEGE LESEN
  47. 560 :
  48. 570 R=0:O=0:REM O=0: FLAG ALLES LESEN
  49. 580 R=R+1:REM R=RECORD-NUMMER, F=FELDNUMMER
  50. 590 :
  51. 600 REM ** LESEROUTINE
  52. 610 :
  53. 620 F=0:X=0:H=INT(R/256):L=R-H*256:REM HIGH/LOWBYTE
  54. 630 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1):REM RECORD ANFAHREN
  55. 640 INPUT#15,E,E$,E1,E2
  56. 650 IFE=50ORO=2THEN450:REM RECORD BESTEHT NICHT
  57. 660 O=O*(O+1):IFE<>0THEN1620
  58. 670 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1):REM RECORD NOCHMAL ANFAHREN
  59. 680 INPUT#15,E,E$,E1,E2
  60. 690 IFE=50THEN450:REM RECORD BESTEHT NICHT
  61. 700 IFE<>0THEN1620
  62. 710 INPUT#1,X$:SW=ST:REM STATUS MERKEN
  63. 720 IFX$=CHR$(255)THENPRINT"EINTRAG"R"IST LEER":GOTO580
  64. 730 IFF=0THENPRINT"EINTRAG"R":"
  65. 740 F=F+1:IFSW=0THENX=1
  66. 750 PRINT"     FELD"F":"X$
  67. 760 IFSW=0THEN710
  68. 770 GOTO580
  69. 780 :
  70. 790 REM ** EINEN EINTRAG LESEN
  71. 800 :
  72. 810 INPUT"WELCHEN EINTRAG LESEN ";R
  73. 820 IFR<1ORR<>INT(R)THEN810
  74. 830 PRINT:O=1:GOTO620:REM FLAG O=1: NUR EINEN LESEN
  75. 840 :
  76. 850 REM ** EINTRAEGE SCHREIBEN
  77. 860 :
  78. 870 INPUT"BESCHREIBE EINTRAG NR.";R
  79. 880 IFR<1ORR<>INT(R)THEN870
  80. 890 H=INT(R/256):L=R-H*256:REM HIGH/LOWBYTE (EIGENTLICH UNNOETIG, DA R < 41)
  81. 900 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1)
  82. 910 INPUT#15,E,E$,E1,E2:IFE<>50ANDE<>0THEN1620
  83. 920 PRINT#15,"P"+CHR$(98)+CHR$(L)+CHR$(H)+CHR$(1)
  84. 930 IFE=50THENPRINT:PRINT"DATENSATZ MUSS ERST GELOESCHT WERDEN!":GOTO450
  85. 940 IFE<>0THEN1620
  86. 950 PRINT:INPUT"WIE VIELE FELDER (1-3) ";N
  87. 960 IFN<1ORN>3THEN950
  88. 970 :
  89. 980 REM ** FELDER EINGEBEN
  90. 990 :
  91. 1000 A$=""
  92. 1010 PRINT:PRINT"BITTE FELDDATEN EINGEBEN!
  93. 1020 [129]J[178]1[164]N
  94. 1030 [139]N[179][177]1[167][153]"FELD"J;
  95. 1040 [133]B$
  96. 1050 A$[178]A$[170]B$[170][199](13):[143] DATENSATZ ZUSAMMENFUEGEN
  97. 1060 [130]J
  98. 1070 A$[178][200](A$,[195](A$)[171]1):[143] LETZTES CR (CHR$(13)) ENTFERNEN
  99. 1080 [152]1,A$;:[143] UND IN DATEI SCHREIBEN
  100. 1090 [132]15,E,E$,E1,E2
  101. 1100 [139]E[179][177]0[167]1620
  102. 1110 [160]1
  103. 1120 [132]15,E,E$,E1,E2
  104. 1130 [139]E[179][177]0[167]1620
  105. 1140 [159]1,8,2,"0:"[170]NN$
  106. 1150 [132]15,E,E$,E1,E2
  107. 1160 [139]E[179][177]0[167]1620
  108. 1170 [137]450
  109. 1180 :
  110. 1190 [143] ** ENDE
  111. 1200 :
  112. 1210 [160]1
  113. 1220 [160]15
  114. 1230 [128]
  115. 1240 :
  116. 1250 [143] ** EINTRAG LOESCHEN
  117. 1260 :
  118. 1270 [133]"LOESCHE EINTRAG NR.";R
  119. 1280 [139]R[179]1[176]R[179][177][181](R)[167]1270
  120. 1290 H[178][181](R[173]256):L[178]R[171]H[172]256:[143] HIGH/LOWBYTE
  121. 1300 [152]15,"P"[170][199](98)[170][199](L)[170][199](H)[170][199](1)
  122. 1310 [132]15,E,E$,E1,E2:[139]E[179][177]50[175]E[179][177]0[167]1620
  123. 1320 [152]15,"P"[170][199](98)[170][199](L)[170][199](H)[170][199](1)
  124. 1330 [139]E[178]50[167][153]:[153]"DATENSATZ NEU ANGELEGT!
  125. 1340 IFE<>0ANDE<>50THEN1620
  126. 1350 PRINT#1,CHR$(255);:REM LOESCHCODE IN DATEI SCHREIBEN
  127. 1360 INPUT#15,E,E$,E1,E2
  128. 1370 CLOSE1
  129. 1380 INPUT#15,E,E$,E1,E2
  130. 1390 IFE<>0THEN1620
  131. 1400 OPEN1,8,2,"0:"+NN$
  132. 1410 INPUT#15,E,E$,E1,E2
  133. 1420 IFE<>0THEN1620
  134. 1430 GOTO450
  135. 1440 :
  136. 1450 REM ** DATEI LOESCHEN
  137. 1460 :
  138. 1470 PRINT"DATEI WIRKLICH LOESCHEN ? [J/N]
  139. 1480 [161]A$:[139]A$[178]"N"[167]450
  140. 1490 [139]A$[179][177]"J"[167]1480
  141. 1500 [160]1
  142. 1510 [152]15,"S0:"[170]NN$:[143] SCRATCH-BEFEHL
  143. 1520 [153]:[153]"DATEI WURDE GELOESCHT.
  144. 1530 PRINT:PRINT" [1] PROGRAMM NEUSTART
  145. 1540 [153]" [2] ENDE
  146. 1550 PRINT:INPUT"1 ODER 2 ";X:PRINT
  147. 1560 IFX=2THEN1210
  148. 1570 IFX=1THENRUN
  149. 1580 GOTO1550
  150. 1590 :
  151. 1600 REM ** DIAGNOSE-ROUTINE
  152. 1610 :
  153. 1620 PRINT:PRINT"VORSICHT: DISKETTENFEHLER!
  154. 1630 [153]:[153]"FEHLERNUMMER"E
  155. 1640 [153]"TEXT: "E$
  156. 1650 [153]"TRACK"E1" SEKTOR"E2
  157. 1660 [160]1
  158. 1670 [144]
  159. 1680 [139]E[179][177]0[167]1620
  160. 1690 [153]:[153]"ABARBEITUNG NICHT KORREKT!":[137]1660
  161.