Hace una busqueda en un archivo (seek)

pascal:
program buscar;
uses
        crt;
type
        Direc = record
                 Nombre   : string[30];
                 Calle    : string[25];
                 Ciudad   : string[15];
                 Telefono : string[15]
                end;
        Archivo = file of Direc;
var
        Dir       : Archivo;
        Elemento  : Direc;
        Respuesta : char;
        Resultado : integer;
        Posicion  : integer;
        NomBuscar : String[30];
        Hallado   : boolean;

BEGIN
        clrscr;
        Assign(Dir,'c:/Agenda2.dat');
        {$I-}
           Reset(Dir){Abre el flujo de datos para posteriormente ser guardado}
           Resultado:=IOresult;
        {$I-}

        if Resultado <> 0 then
           Rewrite(Dir);
        Hallado:=false;
        Write('Escribe el nombre a buscar: ');
        Readln(NomBuscar);
       
        while not Eof(Dir) and not Hallado do
             begin
             Read(Dir,Elemento);
             writeln(Elemento.nombre);
             Hallado:=Elemento.Nombre = NomBuscar;
               
        end;
        if Hallado then
           begin
                posicion:=FilePos(Dir) - 1;
                clrscr;
                seek(Dir,posicion); {filesize: regresar el numero de registros}
                with Elemento do
                repeat
                     Write('Nombre  :');
                     ReadLn (Nombre);
                     Write('Calle   :');
                     ReadLn (Calle);
                     Write('Ciudad  :');
                     ReadLn (ciudad);
                     Write('Telefono:');
                     ReadLn (Telefono);
                     Write (Dir,Elemento); {Escritura de un registro}
                     WriteLn('Desea otro elemento s/n');
                     respuesta := upcase(readkey)
                until respuesta = 'N';  
       
                write ('Se encuentra en ' , posicion)
           end
        else
                write('No se encontro el registro');

        readkey;
        Close(Dir)
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