program LecturaAgenda;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, Sysutils;

type
TRegistro = record
  Nombre: String[32];
  Telefono: String[9];
end;
var
 Registro: TRegistro;
  Archivo: File of TRegistro;

begin
  AssignFile(Archivo,'agenda.dat');
  FileMode:= 0;     // Solo lectura
  {$I+}
  try
    Reset(Archivo);
    WriteLn ('Lectura de agenda.dat: ', sLineBreak);
    Repeat
      Read(Archivo, Registro);
      with Registro do
       Writeln(Nombre,' ',Telefono );
    until(EOF(Archivo));
    CloseFile(Archivo);
  except
    on E: EInOutError do
    begin
     Writeln('Ha ocurrido un error. Detalles: ' + E.ClassName+'/'+E.Message, sLineBreak);
    end;
  end;
    WriteLn (sLineBreak, 'Ejemplo acabado. Pulse Enter para finalizar.');

  {$IFDEF WINDOWS}
    ReadLn;
  {$ENDIF}
end.

