Memo File Structure (.FPT)

Memo files contain one header record and any number of block structures. The header record contains a pointer to the next free block and the size of the block in bytes. The size is determined by the SET BLOCKSIZE command when the file is created. The header record starts at file position zero and occupies 512 bytes. The SET BLOCKSIZE TO 0 command sets the block size width to 1.

Following the header record are the blocks that contain a block header and the text of the memo. The table file contains block numbers that are used to reference the memo blocks. The position of the block in the memo file is determined by multiplying the block number by the block size (found in the memo file header record). All memo blocks start at even block boundary addresses. A memo block can occupy more than one consecutive block.

Memo Header Record

Byte offset Description
00 – 03 Location of next free block1
04 – 05 Unused
06 – 07 Block size (bytes per block)1
08 – 511 Unused

1 Integers stored with the most significant byte first.   

Memo Block Header and Memo Text

Byte offset Description
00 – 03 Block signature 1 (indicates the type of data in the block)
0 – picture (picture field type)
1 – text (memo field type)
04 – 07 Length 1 of memo (in bytes)
08 – n Memo text (n = length)

1 Integers stored with the most significant byte first.   

See Also

Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx) | Table Structures of Table Files (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx) | SET BLOCKSIZE | Index File Structure (.idx) | Compact Index File Structure (.idx) | Compound Index File Structure (.cdx) | Macro File Format (.fky) | File Extensions and File Types | Memo File Structure (.FPT)