CLEAR CLOSE DATABASES ALL SET TALK OFF fillSize = 0 FOR nBlockSize=1 TO 1024 STEP 0 SET BLOCKSIZE TO M.nBlockSize && M.nBlockSize ? 'BLOCKSIZE :',SET("Blocksize") nSize = SET("Blocksize") && use A SINGLE BLOCKSIZE FillMemo() PrintMemoSize("Start Memo Size") * choice a fixed random bound size upSize=INT(RAND()*m.nSize) FOR k=0 TO m.nSize replace memotest WITH SPACE(m.upSize) NEXT PrintMemoSize("Update Memo with a Fixed Size") eraseTable() * refill with a top down size FillMemo() FOR k=0 TO m.nSize replace memotest WITH SPACE(m.nSize-m.k) NEXT PrintMemoSize("Update Memo with a top down Size") eraseTable() * refill with a round bouded size FillMemo() FOR k=0 TO m.nSize replace memotest WITH SPACE(INT(RAND()*m.nSize)) NEXT PrintMemoSize("Update Memo with a random bound Size") eraseTable() * refill with a bottom up size FillMemo() FOR k=0 TO m.nSize replace memotest WITH SPACE(m.k) NEXT PrintMemoSize("Update Memo with a bottom up Size:") eraseTable() nBlockSize=2*M.nBlockSize NEXT ************************************* PROCEDURE FillMemo CREATE TABLE SYS(2023)+"\mytable" FREE (memotest M) INSERT INTO (ALIAS()) VALUES (SPACE(m.nSize)) SET COMPATIBLE on fillSize =FSIZE(FORCEEXT(DBF(),"fpt")) SET COMPATIBLE off ENDPROC PROCEDURE eraseTable USE DROP TABLE SYS(2023)+"\mytable" PROCEDURE PrintMemoSize(prefix) SET COMPATIBLE on ? m.prefix+", Memo size factor:",STR(FSIZE(FORCEEXT(DBF(),"fpt"))/m.fillSize,8,2) at 50 SET COMPATIBLE off ENDPROC