T1=TIME() CLEAR SET DELETED ON lcStr = FILETOSTR('1021165156.ps') lnPOS = AT("%%Pages:",lcStr) lcPageCount = ALLTRIM(SUBSTR(lcStr, lnPOS, 12)) lnPageCount = VAL(STRTRAN(lcPageCount,'%%Pages:','')) IF lnPageCount>2 DIMENSION occoupiedrange(lnPageCount) DIMENSION unoccoupiedrange(lnPageCount) LOCAL lcFile, lcText m.lcFile = [1021165156.ps] CREATE CURSOR Dummy (PS c(254), pos i,pageno N(2)) APPEND FROM (m.lcFile) SDF SCAN IF Getwordnum(PS, Getwordcount(PS)) = [x] .OR. ; Getwordnum(PS, Getwordcount(PS)) = [y] .OR. ; Getwordnum(PS, Getwordcount(PS)) = [L] .OR. ; Getwordnum(PS, Getwordcount(PS)) = [w] m.lcText = Getwordnum(PS, Getwordcount(PS) - 1) && The second last word IF LEN(CHRTRAN(m.lcText, [1234567890], [])) = 0 && lcText contains only digits REPLACE pos WITH VAL(m.lcText) ENDIF ENDIF ENDSCAN FOR i= 1 TO lnPageCount CURTEXT='%%Page: '+ALLTRIM(STR(i))+' '+ALLTRIM(STR(i)) NeXTTEXT='%%Page: '+ALLTRIM(STR(i+1))+" "+ALLTRIM(STR(i+1)) *DELETE FROM dummy WHERE ps like "%(of%" AND pageno>1 *DELETE FROM dummy WHERE ps like "%(Page%" AND pageno>1 *DELETE FROM DUMMY where Ps LIKE '%BHARAT SANCHAR%' AND Pageno>1 LOCATE FOR ALLTRIM(PS)=CURTEXT SCAN WHILE ALLTRIM(PS)<>NeXTTEXT OR EOF()=.T. REPLACE pageno WITH i ENDSCAN SELECT MIN(pos) FROM Dummy WHERE pageno=i AND pos>20 INTO ARRAY X SELECT MAX(pos) FROM Dummy WHERE pageno=i INTO ARRAY Y STORE Y-X+1 TO occoupiedrange(i) STORE (X) TO unoccoupiedrange(i) STORE (X-20) TO unoccoupiedrange(i) ENDFOR FOR i=2 TO (lnPageCount-1) BLANK=unoccoupiedrange(i) Filled=occoupiedrange(i+1) DO WHILE BLANK>=Filled NeXTTEXT='%%Page: '+ALLTRIM(STR(i+1))+" "+ALLTRIM(STR(i+1)) LOCATE FOR PS=NeXTTEXT SKIP-1 REPLACE PS WITH NeXTTEXT SKIP Prefixmul= ALLTRIM(STR((occoupiedrange(i)/68.7),18,2)) REPLACE PS WITH '0 -72 &Prefixmul mul translate' WAIT WINDOW i Filled=Filled+occoupiedrange(i+1) WAIT WINDOW i i=i+1 && <--- a problem ENDDO ENDFOR ENDIF SELECT Dummy SET TEXTMERGE ON SET TEXTMERGE TO myfile.PS NOSHOW SCAN \\ << tRIM(pS) >> \ ENDSCAN SET TEXTMERGE TO SET TEXTMERGE OFF T2=TIME() WAIT WINDOW T2 WAIT WINDOW T1