Hace una busqueda en un archivo (seek)

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.

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

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

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

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 con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.

¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)