SoloCodigo
Programación General => Pascal => Mensaje iniciado por: Panteon en Martes 21 de Septiembre de 2004, 02:56
-
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
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- .matricula:=persona.matricula;
arrper
arrper- .apellidop:=persona.apellidop;
arrper- .apellidom:=persona.apellidom;
end;
for x:=1 to (filesize(datos)pp) do
writeln (arrper
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
-
Si estas manejando un archivo de texto te combiene mejor hacer esto:
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
readln(datos,arrper
readln(datos,arrper
readln(datos,arrper
inc(x);
end;
for j:=1 to (x) do
writeln (arrper[j].nombre);
readln;
end;
begin
listar;
end.
El archivo de texto supongo que es de la siguiente manera:
03060153
Fulanito
Apellido paterno
Apellido materno
02041144
Manganito
Apellido paterno
Apellido materno
-
Muchisimas gracias!! resolviste una duda que tenia jejeje gracias de nuevo