• Domingo 22 de Diciembre de 2024, 12:06

Autor Tema:  Imprimir Un Archivo  (Leído 1429 veces)

TareK

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Imprimir Un Archivo
« en: Lunes 21 de Junio de 2004, 21:51 »
0
Hola..
no se que esta mal en este procedimiento. hace que me imprima en pantalla el primer registro muchas veces, y no que vaya imprimiento el resto de los registros del archivo..

Código: Text
  1. procedure imprimirarchivo(var arch   : tarch);
  2. var
  3. fin:boolean;
  4. rarch:trarch;
  5. begin
  6.      clrscr;
  7.   if eof(arch) then
  8.      fin:=true
  9.   else
  10.   begin
  11.        fin:=false;
  12.        read(arch,rarch)
  13.   end;
  14.   while not fin do
  15.         begin
  16.         writeln(rarch.campo1,' ',rarch.campo2);
  17.         if eof(arch) then
  18.            fin:=true;
  19.         end;
  20.   writeln('Fin de Archivo');
  21. end;
  22.  
  23.  

gracias

REDD

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Imprimir Un Archivo
« Respuesta #1 en: Miércoles 7 de Julio de 2004, 02:39 »
0
lo que pasa es que dentro del ciclo tienes que leer otravez el archivo si no, la variable se queda con el primer y unico registro que leiste y el puntero del archivo se queda al principio tambien, prueba con esto:

procedure imprimirarchivo(var arch   : tarch);
var
rarch:trarch;
begin
 clrscr;
 while not eof(arch) do
       begin
         read(arch,rarch)
         writeln(rarch.campo1,' ',rarch.campo2);
       end;
 writeln('Fin de Archivo');
end;