Ejemplo de un listado del contenido de un archivo

pascal:
program listado;
uses
        crt;
type
        datosPersona = (id,Nom,dom,cid,tel);
        Regpersona = record
                 idpersona : longint;
                 Nombre    : string[30];
                 Calle     : string[25];
                 Ciudad    : string[15];
                 Telefono  : string[15]
                end;
        Archivero = file of Regpersona;

        Regcontrol = record
                idcontrol    : longint;
                idependencia : longint;
                idpersona    : longint;
                borrado      : boolean;
                end;
        ArchiveroControl = file of Regcontrol;

var
        ArchivoPersona : Archivero;
        Usuario        : RegPersona;
        ArchivoControl : ArchiveroControl;
        control        : RegControl;
        idusuario      : longint;
        idCtrl         : longint;
        resultado      : integer;
        respuesta      : char;
        lista          : array[1..100,datosPersona] of string[100];
        i              : integer;

BEGIN

        clrscr;
        {--------------------------- APERTURA DEL ARCHIVO DE PERSONAS ---------------------------}
        Assign(ArchivoPersona,'c:\personas.arg');
        {$I-}
           Reset(ArchivoPersona){Abre el flujo de datos para posteriormente ser guardado}
           Resultado:=IOresult;

        {$I-}

        if Resultado <> 0 then {El archivo no existe}
           begin
                write('EL ARCHIVO DE PERSONAS NO EXISTE');
           end
        else
           begin
                i:=1;

                while not Eof(ArchivoPersona) do
                   begin
                     Read(ArchivoPersona,Usuario);
                     str(Usuario.idpersona,lista[i,id]);
                     lista[i,nom]:=Usuario.Nombre;
                     lista[i,dom]:=Usuario.Calle;
                     lista[i,cid]:=Usuario.Ciudad;
                     lista[i,tel]:=Usuario.Telefono;
                     i:=i+1
                end;
                writeln('------id------Nombre-----------Calle-----------Ciudad------------Telefono');
                for i:=1 to 100 do
                    if (i MOD 24 <> 0) then
                        writeln(lista[i,id],'   ',lista[i,nom],'         ',lista[i,dom],'        ',lista[i,cid],'       ',lista[i,tel])
                    else
                      if length(lista[i,nom])=0 then
                         i:=100
                      ELSE
                         readkey;


        end;

        readkey;
        Close(ArchivoPersona);
END.
¿Ya le viste algún error? Dejanos tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress elimina los tags HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios.

Otro punto antes de comentar, Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

De esta manera el código sale coloreado.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el último párrafo.

Para poner los símbolos de las librerías sin que desaparezcan, debes escribir los símbolos de mayor > y menor qué < con su entidad HTML correspondiente, así como el símbolo de &

Mis Algoritmos se reserva el derecho de alterar, publicar o no los comentarios así como cambiar estas reglas de uso.

Si estas de acuerdo, adelante puedes comentar :)

P.D. No le hago tareas a nadie, mejor hagan la mía :P