Hola
Segimos con el form FLogin:
Coloquemos una variable (cuenta), esta nos servira para determinar la cantidad de veces que se intenta introducir la clave:
Código Delphi
[-]
var
FLogin: TFLogin;
Cuenta : integer;
implementation
En el evento OnCreate la iniciamos en cero:
Código Delphi
[-]
procedure TFLogin.FormCreate(Sender: TObject);
begin
Cuenta := 0;
end;
En el boton OK:
Código Delphi
[-]
procedure TFLogin.BtnOkClick(Sender: TObject);
begin
IBQuery1.Params.ParamByName('Cod').Value:= Edit1.Text;
IBQuery1.Active:= True;
If IBQuery1.RecordCount < 1 then
Begin
Cuenta := Cuenta + 1;
MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
Edit1.Text := '';
Edit2.Text := '';
IBQuery1.Active := False;
If Cuenta = 3 then Close;
end
else
If IBQuery1Clave.AsString = Edit2.Text then
Begin
Form1.Show;
IBQuery1.Active := False;
FLogin.Visible:= False;
end
else
Begin
Cuenta := Cuenta + 1;
MessageDlg('Clave Inválida',mtError, [mbOK], 0);
Edit2.Text := '';
IBQuery1.Active := False;
If Cuenta = 3 then Close;
end;
end;
En el boton Cancelar:
Código Delphi
[-]
procedure TFLogin.Button2Click(Sender: TObject);
begin
Close;
end;
Ahora solo nos queda que el programa arranque desde el form login:
Vamos al Proyecto, en units, project y cambiamos el orden de entrada al programa asi:
Código Delphi
[-]
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' ,
Unit2 in 'Unit2.pas' ,
UFLogin in 'UFLogin.pas' ;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TFLogin, FLogin);
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Listo, a correr.
AHHHHHHHH, que monton de errores, logico, somos novatos y se nos olvido asignar algunas cositas.
Son faciles de apreciar pero son errores que nos pueden pasar por descuido:
Primero regresemos un poco atras, al datamodule:
1- En el
IBDatabase nos olvidamos de colocar en su propiedad
DefaultTransaction el
IBTransaction.
Con esto ya se ligan.
2- Lo mismo con el
IBTransaction, en su propiedad
DefaultDatabase lo ligamos pero esta vez con el
IBDatabase.
Osea, uno con otro.
Regresemos al FLogin.
Demosle doble click al
IBQuery, nos saldra una pequeña pantalla, raton derecho y add, nos colocara los campos dentra de esta pantalla.
Listo, no era para tanto, corredlo, esta listo para usarse.
Ojala os sirva de algo este.
Saludos
Para dudas y aclaraciones estan los maestros