!************************************************************************* ! TRKSRT.BAS - TRKANA SORT ROUTINE ! ! Sorts a *.TRK file that has already had TRKANA run on it. ! ! by Dave Heyliger - AMUS Staff !************************************************************************* MAP1 IN'FILE, S, 20 MAP1 TEMP'FILE, S, 20, "TEMP.SRT" MAP1 SORT'FILE, S, 20 MAP1 IN'STRING, S, 82 MAP1 A'D, F MAP1 ASC'DEC, S, 1 ! Ask for necessary file and sort information ! ? TAB(-1,0); TAB(5,10); INPUT "Enter the analysis file to be sorted: "; IN'FILE ? TAB(7,10); INPUT "Enter the desired output (sorted) filename: "; SORT'FILE ? TAB(9,10); INPUT "(A)ssending order or (D)ecending order: "; ASC'DEC ASC'DEC = UCS(ASC'DEC) IF ASC'DEC = "A" THEN A'D = 0 ELSE A'D = 1 ? TAB(-1,29); TAB(-1,0); ? TAB(11,29); TAB(-1,21); "Creating temporary file" : ? TAB(-1,22); ! Create a temporary file to eliminate bogus lines ! OPEN #1, IN'FILE, INPUT OPEN #2, TEMP'FILE, OUTPUT NEXT'LINE: INPUT LINE #1, IN'STRING IF EOF(1) GOTO PHASE'II ! Bogus lines are ones without tabs at start ! IF LEFT(IN'STRING,1) # CHR(9) GOTO NEXT'LINE ! Fix lines with longer dates ! IF MID(IN'STRING,2,1) = " " THEN & IN'STRING = LEFT(IN'STRING,1) + MID(IN'STRING,3,60) + " " ? #2, IN'STRING GOTO NEXT'LINE ! Now sort the temporary file ! PHASE'II: CLOSE #2 CLOSE #1 ? TAB(11,29); TAB(-1,21); "Sorting.... Please wait" : ? TAB(-1,22); OPEN #1, TEMP'FILE, INPUT OPEN #2, SORT'FILE, OUTPUT XCALL BASORT, 1,2,80,10,2,A'D,0,0,0,0,0,0 CLOSE #1 CLOSE #2 ? TAB(-1,0); TAB(-1,28); ? TAB(5,10); "Sorted results are in " SORT'FILE CHAIN ":S." + CHR(10) + "ERASE TEMP.SRT" + CHR(10) + ":R." END