type Tlist = record id: integer; name: array[0..63] of byte; a1: integer; a2: integer; a3: integer; a4: integer; end; var lem:integer; list:array of Tlist; f: TStream; var i:integer; begin if opendialog1.execute then begin f:=TFileStream.Create(opendialog1.filename, fmOpenRead); f.position:=8; f.Read(lem, 4); setlength(list,lem); f.Read(list, sizeof(Tlist)*lem); f.free; end;