type buffer = array[1 .. maxint] of byte; Trec = record name:string[15]; age:integer; stock:double; percent:real; { ID :Qword; } end; procedure print_rec(r: trec); begin with r do begin writeln('name = ', name); writeln('age = ', age); writeln('stock = ', stock:10:5); writeln('percent = ', percent:10:5); end; end; var f_rec: file of TRec; f_byte: file of byte; r_write, r_read: trec; i: integer; arr: buffer absolute r_read; begin assign(f_rec, 'test.rec'); assign(f_byte, 'test.rec'); rewrite(f_rec); with r_write do begin name := 'any name'; age := 22; stock := 0.2323; percent := 1.2345; end; writeln('typed file:'); print_rec(r_write); writeln; write(f_rec, r_write); close(f_rec); reset(f_byte); for i := 1 to sizeof(r_read) do read(f_byte, arr[i]); close(f_byte); writeln('file of byte:'); print_rec(r_read); end.