program biblioteka;
uses crt,dos;

type
  Lib_TP = record
    reg_nomer: integer;
    imja: string[20];
    familija: string[25];
    pasport_serija, pasport_nr: integer;
    cislo_knig: integer;
    cislo, mesjac, god: integer;
  end;

const
  test: lib_TP = (
    reg_nomer:12345;
    imja:'ivan';
    familija:'ivanov';
    pasport_serija: 23;
    pasport_nr:345;
    cislo_knig:2;
    cislo:12; mesjac:2; god: 2008
  );

var
  ba: Lib_TP;
  ba_fail: FILE of Lib_TP;
  dg_fail: text;
  a: byte;
  y, m, d, dow: Word;

procedure dolg;
begin
  writeln('reg_nomer:',ba.reg_nomer);
  writeln(dg_fail,ba.reg_nomer);
  writeln('imja:',ba.imja);
  writeln(dg_fail,ba.imja);
  writeln('familija:',ba.familija);
  writeln(dg_fail,ba.familija);
  writeln('pasport_serija:',ba.pasport_serija);
  writeln(dg_fail,ba.pasport_serija);
  writeln('pasport_nr:',ba.pasport_nr);
  writeln(dg_fail,ba.pasport_nr);
  writeln('cislo_knig:',ba.cislo_knig);
  writeln(dg_fail,ba.cislo_knig);
  writeln('cislo:',ba.cislo);
  write(dg_fail,ba.cislo);
  writeln('mesjac:',ba.mesjac);
  write(dg_fail,'.',ba.mesjac);
  writeln('god:',ba.god);
  write(dg_fail,'.',ba.god);
end;

Begin
  clrscr;
  writeln('Ukazite deistvie:');
  writeln('1 = dobavit zapis;');
  writeln('2 = prosmotret zadoljenosti i pomestit v file.');
  readln(a);

  assign(ba_fail,'4itatel.dat');
  {$I-} reset(ba_fail); {$I+}
  if ioResult <> 0 then rewrite(ba_fail);

  assign(dg_fail,'dolgi.dat'); rewrite(dg_fail);

  if a=1 then begin
    (*
    writeln('Vvedite reg_nomer:');
    readln(ba.reg_nomer);
    writeln('Vvedite imja:');
    readln(ba.imja);
    writeln('Vvedite familija:');
    readln(ba.familija);
    writeln('Vvedite pasport_serija:');
    readln(ba.pasport_serija);
    writeln('Vvedite pasport_nr:');
    readln(ba.pasport_nr);
    writeln('Vvedite cislo_knig:');
    readln(ba.cislo_knig);
    writeln('Vvedite cislo:');
    readln(ba.cislo);
    writeln('Vvedite mesjac:');
    readln(ba.mesjac);
    writeln('Vvedite god');
    readln(ba.god);
    *)
    reset(ba_fail);
    seek(ba_fail, filesize(ba_fail));
    write(ba_fail, test);
  end
  else
    if a=2 then begin
      writeln('Dolgi');
      GetDate(y,m,d,dow);
      reset(ba_fail);
      while not(eof(ba_fail)) do begin
        read(ba_fail,ba);
        if (ba.god<y) then dolg;
        if (ba.god=y)and(ba.mesjac<m) then dolg;
        if (ba.god=y)and(ba.mesjac=m)and(ba.cislo<d) then dolg;
      end;
      readkey;
    end
    else writeln('Vu vveli nepravelnoe 4islo');

  close(dg_fail);
  close(ba_fail);
end.