* DUP.PRG written by Michael MacDonald 09/09/90 Modified 2/26/91 * Compatible with ROBOCOMM ver 3.x * SET TALK OFF SET CURSOR OFF CLEAR ver=2 IF FILE("new30.dbf") ver=3 ENDIF @ 1,22 SAY "DUP v1.1 by Michael MacDonald (c)1991" @ 2,5 SAY "A program to delete duplicate filenames from ROBOCOMM's new files list" IF ver=2 IF ! FILE("newfiles.dbf") @ 4,5 SAY "Can't find NEWFILES.DBF" ? ? SET CURSOR ON QUIT ELSE @ 6,5 SAY "Opening NEWFILES.DBF" USE newfiles INDEX files ENDIF ENDIF IF ver=3 @ 6,5 SAY "Opening NEW30.DBF" USE new30 INDEX files ENDIF msize=RECCOUNT() p=0 num=0 count=0 crlf=CHR(13) + CHR(10) line1=" FILES MARKED AS DELETED"+crlf line2="쳐컴컴컴컴컴 DUPS 컴컴컴컴컴컴컴컴� "+DTOC(DATE())+" 쳐컴컴컴컴컴컴� DUPS 컴컴컴컴컴컴캑"+crlf @ 4,5 SAY "같같같같같같같같같같같같같같같같같같같같같같같같같같같같같같같같같같같" @ 7,5 SAY "Sorting on index FILES.NTX" @ 8,5 SAY "Looking for duplicates" DO WHILE .NOT. EOF() num=num+1 line=INT((num/msize)*70) IF line>0 @ 4,4+line SAY "�" ENDIF mfile=file_name SKIP IF file_name=mfile p=1 @ 9,5 SAY "Deleting -->" @ 9,18 SAY mfile DELETE REPLACE TAG WITH .T. count=count+1 IF count<2 IF ! FILE("DELETED.FIL") handle = FCREATE("DELETED.FIL") FWRITE(handle,crlf) FWRITE(handle,line1) FWRITE(handle,crlf) FWRITE(handle,line2) FWRITE(handle,crlf) ELSE handle = FOPEN("DELETED.FIL",2) FSEEK(handle,0,2) FWRITE(handle,crlf) FWRITE(handle,line2) FWRITE(handle,crlf) ENDIF ENDIF buffer = mfile +" "+ file_date+" "+id+" "+ DESC FWRITE(handle,buffer) IF ver=2 IF ! EMPTY(edesc) && <컴컴컴컴컴컴컴컴컴컴컴컴컴� FOR x=1 TO MLCOUNT(edesc,45,5,.F.) && � FWRITE(handle,crlf+SPACE(33)+; && This code thanks to the � � MEMOLINE(edesc,45,x)) && � IF x > 4 && generosity of ROBOCOMM's � EXIT && � ENDIF && author, Mr Dan Parsons. � � NEXT x && � ENDIF && <컴컴컴컴컴컴컴컴컴컴컴컴컴� ENDIF FWRITE(handle,crlf) ENDIF ENDDO IF count>0 IF ver=2 @ 9+p,5 SAY "Tagging deleted files" INDEX ON IF(TAG,"Y",id)+file_name TO bbs p=p+1 ENDIF IF ver=3 @ 9+p,5 SAY "Tagging deleted files" INDEX ON IF(TAG,"Y",fstatus) TO ntag p=p+1 ENDIF FCLOSE(handle) ? " All done!" ELSE @ 9+p,5 SAY "No duplicates found" ? " All done!" ENDIF ? ? SET CURSOR ON CLOSE ALL QUIT * * EOF DUP.PRG