falla codigo??
Publicado por Pablo (3 intervenciones) el 03/06/2008 18:32:32
Hola a todos!! Estoy haciendo un programita de envio de postales. Tengo que dar el alta a los nuevos receptores y ahi extender el archivo receptores.dat con las nuevas altas. Hice el codigo y cuando compilo logro crear el archivo de altas pero cuadno quiero pasarlas a receptores.dat no las pasa sino que pasa en blanco (el archivo receptores.dat aumenta su tamaño pero solo se agregan lineas en blanco). Si alguien me puede dar una mano y decirme en q parte del codigo falla se los agradeceria.
CODIGO:
program Untitled;
type
Ts30 = string[30];
Ts9 = string[9];
Tvector = Array [1..3] of char;
TregReceptor = Record
ApellidoNombre: Ts30;
Mail: Ts30;
Pais: Ts9;
Acontecimiento: Tvector;
End;
TarchReceptores = file of TregReceptor;
Procedure CREARARCHALTAS (Var archout: TarchReceptores);
Begin
Assign (archout,"c:Dev-Pas uevorec.dat");
Rewrite (archout);
End;
Procedure ALTAS (Var archout: TarchReceptores; Var recout: TregReceptor);
Begin
Writeln ("Ingrese Nombre y Apellido");
Readln (recout.apellidonombre);
while recout.apellidonombre<>"" do
begin
Writeln ("Mail");
Readln (recout.mail);
Writeln ("Pais de Residencia");
Readln (recout.pais);
Writeln ("Si desea tarjeta de Navidad sin animacion presione A, si desea con animacion presione D");
Readln (recout.acontecimiento[1]);
Writeln ("Si desea tarjeta de San Valentin sin animacion presione A, si desea con animacion D");
Readln (recout.acontecimiento[2]);
Writeln ("Si desea tarjeta de Año Nuevo sin animacion presione A, si desea con animacion D");
Readln (recout.acontecimiento[3]);
Write (archout, recout);
Writeln ("Ingrese Nombre y Apellido");
Readln (recout.apellidonombre);
end;
end;
Procedure ABRIRECEPTORES (Var archrec: Tarchreceptores);
Begin
Assign (archrec, "c:Dev-Pas eceptores.dat");
Reset (archrec);
End;
Procedure EXTENDERRECEPTORES (Var archout, archrec: TarchReceptores; Var rec, recout: TregReceptor; Var n:longint);
Begin
seek (archout, 0);
n:= filesize (archrec);
seek (archrec,n);
read (archout,recout);
write (archrec, rec);
end;
Procedure LISTARRECEPTORES (Var archrec: TarchReceptores; Var rec: TregReceptor; Var n:longint);
Begin
seek (archrec, 0);
while not eof (archrec) do
Begin
read (archrec, rec);
Writeln (rec.apellidonombre:30);
Writeln (rec.mail:30);
Writeln (rec.pais:9);
Writeln (rec.acontecimiento[1]);
Writeln (rec.acontecimiento[2]);
Writeln (rec.acontecimiento[3]);
End;
End;
Procedure CERRAR (Var archrec, archout: TarchReceptores);
Begin
Close (archrec);
Close (archout);
end;
Var
archout: Tarchreceptores;
archrec: TarchReceptores;
rec: TregReceptor;
recout: TregReceptor;
n:longint;
Begin
CREARARCHALTAS (archout);
ALTAS (archout, recout);
ABRIRECEPTORES (archrec);
EXTENDERRECEPTORES (archout, archrec, rec, recout, n);
LISTARRECEPTORES (archrec, rec, n);
CERRAR (archrec, archout);
End.
CODIGO:
program Untitled;
type
Ts30 = string[30];
Ts9 = string[9];
Tvector = Array [1..3] of char;
TregReceptor = Record
ApellidoNombre: Ts30;
Mail: Ts30;
Pais: Ts9;
Acontecimiento: Tvector;
End;
TarchReceptores = file of TregReceptor;
Procedure CREARARCHALTAS (Var archout: TarchReceptores);
Begin
Assign (archout,"c:Dev-Pas uevorec.dat");
Rewrite (archout);
End;
Procedure ALTAS (Var archout: TarchReceptores; Var recout: TregReceptor);
Begin
Writeln ("Ingrese Nombre y Apellido");
Readln (recout.apellidonombre);
while recout.apellidonombre<>"" do
begin
Writeln ("Mail");
Readln (recout.mail);
Writeln ("Pais de Residencia");
Readln (recout.pais);
Writeln ("Si desea tarjeta de Navidad sin animacion presione A, si desea con animacion presione D");
Readln (recout.acontecimiento[1]);
Writeln ("Si desea tarjeta de San Valentin sin animacion presione A, si desea con animacion D");
Readln (recout.acontecimiento[2]);
Writeln ("Si desea tarjeta de Año Nuevo sin animacion presione A, si desea con animacion D");
Readln (recout.acontecimiento[3]);
Write (archout, recout);
Writeln ("Ingrese Nombre y Apellido");
Readln (recout.apellidonombre);
end;
end;
Procedure ABRIRECEPTORES (Var archrec: Tarchreceptores);
Begin
Assign (archrec, "c:Dev-Pas eceptores.dat");
Reset (archrec);
End;
Procedure EXTENDERRECEPTORES (Var archout, archrec: TarchReceptores; Var rec, recout: TregReceptor; Var n:longint);
Begin
seek (archout, 0);
n:= filesize (archrec);
seek (archrec,n);
read (archout,recout);
write (archrec, rec);
end;
Procedure LISTARRECEPTORES (Var archrec: TarchReceptores; Var rec: TregReceptor; Var n:longint);
Begin
seek (archrec, 0);
while not eof (archrec) do
Begin
read (archrec, rec);
Writeln (rec.apellidonombre:30);
Writeln (rec.mail:30);
Writeln (rec.pais:9);
Writeln (rec.acontecimiento[1]);
Writeln (rec.acontecimiento[2]);
Writeln (rec.acontecimiento[3]);
End;
End;
Procedure CERRAR (Var archrec, archout: TarchReceptores);
Begin
Close (archrec);
Close (archout);
end;
Var
archout: Tarchreceptores;
archrec: TarchReceptores;
rec: TregReceptor;
recout: TregReceptor;
n:longint;
Begin
CREARARCHALTAS (archout);
ALTAS (archout, recout);
ABRIRECEPTORES (archrec);
EXTENDERRECEPTORES (archout, archrec, rec, recout, n);
LISTARRECEPTORES (archrec, rec, n);
CERRAR (archrec, archout);
End.
Valora esta pregunta


0