Programación General > Pascal

 Re: Ayuda con un procedimiento

(1/1)

Panteon:
Tengo un problema ocn un prodecimiento el cual se supone que debe de pasar todo lo que tengo guardado en un archivo de acceso directo a un array

aquí está el procedimeinto

--- Citar ---procedure listar;
var
cont,x,j:integer;
begin
clrscr;
     assign(datos, 'alumnos.txt');
     reset(datos);
     seek (datos,0);
     for x:=1 to (filesize(datos)) do
         begin
             read (datos, persona);
             arrper[x].matricula:=persona.matricula;
             arrper[x].nombre:=persona.nombre;
             arrper[x].apellidop:=persona.apellidop;
             arrper[x].apellidom:=persona.apellidom;
          end;

     for x:=1 to (filesize(datos)pp) do
     writeln (arrper[x].nombre);

--- Fin de la cita ---

el problema es que cuando los despliego solo me  imprime el ultimo  de los alumnos en el archivo directo. y la verdad no encuentro porque no funciona...espero que alguie me pueda ayudar

Gracias

REDD:
Si estas manejando un archivo de texto te combiene mejor hacer esto:


--- Citar ---uses crt;
type
  reg=record
    matricula:string;
    nombre:string;
    apellidop:string;
    apellidom:string;
  end;

var
datos:text;
arrper:array[1..50]of reg;

procedure listar;
var
cont,x,j:integer;
begin
clrscr;
    assign(datos, 'alumnos.txt');
    reset(datos);
    x:=1;
    while not(seekeof(datos)) do
        begin
            readln(datos,arrper[x].matricula);
            readln(datos,arrper[x].nombre);
            readln(datos,arrper[x].apellidop);
            readln(datos,arrper[x].apellidom);
            inc(x);
         end;

    for j:=1 to (x) do
      writeln (arrper[j].nombre);
    readln;
end;

begin
  listar;
end.

--- Fin de la cita ---

El archivo de texto supongo que es de la siguiente manera:

03060153
Fulanito
Apellido paterno
Apellido materno
02041144
Manganito
Apellido paterno
Apellido materno

Panteon:
Muchisimas gracias!! resolviste una duda que tenia jejeje gracias de nuevo

Navegación

[0] Índice de Mensajes

Ir a la versión completa