#COMPILE EXE #DIM ALL FUNCTION PBMAIN () AS LONG LOCAL fin AS LONG LOCAL fout AS LONG LOCAL dmp$ LOCAL wrd$() LOCAL idx() AS LONG LOCAL n AS LONG LOCAL i AS LONG, j AS LONG LOCAL chk AS LONG fin = FREEFILE OPEN "src.txt" FOR BINARY ACCESS READ LOCK WRITE AS fin GET$ #fin, LOF(fin), dmp$ CLOSE fin dmp$ = REMOVE$(dmp$, ANY ",;.!?") DIM wrd$(PARSECOUNT(dmp$, " ")) DIM idx(UBOUND(wrd$)) FOR i = 1 TO PARSECOUNT(dmp$, " ") FOR j = 1 TO i IF LCASE$(wrd$(j)) = LCASE$(PARSE$(dmp$, " ", i)) THEN INCR idx(j) ELSE INCR n IF n > UBOUND(wrd$) THEN REDIM PRESERVE wrd$(UBOUND(wrd$) + 100) REDIM PRESERVE idx(UBOUND(wrd$)) END IF wrd$(n) = PARSE$(dmp$, " ", i) INCR idx(n) END IF NEXT NEXT REDIM PRESERVE wrd$(n) REDIM PRESERVE idx(n) fout = FREEFILE OPEN "res.txt" FOR OUTPUT ACCESS WRITE LOCK WRITE AS fout ARRAY SORT idx(), TAGARRAY wrd$() n = 1 dmp$ = "" DO WHILE n < UBOUND(idx) chk = idx(n) DO WHILE chk = idx(n) dmp$ = dmp$ + wrd$(n) + " " INCR n LOOP PRINT# fout, dmp$ LOOP CLOSE fout MSGBOX "done" END FUNCTION