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