{
> I would like to start on a Program that reads a certain File.  The
> problem is that the Records are of different lenghts.  The File
> structure is as follows: One File contains the header For each Record
> which is kept in a seperate File. The header has a Word Variable which
> is the size of the Record in the other File.  It also has a Integer
> With points to the Record number in the other File.

The easiest way is to use streams.  Here's a sketch:

}

Uses
  Objects;

Var
  S : TDosStream;
  data : Array[1..1000] of Byte;   { Big enough For anything }
  Position : LongInt;              { The position of the item }
  Size : Word;                     { The size of the item }
begin
  S.init('dataFile',stOpenRead);

 { Now determine Position and Size from the other File somehow }

  S.Seek(Position);
  S.Read(data,Size);
  if S.Status <> stOK then
  begin
    Writeln('Stream error ',S.Status,' With error info ',S.ErrorInfo);
    S.Reset;
  end;
end.