Uses CRT;
const fname='datos1.dat';
resp='respaldo.dat';
type persona = Record
nombre: string[10];
edad: integer;
End;
var f,r: file of persona;
k: char;
p,pa: persona;
function ExistF(fn: string):boolean;
var f: file;
Begin
{$I-}
assign(f,fn);
reset(f);
close(f);
{$I+}
ExistF:= (IOResult=0) and (fn<>'');
End;
procedure menu;
Begin
clrscr;
gotoxy(2,2);write('MENU:');
gotoxy(3,4);write('[1] >> Agregar');
gotoxy(3,5);write('[2] >> Imprimir');
gotoxy(3,6);write('[ESC] >> Salir');
gotoxy(2,8);write('Opcion: ');
k:=readkey;
End;
procedure Agregar;
Begin
clrscr;
gotoxy(2,2);write('AGREGAR DATOS');
gotoxy(2,4);write('Nombre: ');
read(p.nombre);
gotoxy(2,5);write('Edad: ');
read(p.edad);
reset(f);
rewrite(r);
while not eof(f) do
Begin
read(f,pa);
write(r,pa);
End;
close(f);
write(r,p);
close(r);
rewrite(f);
reset(r);
while not eof(r) do
Begin
read(r,pa);
write(f,pa);
End;
close(f);
close(r);
End;
procedure Imprimir;
Begin
clrscr;
reset(f);
while not eof(f) do
Begin
read(f,p);
writeln(p.nombre:15,p.edad:5);
End;
writeln('<Fin de Arvhico...>');
readkey;
close(f);
End;
Begin
assign(f,fname);
assign(r,resp);
if not existf(fname) then
Begin
rewrite(f);
close(f);
End;
while k<>#27 do
Begin
menu;
if k='1' then agregar;
if k='2' then imprimir;
End;
End.