Hola...
mira yo tengo esta forma... depende de la contraseña... me activa ciertas opciones del menu...
Código Delphi
[-]
procedure TMenu.FormCreate(Sender: TObject);
begin
Self.Position := poScreenCenter;
WindowState := wsMaximized;
Validar := TValidar.Create(Self); Try
Validar.ShowModal;
Barra1.Panels[3].Text:=GetUserName;
Barra1.Panels[5].Text:=Validar.Sw2;
Sw2 := Validar.Sw1;
Sw4 := Validar.Sw3;
Finally
Validar.Free;
End;
If Validar.Sw = False Then
Begin
Application.ShowMainForm := False;
Application.Terminate;
End;
If (Sw2= '2') Or (Sw2= '3') Then
Begin
Menus.Items[1].Items[0].Enabled := False;
Menus.Items[1].Items[1].Enabled := False;
Menus.Items[1].Items[2].Enabled := False;
End;
If Sw2 = '3'Then
Begin
Menus.Items[0].Items[1].Enabled := False;
End;
end;
y ademas te adjunto el codigo del cuadro de dialogo
validar, si la clave o usuario son incorrecta por 3 veces.. abandona el sistema
Código Delphi
[-]
procedure TValidar.Buscar;
begin
IBQ_Password.SQL.Clear;
IBQ_Password.SQL.Add('Select * From "Usuarios"');
IBQ_Password.SQL.Add('Where "Usu_Nick"=:Var1');
IBQ_Password.Params[0].AsString := vUsu.Text;
IBQ_Password.Open;
If (IBQ_Password['Usu_Nick'] = vUsu.Text) and (IBQ_Password['Usu_Clave'] = Encriptar(vPas.Text)) Then
Begin
Sw := True;
Sw1 := IBQ_Password['Usu_Tipo'];
Sw2 := IBQ_Password['Usu_Nombre'];
Sw3 := IBQ_Password['Usu_Numero'];
End
Else
Cont:= Cont + 1;
end;
Encriptar : Corresponde a una rutina para encriptar la contraseña...
el siguiente codigo es del formulario
validar - (usuario y contraseña), y cuando hace enter en contraseña se ejecuta
Código Delphi
[-]
If Key =#13 Then
Begin
Buscar;
If Cont = 4 Then Close;
If Sw = False Then
Begin
ShowMessage('Datos ingresaso son erroneos....');
vUsu.Clear;
vPas.Clear;
vUsu.SetFocus;
End
Else
Close;
End;