Ayuda Pascal (problemas con archivos)
Publicado por marco (1 intervención) el 11/08/2011 22:59:13
hola gente, tengo problema al imprimir registros en pantalla desde un archivo binario, espero q alguien pueda ayudarme.... :)
el tema es asi tengo un archivo binario ya cargado por el usuario, y cuando quiero cargar los primeros 10 registros del listado en pantalla con el ste procedimiento se me tilda el programa
les dejo la parte del codigo con el que tengo conflicto..
el programa ejecuta lo mas bien, el unico inconveniente esta en este procedure, nose q pasa
procedure CargarListado(var f: FAgenda);
var
y: integer;
reg: TAgenda;
begin
y:=9; { Ubicacion del primer registro en pantalla }
if (filesize(f)<>0)then { El archivo no esta vacio }
with reg do { Muestra los contactos }
begin
seek(f,0);
while (not eof(f)) and (y<=18) do { Imprime los primeros 10 registros }
if (not Borrado) then { Se asegura que no este dado de baja }
begin
read(f,reg);
writecenter(2,11, y, red, NumReg);
writecenter(12,34, y, lightblue, Nombre);
writecenter(35,57, y, lightblue, Apellido);
writecenter(58,80, y, lightblue, NumTel);
y:=y+1;
end;
end;
else { El archivo esta vacio }
begin
writecenter(0,80, 25, green, 'NO HAY CONTACTOS PARA MOSTRAR.');
PresionarTecla;
end;
end;
------------------------------------------------------------------------
les dejo por las dudas estas partes de codigos tbn
type
TAgenda = record
NumReg : string[10];
Nombre : string[20];
Apellido : string[20];
NumTel : string[20];
Borrado : boolean;
end;
FAgenda = file of TAgenda;
-------------------------------------------------------------------------
procedure writecenter(Xmin,Xmax,y,color: byte; texto: string);
{ Escribe un texto centrado entre dos valores Xmin y Xmax }
var
x: byte;
begin
x := Xmin + ((Xmax-Xmin) div 2) - (length(texto) div 2);
textcolor(color);
gotoxy(x,y);
write(texto);
textcolor(yellow);
end;
gracias :)
el tema es asi tengo un archivo binario ya cargado por el usuario, y cuando quiero cargar los primeros 10 registros del listado en pantalla con el ste procedimiento se me tilda el programa
les dejo la parte del codigo con el que tengo conflicto..
el programa ejecuta lo mas bien, el unico inconveniente esta en este procedure, nose q pasa
procedure CargarListado(var f: FAgenda);
var
y: integer;
reg: TAgenda;
begin
y:=9; { Ubicacion del primer registro en pantalla }
if (filesize(f)<>0)then { El archivo no esta vacio }
with reg do { Muestra los contactos }
begin
seek(f,0);
while (not eof(f)) and (y<=18) do { Imprime los primeros 10 registros }
if (not Borrado) then { Se asegura que no este dado de baja }
begin
read(f,reg);
writecenter(2,11, y, red, NumReg);
writecenter(12,34, y, lightblue, Nombre);
writecenter(35,57, y, lightblue, Apellido);
writecenter(58,80, y, lightblue, NumTel);
y:=y+1;
end;
end;
else { El archivo esta vacio }
begin
writecenter(0,80, 25, green, 'NO HAY CONTACTOS PARA MOSTRAR.');
PresionarTecla;
end;
end;
------------------------------------------------------------------------
les dejo por las dudas estas partes de codigos tbn
type
TAgenda = record
NumReg : string[10];
Nombre : string[20];
Apellido : string[20];
NumTel : string[20];
Borrado : boolean;
end;
FAgenda = file of TAgenda;
-------------------------------------------------------------------------
procedure writecenter(Xmin,Xmax,y,color: byte; texto: string);
{ Escribe un texto centrado entre dos valores Xmin y Xmax }
var
x: byte;
begin
x := Xmin + ((Xmax-Xmin) div 2) - (length(texto) div 2);
textcolor(color);
gotoxy(x,y);
write(texto);
textcolor(yellow);
end;
gracias :)
Valora esta pregunta


0