Tema: Login-Delphi
Ver Mensaje Individual
  #8  
Antiguo 22-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Te voy a explicar como lo hago yo:
Creo un campo (permiso) este campo es numerico, defino los permisos en base a la numeracion, 1, 2, 3
1= acceso a todo
2= acceso a x parte o botones
3= acceso a otros botones
asi se pueden tener tantos accesos o permisos como se quiera.
Agrego el campo a la tabla, esta quedara en tercer lugar, 0-1-2-3
el codigo que uso es este:
Lo reconoceras, facilmente:
Código Delphi [-]
  LoginOK :=False;
   AdoQuery1.Parameters.ParamByName('Cod').Value:= Edit1.Text;
   AdoQuery1.Active:= True;
  If AdoQuery1.Fields[3].AsString = '1' then
     // todo
   begin
  // todo
   end;
   If AdoQuery1.Fields[3].AsString = '2' then
   // bodega
   begin
     FmainForm.BitBtn3.Enabled := False;
     FmainForm.BitBtn17.Enabled := False;
     FmainForm.BitBtn18.Enabled := False;
     FmainForm.BitBtn19.Enabled := False;
     FmainForm.BitBtn6.Enabled := False;
     FmainForm.BitBtn1.Enabled := False;
     FmainForm.BitBtn2.Enabled := False;
     FmainForm.BitBtn15.Enabled := False;
     FmainForm.BitBtn14.Enabled := True;
     FmainForm.BitBtn8.Enabled := True;
     FmainForm.BitBtn23.Enabled := False;
     FmainForm.BitBtn24.Enabled := False;
     FmainForm.Timer2.Enabled := False;
     FmainForm.PopupMenu7.Items[3].Enabled:= False;
     FmainForm.PopupMenu7.Items[4].Enabled:= False;
     FmainForm.PopupMenu7.Items[5].Enabled:= False;
     FmainForm.PopupMenu7.Items[6].Enabled:= False;
     FmainForm.PopupMenu7.Items[7].Enabled:= False;
     FmainForm.PopupMenu7.Items[8].Enabled:= False;
     FmainForm.PopupMenu7.Items[20].Enabled:= False;
     FmainForm.PopupMenu7.Items[21].Enabled:= False;
     FmainForm.PopupMenu7.Items[23].Enabled:= False;
     FmainForm.PopupMenu7.Items[24].Enabled:= False;

   end;
    If AdoQuery1.Fields[3].AsString = '3' then
   // produccion, acabado
   begin
     FmainForm.BitBtn2.Enabled := False;
     FmainForm.BitBtn3.Enabled := False;
     FmainForm.BitBtn17.Enabled := False;
     FmainForm.BitBtn18.Enabled := False;
     FmainForm.BitBtn19.Enabled := False;
     FmainForm.BitBtn16.Enabled := False;
     FmainForm.BitBtn5.Enabled := False;
     FmainForm.BitBtn6.Enabled := False;
     FmainForm.BitBtn7.Enabled := False;
     FmainForm.BitBtn1.Enabled := False;
     FmainForm.BitBtn15.Enabled := False;
     FmainForm.BitBtn13.Enabled := False;
     FmainForm.BitBtn4.Enabled := False;
     FmainForm.BitBtn14.Enabled := False;
     FmainForm.BitBtn8.Enabled := False;
     FmainForm.BitBtn27.Enabled := False;
     FmainForm.BitBtn21.Enabled := False;
     FmainForm.BitBtn22.Enabled := False;
     FmainForm.BitBtn23.Enabled := False;
     FmainForm.BitBtn24.Enabled := False;
     FmainForm.BitBtn25.Enabled := False;
     FmainForm.Timer2.Enabled := False;
     FmainForm.PopupMenu7.Items[1].Enabled:= False;
     FmainForm.PopupMenu7.Items[2].Enabled:= False;
     FmainForm.PopupMenu7.Items[3].Enabled:= False;
     FmainForm.PopupMenu7.Items[4].Enabled:= False;
      end;
 If AdoQuery1.RecordCount < 1 then
    Begin
       Cuenta := Cuenta + 1;
       MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
       Edit1.Text := '';
       Edit2.Text := '';
       AdoQuery1.Active := False;
       If Cuenta = 3 then Close;
    end
   else
       If AdoQuery1Clave.AsString = Edit2.Text then
        Begin
           LoginOk := True;
           Usuario := AdoQuery1CodUsuario.AsString;
           Nombre := AdoQuery1Nombre.AsString;
           AdoQuery1.Active := False;
           Close;
        end
     else
         Begin
           Cuenta := Cuenta + 1;
           MessageDlg('Clave Inválida',mtError, [mbOK], 0);
           Edit2.Text := '';
           AdoQuery1.Active := False;
           If Cuenta = 3 then Close;
         end;
espero te sirva.
Saludos
__________________
Siempre Novato
Responder Con Cita