RE: Dynamic block sizes...

In traditional file handling using Pascal, no, dynamic block sizes aren't allowed. You have to know exactly the length of the data you are going to store. This obviously precludes the use of long strings. So every string in the records should be of the form string[ x ] (x is in the range 1 to 255). There are of course other things you can't store... dynamic arrays for example.