home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 4 / 64er_Magazin_Sonderheft_04_86-04_1986_Markt__Technik_de_Disk_1_of_2_Side_A.d64 / index-maker (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  66 lines

  1. 0 rem *********************************
  2. 1 rem *   index-maker - erstellt den  *
  3. 2 rem *   index zu einem beliebigen,  *
  4. 3 rem *    alphabetisch geordneten    *
  5. 4 rem * bereich einer relativen datei *
  6. 5 rem * <c> 1986 bei michael nickles  *
  7. 6 rem *********************************
  8. 10 print"[147][158]index-maker[146]"
  9. 20 dim m%(26) : rem index-tabelle
  10. 30 print"bitte geben sie den namen der relativen
  11. 40 [153]"datei an, von der ein index erstellt
  12. 50 print"werden soll!"
  13. 60 poke198,0:input"";d$
  14. 70 open1,8,3,d$:open15,8,15:rem datei oeffnen
  15. 80 print"bitte geben sie den bereich der datei an";
  16. 90 print"von dem der index erstellt werden soll!"
  17. 100 poke198,0:input"anfang";an
  18. 110 poke198,0:input"ende  ";en
  19. 120 sa=an:gosub9000:ifa=50thenprint"anfangsatz existiert nicht!":goto100
  20. 130 sa=en:gosub9000:ifa=50thenprint"endsatz existiert nicht!":goto100
  21. 140 ifan>enthenprint"unsinn!":goto100
  22. 1000 rem index-erstellen -------------------------------------------------------
  23. 1001 :
  24. 1005 print"bitte warten !"
  25. 1010 sa=an:gosub9000
  26. 1020 iz=0
  27. 1030 forsa=antoen
  28. 1035 :
  29. 1040 : gosub9100:printsa,a$
  30. 1050 : ifm%(asc(left$(a$,1))-64)=0thenm%(asc(left$(a$,1))-64)=sa
  31. 1080 :
  32. 1100 nextsa
  33. 2000 rem index ausgeben --------------------------------------------------------
  34. 2001 :
  35. 2010 print"[147]index-ausgabe:"
  36. 2020 print"ausgabe auf bildschirm <1>
  37. 2030 [153]"als seq-file auf disk  <2>
  38. 2040 poke198,0
  39. 2050 geti$:ifi$<>"1"andi$<>"2"then2050
  40. 2060 ifi$="1"then2100
  41. 2070 ifi$="2"then2200
  42. 2100 rem ausgabe auf bildschirm
  43. 2101 :
  44. 2110 print"[147]"
  45. 2120 fori=1to13:printchr$(i+64)"="m%(i),chr$(i+13+64)"="m%(i+13):nexti
  46. 2130 end
  47. 2200 rem m%(1)-m%(26) als seqfile speichern
  48. 2201 :
  49. 2210 poke198,0:input"filename ";i$:i$=i$+",s,w"
  50. 2220 open2,8,2,i$
  51. 2230 fori=1to26
  52. 2240 :print#2,m%(i)
  53. 2250 nexti:close2
  54. 2260 end
  55. 9000 rem zeiger positionieren --------------------------------------------------
  56. 9001 :
  57. 9010 hb%=sa/256:lb%=sa-hb%*256
  58. 9020 print#15,"p";chr$(3);chr$(lb%);chr$(hb%);chr$(1)
  59. 9030 input#15,a:ifa=50thenprint"satznummer zu hoch"
  60. 9040 return
  61. 9100 rem satz lesen ------------------------------------------------------------
  62. 9101 :
  63. 9110 ifa=50thenreturn
  64. 9120 input#1,a$
  65. 9130 return
  66.