Ya que tenemos el programa funcionando seguro no queremos que ingrese alguien sin autorización, pues vamos a hacer el login.
Primero vamos a File, New, Form.
Colocamos en el:
1- AdoQuery (ADLogin).
2- Edit
EUsuario
EClave
2- botones
BtnOk
BtnCancel
Y sus respectivos label indicativos.
Quedaria algo asi:
Lo guardamos con el nombre Flogin y el unit UFlogin.
Ahora para llamar a esta pantalla, le hacemos unos ligeros cambios al form Banco.
En el evento Onformcreate de este añadimos en la primera linea el siguiente codigo, quedaria asi:
Código Delphi
[-]
procedure TBanco.FormCreate(Sender: TObject);
begin
FLogin:=TFLogin.Create(self);
try
FLogin.ShowModal;
finally
FLogin.Free;
end;
DTP1.DateTime:= now; Banco.Active := True; Banco.Last; SumRet.Active := True; SumDep.Active := True; ESalTot.Text := FloatToStr((SumDep.Fields[0].AsFloat) - SumRet.Fields[0].AsFloat);
DBNTransac.Enabled := False;
DBDescrip.Enabled := False;
DBRetiros.Enabled := False;
DBDeposit.Enabled := False;
DBSalAnt.Enabled := False;
CBTipo.Enabled:= False;
DBNavigator1.Enabled := False;
BRetiros.Visible := False;
BDeposito.Visible := False;
end;
Esto le indica al programa que busque el loguin.
Ahora en el evento OnformShow de este mismo (Banco):
Código Delphi
[-]
procedure TBanco.FormShow(Sender: TObject);
begin
If not LoginOK then Close;
end;
Esta indicacion es para que si no esta autorizado no se conecte.
Vamos al form (FLogin):
Siguiendo los mismos pasos que en los ADoquery que tenemos en el form Banco, vamos a clocar esta sentencia sql en el string de ADLogin:
Código SQL
[-]
SELECT CodUsuario, Nombre, Clave FROM Usuarios WHERE
Nombre = nom
Demosle doble clic a FLogin, en el evento OnCreate:
Código Delphi
[-]
procedure TFLogin.FormCreate(Sender: TObject);
begin
Cuenta := 0;
Usuario := '';
Nombre := '';
end;
Lo que sigue sera en los eventos OnClick. de los botones.
Demosle doble clic al boton Cancelar:
Código Delphi
[-]
procedure TFLogin.BtnCancelClick(Sender: TObject);
begin
LoginOK := False;
Close;
end;
Demosle doble clic al boton OK:
Código Delphi
[-]
procedure TFLogin.BtnOkClick(Sender: TObject);
begin
LoginOK := False;
ADLogin.Parameters.ParamByName('nom').Value:= EUsuario.Text;
ADLogin.Active:= True;
EUsuario.Text:= ADLogin.Fields[1].AsString;
If ADLogin.RecordCount < 1 then
Begin
Cuenta := Cuenta + 1;
MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
EUsuario.Text := '';
EClave.Text := '';
ADLogin.Active := False;
If Cuenta = 3 then Close;
end
else
If ADLoginClave.AsString = EClave.Text then
Begin
LoginOk := True;
Nombre := ADLoginNombre.AsString;
ADLogin.Active := False;
Close;
end
else
Begin
Cuenta := Cuenta + 1;
MessageDlg('Clave Inválida',mtError, [mbOK], 0);
EClave.Text := '';
ADLogin.Active := False;
If Cuenta = 3 then Close;
end;
end;
Vamos a colocar unas variables, aqui:
Código Delphi
[-]
var
FLogin: TFLogin;
Cuenta : integer;
Usuario, Nombre : String;
LoginOK : boolean;
implementation
Este no le he querido comentar mucho para que os familiaricéis con el código, asi aprendemos mejor.
Ahora abrid la tabla, colocar un usuario y clave y probad el programa.
Saludos