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.
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 :)