>SET TALK OFF >SET SAFETY OFF >CLEAR >ltStart = DATETIME() >x=1 >CREATE CURSOR foundfiles ( cFilename c(80), nSize N(10), dMod d ) > >lcFile="archeadr.dbf" > >IF !WEXIST('mywin') > DEFINE WINDOW mywin FROM 1,1 TO 20,70 TITLE "Searching..." FONT 'Arial',8 IN SCREEN >ENDIF > >WAIT WINDOW "Searching for "+lcFile+"..." NOWAIT NOCLEAR > >ACTIVATE WINDOW mywin >RecurseFolder( "\" ) > >ltFinish=DATETIME() - ltStart > >INDEX ON nSize TAG nSize > >? "Finished." >IF WEXIST('mywin') > RELEASE WINDOWS mywin >ENDIF >*browse nowait > >WAIT CLEAR >RETURN > > >FUNCTION RecurseFolder( lcDir ) > LOCAL i,N, laFiles[1] > > *?? "." > N = ADIR( laFiles, lcDir + "*.*", "shd" ) > > FOR i = 1 TO N > IF ( LEFT( laFiles[i,1], 1 ) != '.' ) > IF ( "D" $ laFiles[i,5] ) > mydir=ALLTRIM(LOWER(lcDir+laFiles(i,1))) > IF LEN(mydir)>ROUND(WCOLS(),0) > mydir="..."+RIGHT(mydir,LEN(mydir)-(LEN(mydir)-(ROUND(WCOLS(),0)-15))) > ENDIF > ? mydir > RecurseFolder( lcDir + laFiles[i,1] + "\" ) > ELSE > IF TYPE('lafiles(i,1)')="C" .AND. UPPER(lcFile) $ UPPER(laFiles(i,1)) > INSERT INTO foundfiles ; > VALUES( lcDir + laFiles[i,1], laFiles[i,2], laFiles[i,3] ) > ENDIF > ENDIF > ENDIF > ENDFOR > RETURN >