Continua...........
procedure TFrmBinario.BBGrabarClick(Sender: TObject);
begin
Seek(Fichero,iRegActivo);
BBGrabar.Visible := False;
BBCancelar.Visible := False;
unRegistro.DNI:= EditDNI.Text;
unRegistro.Nombre := EditNombre.Text;
unRegistro.Direccion := EditDireccion.Text;
unRegistro.Poblacion := EditPoblacion.Text;
unRegistro.CodPostal := EditcodPostal.Text;
unRegistro.Telefono := EditTelefono.Text;
Write(Fichero,unRegistro);
GroupBox2.Enabled := True;
if bAnyadiendo then
BtnUltimoClick(sender);
bAnyadiendo := False;
end;
procedure TFrmBinario.BBCancelarClick(Sender: TObject);
begin
BBGrabar.Visible := False;
BBCancelar.Visible := False;
GroupBox2.Enabled := True;
if bAnyadiendo then
begin
Dec(iRegTotal);
iRegActivo := iRegTotal;
bAnyadiendo := False;
MoverCursor(iRegActivo);
end
else
MoverCursor(iRegActivo);
end;
procedure TFrmBinario.mnuAbrirClick(Sender: TObject);
begin
if not OpenD.Execute then
Exit
else
AssignFile(Fichero, OpenD.FileName);
if FileExists(OpenD.Filename) then
Reset(Fichero)
else
Rewrite(Fichero);
If not Eof(Fichero) then
Read(Fichero,unRegistro);
// contadores.
iRegActivo := 0;
iRegTotal := FileSize(Fichero) - 1;
// Función que mueve el puntero del fichero
// y activa o desactiva los controles.
GroupBox1.Enabled := True;
GroupBox2.Enabled := True;
MoverCursor(iRegActivo);
end;
procedure TFrmBinario.BtnPosteriorClick(Sender: TObject);
begin
inc(iRegActivo);
Seek(Fichero,iRegactivo);
MoverCursor(iRegActivo);
end;
procedure TFrmBinario.BtnAnteriorClick(Sender: TObject);
begin
dec(iRegActivo);
Seek(Fichero,iRegactivo);
MoverCursor(iRegActivo);
end;
procedure TFrmBinario.BtnPrimeroClick(Sender: TObject);
begin
iRegActivo := 0;
sEEK(fICHERO,iRegActivo);
MoverCursor(iRegActivo);
end;
procedure TFrmBinario.BtnUltimoClick(Sender: TObject);
begin
iRegActivo := iRegTotal;
MoverCursor(iRegActivo);
end;
procedure TFrmBinario.MnuSalirClick(Sender: TObject);
begin
Application.Terminate;
end;
procedure TFrmBinario.FormCreate(Sender: TObject);
begin
Screen.OnActiveControlChange := CambioControl;
end;
procedure TFrmBinario.CambioControl(Sender: TObject);
var
i: integer;
begin
for i:= 0 to GroupBox1.ControlCount-1 do
if GroupBox1.Controls[i] is TEdit then
with (GroupBox1.Controls[i] as TEdit) do
if Focused then
Color := clInfoBK
else
Color := clInactiveBorder;
end;
procedure TFrmBinario.BtnModificarClick(Sender: TObject);
begin
BBGrabar.Visible := True;
BBCancelar.Visible := True;
GroupBox1.Enabled := True;
GroupBox2.Enabled := False;
EditDNI.SetFocus;
end;
procedure TFrmBinario.Crear1Click(Sender: TObject);
begin
if not OpenD.Execute then
Exit
else
AssignFile(Fichero, OpenD.FileName);
if FileExists(OpenD.Filename) then
Reset(Fichero)
else
Rewrite(Fichero);
If not Eof(Fichero) then
Read(Fichero,unRegistro);
// contadores.
iRegActivo := 0;
iRegTotal := FileSize(Fichero) - 1;
// Función que mueve el puntero del fichero
// y activa o desactiva los controles.
GroupBox1.Enabled := True;
GroupBox2.Enabled := True;
MoverCursor(iRegActivo);
end;
Function TFrmBinario.BuscarDNI (DNI:String):Integer;
var
I,Final : Integer;
Encontrado : Boolean;
begin
Final:=iRegTotal-1;
Encontrado:=False;
BuscarDNI:=-1;
I:=0;
While not eof(Fichero) and (I<Final) and (not Encontrado) do
begin
seek(Fichero,I);
read(Fichero,unRegistro);
if unRegistro.DNI = DNI then
begin
Encontrado:=True;
BuscarDNI:=I;
end
else
Inc(I);
end;
end;
procedure TFrmBinario.BitBtn1Click(Sender: TObject);
var
I,Fin:Integer;
unRegistro:Registro;
F:TextFile;
NumSocio:Integer;
BuscarSocio:Boolean;
begin
Listado.Title:='Destino Listado Socios';
if listado.execute then
try
begin
Listado.Filename:='Socios.txt';
assignfile(F,Listado.Filename);
rewrite(f);
WriteLn(f,'Socios dados de alta en el Club');
Fin:=iRegTotal;
for I:=0 to fin-1 do
begin
NumSocio:=I;
if (NumSocio<iRegtotal) and (NumSocio>=0) then
begin
seek(Fichero,NumSocio);
read(Fichero,unRegistro);
BuscarSocio:=True;
end
else
BuscarSocio:=False;
//BuscarSocio(I,unRegistro);
writeLn(f,unRegistro.DNI+', '+unRegistro.Nombre+', '+unRegistro.Telefono);
end;
writeLn(f);
WriteLn(f,'Total '+InttoStr(fin)+' Socios');
end;
finally
closefile(f);
end;
showmessage('Listado Generado')
end;
Function TFrmBinario.BuscarSocio(NumSocio:Integer):Boolean;
Begin
if (NumSocio<iRegtotal) and (NumSocio>=0) then
begin
seek(Fichero,NumSocio);
read(Fichero,unRegistro);
BuscarSocio:=True;
end
else
BuscarSocio:=False;
end;
end.