>nGFH = fopen('C:\Temp\Project2.mpp') >lcCheck=UPPER(fread(nGFH, 6000)) >fclose(nGFH) >lFound = .F. >#define C_MSP 'MICROSOFT PROJECT' >FOR i = 1 TO occurs(c_msp, lcCheck) > nFoundAt=atc(c_msp, lcCheck,i) > if "8.0" $ substr(lcCheck,nFoundAt,21) > lFound=.t. > EXIT > ENDIF >ENDFOR >return lFound >ENDIF >Ooooops, you're right about the second parameter of substr(). Upper in the second line is not needed, because atc() is case insensitive.