home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh5x / sh57a.d64 / directory-sorter (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  5KB  |  122 lines

  1. 100 REM ************************
  2. 110 REM *                      *
  3. 120 REM * DIRECTORY-SORT V1.0  *
  4. 130 REM * -------------------  *
  5. 140 REM * AUTOR:               *
  6. 150 REM * EDWIN GOEBEL         *
  7. 160 REM * SCHUETZSTR. 1        *
  8. 170 REM * 8522 HERZOGENAURACH  *
  9. 180 REM *                      *
  10. 190 REM ************************
  11. 200 GOTO430
  12. 210 REM *******************************
  13. 220 REM  UNTERROUTINEN
  14. 230 REM *******************************
  15. 240 INPUT#1,F1,F$,F2,F3:IFF1=0THENRETURN
  16. 250 PRINT"[159]"F1;F$,F2;F3"[144]":END:REM "[159]"=CYAN; "[144]"=SCHWARZ
  17. 260 REM -------------------------------
  18. 270 IFNO+EN>=CTHENRETURN
  19. 280 SYS53056,0,2,2,23,18:NO=NO+1
  20. 290 POKE214,23:POKE211,2:SYS58732:PRINTNA$(ZU(NO+EN-1));:RETURN
  21. 300 REM -------------------------------
  22. 310 IFNO=0THENRETURN
  23. 320 SYS53056,1,2,2,23,18:NO=NO-1
  24. 330 POKE214,2:POKE211,2:SYS58732:PRINTNA$(ZU(NO+1)):RETURN
  25. 340 REM -------------------------------
  26. 350 PRINT"[147][144]"TAB(13)"DIRECTORY-SORT"
  27. 360 PRINTTAB(12)"----------------"
  28. 370 PRINT"[159] DISKETTE EINLEGEN UND TASTE DRUECKEN"
  29. 380 GETT$:IFT$=""THEN380
  30. 390 PRINT"                                     ":RETURN
  31. 400 REM *******************************
  32. 410 REM  BEGINN DES HAUPTPROGRAMMES
  33. 420 REM *******************************
  34. 430 POKE53280,0:POKE53281,11:GOSUB350
  35. 440 OPEN1,8,15,"I":DIMAN$(145),NA$(145),RE$(145),ZU(146),SN(19)
  36. 450 FORI=1TO18:READSN(I):NEXT
  37. 460 FORI=52992TO53242:READS:POKEI,S:NEXT
  38. 470 GOSUB240:OPEN2,8,2,"#":GOSUB240
  39. 480 S=1:C=1:N$=CHR$(0):NN$=N$+N$+N$+N$+N$+N$+N$+N$+N$+N$
  40. 490 NU$=NN$+NN$+NN$:RE$(0)=NN$+N$
  41. 500 AN$(0)=CHR$(128)+CHR$(18)+CHR$(1):NA$(0)="----------------":REM TRENNSTRICH
  42. 510 REM *******************************
  43. 520 REM  EINLESEN DES DIRECTORYS
  44. 530 REM *******************************
  45. 540 PRINT#1,"U1 2 0 18"S:PRINT"[150]"S"[157] ":REM "[150]"=HELLROT
  46. 550 GET#2,T$:GET#2,S$:S=ASC(S$+N$)
  47. 560 FORBP=0TO7:PRINT#1,"B-P 2";BP*32+2
  48. 570 SYS52992,2,3,X$:AN$(C)=X$:IFLEFT$(X$,1)=N$THENNEXT:GOTO600
  49. 580 SYS52992,2,16,X$:NA$(C)=X$:SYS52992,2,11,X$:RE$(C)=X$
  50. 590 ZU(C)=C:PRINT""C"[157] ":C=C+1:NEXT
  51. 600 IFT$<>""THEN540
  52. 610 CLOSE2:POKE650,128:PRINT"[144]>[159][145]";:CP=2:NO=0:NU=0:EN=C:IFEN>23THENEN=23
  53. 620 PRINTCHR$(13)TAB(2)NA$(NU+1);:NU=NU+1:IFNU<EN-1THEN620
  54. 630 REM *******************************
  55. 640 REM  TASTATURABFRAGE
  56. 690 REM *******************************
  57. 700 GETTA$:IFTA$=""THEN700
  58. 710 IFTA$="[134]"THENIFCP>2THENCP=CP-1:SYS53056,0,2,0,23,0
  59. 720 IFTA$="[134]"THENIFCP=2THENGOSUB310
  60. 730 IFTA$="[135]"THENIFCP<ENTHENIFNO+CP<CTHENCP=CP+1:SYS53056,1,2,0,23,0
  61. 740 IFTA$="[135]"THENIFCP>=23THENGOSUB270
  62. 750 IFTA$="[133]"THEN810
  63. 760 IFTA$="[137]"THENIFC<145THENF=1:C=C+1:PRINT"[150]"C-1"[157] [159]":EN=EN+1:IFEN>23THENEN=23
  64. 770 IFTA$="[137]"THENIFF=1THENF=0:TE=0:TE$=NA$(0):GOTO840
  65. 780 IFTA$="[140]"THEN1000
  66. 790 IFTA$="[139]"THEN1090
  67. 800 GOTO700
  68. 810 TE=ZU(NO+CP-1):TE$=NA$(TE)
  69. 820 SYS53056,0,CP,2,23,18:IFC>23THENEN=EN+1:GOSUB290:EN=EN-1
  70. 830 FORI=NO+CP-2TOC-1:ZU(I+1)=ZU(I+2):NEXT
  71. 840 POKE214,CP:POKE211,19:SYS58732
  72. 850 PRINT"[163][163]"TE$:REM "[163]"=COMMODORE+"T"
  73. 860 GETTA$:IFTA$=""THEN860
  74. 870 IFTA$="[134]"THENIFCP>2THENCP=CP-1:SYS53056,0,2,19,24,37:SYS53056,0,2,0,23,0
  75. 880 IFTA$="[134]"THENIFCP=2THENGOSUB310
  76. 890 IFTA$="[135]"THENIFCP<ENTHENCP=CP+1:SYS53056,1,2,19,24,37:SYS53056,1,2,0,23,0
  77. 900 IFTA$="[135]"THENIFCP=23THENGOSUB270
  78. 910 IFTA$="[133]"THEN950
  79. 920 IFTA$="[138]"THENTE$="":C=C-1:EN=C:IFEN>23THENEN=23
  80. 930 IFTA$="[138]"THENPRINT"[150]"C-1"[157] [159]":GOTO970
  81. 940 GOTO860
  82. 950 SYS53056,1,CP,2,23,18
  83. 960 FORI=C-1TONO+CP-1STEP-1:ZU(I+1)=ZU(I):NEXT:ZU(NO+CP-1)=TE
  84. 970 POKE214,CP:POKE211,2:SYS58732
  85. 980 PRINTTE$"                   "
  86. 990 GOTO700
  87. 1000 REM ******************************
  88. 1010 REM  SCHREIBEN DES SORTIERTEN DIR.
  89. 1020 REM ******************************
  90. 1030 OPEN2,8,2,"#":T=18:FORI=0TOINT((C-2)/8):IF8*I+8>=C-1THENT=0
  91. 1040 PRINT#1,"B-P 2 0":PRINT#2,CHR$(T)CHR$(SN(I+2))
  92. 1050 FORBP=0TO7:PRINT#1,"B-P 2";BP*32+2
  93. 1060 IFBP+8*I+1>=CTHENPRINT#2,NU$;:NEXT:GOTO1080
  94. 1070 PRINT#2,AN$(ZU(BP+8*I+1))NA$(ZU(BP+8*I+1))RE$(ZU(BP+8*I+1));:NEXT
  95. 1080 PRINT#1,"U2 2 0 18"SN(I+1):PRINT"[150]"TAB(36)SN(I+1)"[157] [159]":GOSUB240:NEXT
  96. 1090 CLOSE2:GOSUB350:GOTO470
  97. 1100 REM ******************************
  98. 1110 REM  SEKTOREN DES DIRECTORY TRACKS
  99. 1120 REM ******************************
  100. 1130 DATA1,4,7,10,13,16,2,5,8,11,14,17,3,6,9,12,15,18
  101. 1140 REM ******************************
  102. 1150 REM  INPUT MASCHINEN-ROUTINE
  103. 1160 REM ******************************
  104. 1170 DATA32,253,174,32,158,183,32,30,225,32,253,174,32,158,183,138,72,32,253
  105. 1180 DATA174,32,139,176,133,73,132,74,32,163,182,104,32,117,180,160,2,185
  106. 1190 DATA97,0,145,73,136,16,248,200,32,18,225,145,98,200,196,97,208,246,32
  107. 1200 DATA204,255,96,0,0,0,0,0
  108. 1210 REM ******************************
  109. 1220 REM  SCROLL MASCHINEN-ROUTINE
  110. 1230 REM ******************************
  111. 1240 DATA32,245,207,138,72,32,245,207,224,0,176,3,76
  112. 1250 DATA72,178,224,24,176,249,134,251,32,245,207,224,0,144,240,224,39,176
  113. 1260 DATA236,134,253,32,245,207,224,25,176,227,134,252,232,138,56,229,251
  114. 1270 DATA144,218,240,216,133,250,32,245,207,224,40,176,207,228,253,144,203
  115. 1280 DATA134,254,104,170,165,172,72,165,173,72,165,174,72,165,175,72,224,0
  116. 1290 DATA208,22,166,251,198,250,240,44,32,240,233,232,189,240,236,133,172
  117. 1300 DATA181,217,32,219,207,48,236,202,240,3,76,72,178,166,252,198,250,240
  118. 1310 DATA16,32,240,233,202,189,240,236,133,172,181,217,32,219,207,48,236,164
  119. 1320 DATA254,32,240,233,32,36,234,169,32,145,209,136,196,253,16,249,76,88
  120. 1330 DATA233,41,3,13,136,2,133,173,32,224,233,164,254,177,172,145,209,177
  121. 1340 DATA174,145,243,136,196,253,16,243,96,32,253,174,76,158,183
  122.