RE:Modificacion de registros en un archivo de regi
segunda parte
{*------|------|------|------|------|------|------|------|------|------|----*}
Procedure InicializaRegistro(Var TiRegistro : TipoRegistro);
Begin
TiRegistro.Numero :=0;
TiRegistro.Nombre :='';
TiRegistro.Direccion:='';
TiRegistro.Telefono :='';
End;
{*------|------|------|------|------|------|------|------|------|------|----*}
Procedure Alta(TiRegistro:TipoRegistro;Var TiArchivo :TipoArchivo);
Var
Encontrado:Longint;
TmpNumero:Longint;
Salir:char;
Begin
Repeat
InicializaRegistro(TiRegistro);
textattr:=7+0*16;{atributos de pantalla}
Clrscr;
Gotoxy(25,4);write('Alta de Registro');
Gotoxy(25,10);write('Proporcione Numero : ');
readln(TmpNumero);
AperturaDeArchivo(TIArchivo); {aperturamos el archivo}
Encontrado:= BuscaRegistro(TiArchivo,TIRegistro,TmpNumero); {buscamos el registro}
Close(Tiarchivo); {cerramos el archivo}
If Encontrado = -1 Then {no existe}
Begin
textattr:=7+0*16;{atributos de pantalla}
Tiregistro.Numero:=TmpNumero;
Gotoxy(25,12);write('Proporcione Nombre : ');
readln(TiRegistro.Nombre );
Gotoxy(25,14);write('Proporcione Direccion : ');
readln(TiRegistro.Direccion );
Gotoxy(25,16);write('Proporcione Tel‚fono : ');
readln(TiRegistro.Telefono);
{posicionamos el puntero al final del archivo y guardamos}
AperturaDeArchivo(TIArchivo);
Seek (TIArchivo,filesize(TIArchivo));{posicionamos el puntero al final del archivo}
Write(TiArchivo,TiRegistro);{guardamos el registro al final del archivo}
Close(TiArchivo);
delay(100);
End
else {si existe}
begin
Gotoxy(15,17);write('Registro Existente,Pulse Enter');
readkey;
end;
gotoxy(20,22);write('Desea Continuar Almacenando Registros [S/N]');
Salir:=Readkey;
Until (Salir='n') or (Salir='N');
End;
{*------|------|------|------|------|------|------|------|------|------|----*}
Procedure Baja(TiRegistro:TipoRegistro;Var TiArchivo :TipoArchivo);
Var
Encontrado:Longint;
TmpNumero:Longint;
Salir:char;
Begin
Repeat
InicializaRegistro(TiRegistro);
textattr:=7+0*16;{atributos de pantalla}
Clrscr;
Gotoxy(25,4);write('Baja de Registro');
Gotoxy(25,10);write('Proporcione Numero : ');
readln(TmpNumero);
AperturaDeArchivo(TIArchivo); {aperturamos el archivo}
Encontrado:= BuscaRegistro(TiArchivo,TIRegistro,TmpNumero); {buscamos el registro}
Close(Tiarchivo); {cerramos el archivo}
If Encontrado <> -1 Then {existe}
Begin
AperturaDeArchivo(TIArchivo); {aperturamos el archivo}
BorraRegistro(Tiarchivo,TIRegistro,TmpNumero);
End
Else
Begin
Gotoxy(15,17);write('Registro No Existe,Pulse Enter');
readkey;
End;
Gotoxy(20,22);Write('Desea Continuar Dando de Baja a Registros [S/N]');
Salir:=Readkey;
Until (Salir='n') or (Salir='N');
End;
{*------|------|------|------|------|------|------|------|------|------|----*}
Procedure Modificacion(TiRegistro:TipoRegistro;Var TiArchivo :TipoArchivo);
Var
Encontrado:Longint;
Salir:char;
Begin
Repeat
InicializaRegistro(TiRegistro);
textattr:=7+0*16;{atributos de pantalla}
Clrscr;
Gotoxy(25,4);write('Modificacion de Registro');
Gotoxy(25,10);write('Proporcione Numero : ');
readln(TiRegistro.Numero);
AperturaDeArchivo(TIArchivo); {aperturamos el archivo}
Encontrado:= BuscaRegistro(TiArchivo,TIRegistro,TiRegistro.Numero); {buscamos el registro}
Close(Tiarchivo); {cerramos el archivo}
If Encontrado <> -1 Then {existe}
Begin
textattr:=7+0*16;{atributos de pantalla}
Gotoxy(25,12);write('Proporcione Nombre : ');
readln(TiRegistro.Nombre );
Gotoxy(25,14);write('Proporcione Direccion : ');
readln(TiRegistro.Direccion );
Gotoxy(25,16);write('Proporcione Tel‚fono : ');
readln(TiRegistro.Telefono);
AperturaDeArchivo(TIArchivo); {aperturamos el archivo}
seek (TIArchivo,Encontrado);{posicionamos el p£ntero en la posici¢n donde se encontr¢ el registro en el archivo}
write(TiArchivo,TiRegistro);{escribimos el registor modificado}
close(TiArchivo);
End
Else
Begin
Gotoxy(15,17);write('Registro No Existe,Pulse Enter');
readkey;
End;
Gotoxy(20,22);Write('Desea Continuar Modificando Registros [S/N]');
Salir:=Readkey;
Until (Salir='n') or (Salir='N');
End;
{*------|------|------|------|------|------|------|------|------|------|----*}