100 GOTO 1000 102 A$="Sorting":GOSUB2000 110 Z5=N 115 Z5=INT(Z5/2) 120 IF Z5=0 THEN 4000 125 Z2=1:Z3=N-Z5 130 Z1=Z2 135 Z4=Z1+Z5 140 IF(MID$(D$(Z1),B,(E-B)+1))<(MID$(D$(Z4),B,(E-B)+1)) THEN 165 ELSE 145 145 Z6$=D$(Z1):D$(Z1)=D$(Z4):D$(Z4)=Z6$ 150 Z1=Z1-Z5 155 IF Z1<1 THEN 165 160 GOTO135 165 Z2=Z2+1 170 IF Z2>Z3 THEN 115 175 GOTO 130 1000 MAXFILES=1:CLEAR0:CLEARFRE(X)-1000:DEFINTA-Z 1001 REM Originally by BILL WALTERS [70007,265] 1002 REM 'program found in the 'model 100's owners manual. 1003 REM modified by russ villanueva [70526,1434] 1010 FILES:A$="Which file to sort: ":GOSUB2000 1020 INPUTF$ 1030 IF NOT(INSTR(1,F$,"."))THEN F$=F$+".do" 1040 OPENF$FORINPUTAS1:LINEINPUT#1,Z$ 1042 P=INSTR(1,Z$,CHR$(9)):IF P THEN MID$(Z$,P)=CHR$(239):GOTO1042 1050 CLS 1060 PRINT@40,"----.----1----.----2----.----3----.----4";Z$ 1300 A$="Sort Position (start,end)":GOSUB2000 1310 INPUTB,E 1315 IF B=0 THEN 1300 1400 A$="Scanning":GOSUB2000 1405 ST$=TIME$ 1410 N=1 1430 N=N+1 1440 LINEINPUT#1,Z$ 1450 IF EOF(1)THENGOTO1470ELSE1430 1470 CLOSE 1480 DIMD$(N):PRINT@80,"Dim"N,"FRE$"FRE("") 1500 A$="Loading":GOSUB2000 1540 OPENF$FORINPUTAS1 1550 FORI=1TO N:LINEINPUT#1,D$(I):NEXT:CLOSE 1560 PRINT@120,"FRE$ after loading ="FRE("") 1600 GOSUB102 1645 KILL F$ 1650 OPENF$FOROUTPUTAS1 1660 FORI=1TON:PRINT#1,D$(I):NEXT:CLOSE 1700 GOTO10000 2000 PRINT@280,STRING$(39,32); 2010 PRINT@280,A$; 2020 RETURN 4000 BEEP:A$="Finished. Saving to file.":GOSUB2000:RETURN 10000 SP$=TIME$ 10001 S=VAL(RIGHT$(SP$,2))-VAL(RIGHT$(ST$,2)) 10002 M=VAL(MID$(SP$,4,2))-VAL(MID$(ST$,4,2)) 10003 H=VAL(SP$)-VAL(ST$):IFH<0THENH=H+24 10004 IFS<0THENS=S+60:M=M-1 10005 IFM<0THENM=M+60:H=H-1 10010 PRINT:PRINTUSING"Time Diff.=##:##:##";H;M;S 10020 MAXFILES=0:CLEAR256:END