Pascal/Turbo Pascal - 2º Duda con la baja de un registro de un archivo

 
Vista:

2º Duda con la baja de un registro de un archivo

Publicado por Leandro (5 intervenciones) el 29/07/2004 17:27:04
Como les decia el Procedure Carga es el Siguiente, no les puse los gotoxy, para no hacerlo tan largo:
Procedure cargar(var x:archivo);
var
r,y:alumno;
i:integer;
Begin
clrscr;
writeln('Opcion para cargar registro');
reset(x);
writeln('Pulse cualquier tecla y "N" o "n" para salir');
while upcase(readkey)<>'N' do
Begin
writeln('Introduzca datos del nuevo registro');
leer(y);
write(x,y);
writeln('Pulse <N> si desea salir de la carga o cualquier Teclaparacontinuar');
end;
close(x);
end;
Procedure leer(var x:alumno);
Begin
with (x) do
Begin
write('Nombre: ');
readln(nom);
write('Direccion: ');
readln(dir);
write('Codigo Postal: ');
readln(cp);
write('Edad: ');
readln(edad);
ex:=true;
end;
end;
Bueno espero que les sirva de algo como para sacarme el problema que tengo de superposicion, si necesitan mas datos avisenme, ok? Gracias y Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:2º Duda con la baja de un registro de un archiv

Publicado por Diego Romero (786 intervenciones) el 30/07/2004 00:07:30
En el procedimiento cargar abres, escribes y cierras el archivo, pero te olvidas de mover el puntero del archivo al final del mismo, siempre estas escribiendo en el mismo registro, para hacer eso, escribe:
Procedure cargar(var x:archivo);
var
r,y:alumno;
i:integer;
Begin
clrscr;
writeln('Opcion para cargar registro');
reset(x);
Seek(x, FileSize(X)); <-- esto es lo que te ha faltado.
writeln('Pulse cualquier tecla y "N" o "n" para salir');
while upcase(readkey)<>'N' do
Begin
writeln('Introduzca datos del nuevo registro');
leer(y);
write(x,y);
writeln('Pulse <N> si desea salir de la carga o cualquier Teclaparacontinuar');
end;
close(x);
end;

Al hacer Seek(x, FileSize(x)); mueves el puntero del archivo al final del mismo, de modo que el próximo write se escribe a continuación extendiendo el archivo.
Pasala bién :).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar