TYPE Block = Array[0..511] of char; Ranfile = Record case integer of 1: (F: File of Block); 2: (Point, Mode, Block, Buffer: integer) END; Procedure Seek(Var F:Ranfile; Var X:Block; Blockno: Integer); Begin F.Block := Blockno; F.Mode := F.Mode AND 177377B; /* Read mode */ F.Point := F.Buffer+512; GET(F.F); X := F.F^ END;