Fórum Problemas com login #185553
01/10/2003
0
Tela de login:
unit login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Db, DBTables;
type
Tfrmlogin = class(TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
Edit1: TEdit;
Edit2: TEdit;
procedure Image2Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure Image3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmlogin: Tfrmlogin;
implementation
uses UDm, UPrincipal;
{$R *.dfm}
procedure Tfrmlogin.Image2Click(Sender: TObject);
begin
{ MESMO EVENTO QUE ESTÁ NO "ONKEYPRESS" }
Dm.tblsenha.Active:= True;
If (Edit1.Text <> ´´) And (Edit2.Text <> ´´) Then
Begin
Dm.tblsenha.Locate(´Senha´,Edit1.Text,[loPartialKey,loCaseInsensitive]);
If Dm.tblsenhasenha.Text = Edit2.Text Then
Begin
frmprincipal.StatusBar1.Panels[1].Text:= Edit1.Text;
Edit1.Clear;
Edit2.Clear;
Close;
End;
End
Else
Begin
frmprincipal.StatusBar1.Panels[1].Text:= ´´;
MessageDlg(´Sem usuário logado´, mtWarning, [mbOk], 0);
End;
Close;
Dm.tblsenha.Active:= False;
end;
procedure Tfrmlogin.FormKeyPress(Sender: TObject; var Key: Char);
begin
{ COM A FUNÇÃO "KEY PREVIEW" DO FORM EM "TRUE" }
{ VERIFICA SE A TECLA PRESSIONADA É "ENTER" }
If Key = #13 Then
Begin
Dm.tblsenha.Active:= True;
{ VERIFICA SE OS CAMPOS FORAM PREENCHIDOS PARA PODER FAZER A BUSCA }
If (Edit1.Text <> ´´) And (Edit2.Text <> ´´) Then
Begin
Dm.tblsenha.Locate(´Usuario´,Edit1.Text,[loPartialKey,loCaseInsensitive]);
{ VERIFICA SE A SENHA ESTA CORRETA }
If Dm.tblsenhaSenha.Text = Edit2.Text Then
Begin
frmprincipal.StatusBar1.Panels[1].Text:= Edit1.Text;
Edit1.Clear;
Edit2.Clear;
Close;
End;
End
Else
Begin
frmprincipal.StatusBar1.Panels[1].Text:= ´´;
MessageDlg(´Sem usuário logado´, mtWarning, [mbOk], 0);
End;
Close;
Dm.tblsenha.Active:= False;
End;
end;
procedure Tfrmlogin.Image3Click(Sender: TObject);
begin
application.Terminate;
end;
procedure Tfrmlogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Edit1.Clear;
Edit2.Clear;
end;
end.tela Principal:
unit UPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus;
type
Tfrmprincipal = class(TForm)
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
Sistema1: TMenuItem;
CadastrarUurio1: TMenuItem;
MudarUsurio1: TMenuItem;
LogOff1: TMenuItem;
Fecha1: TMenuItem;
DPessoal1: TMenuItem;
Produo1: TMenuItem;
Gerencia1: TMenuItem;
Sobre1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure Fecha1Click(Sender: TObject);
procedure CadastrarUurio1Click(Sender: TObject);
procedure MudarUsurio1Click(Sender: TObject);
procedure LogOff1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmprincipal: Tfrmprincipal;
implementation
uses login, UDm, UCadUsu;
{$R *.dfm}
procedure Tfrmprincipal.FormShow(Sender: TObject);
begin
{ ABERTURA DO PROGRAMA CHAMA TELA DE LOGIN }
frmLogin.ShowModal;
end;
procedure Tfrmprincipal.Fecha1Click(Sender: TObject);
begin
Close;
end;
procedure Tfrmprincipal.CadastrarUurio1Click(Sender: TObject);
begin
{ TELA DE CADASTRO DE USUÁRIOS }
If (DM.tblsenhaSetor.Text = ´Admin´) Then
Begin
CadUsu.ShowModal;
End
Else
MessageDlg(´VOCÊ NÃO TEM AUTORIZAÇÃO NESTE CAMPO´, mtWarning, [mbOk], 0)
end;
procedure Tfrmprincipal.MudarUsurio1Click(Sender: TObject);
begin
{ TELA PRA LOGAR COM OUTRO USUÁRIO }
frmLogin.ShowModal;
end;
procedure Tfrmprincipal.LogOff1Click(Sender: TObject);
begin
{ DESLOGAR DO SISTEMA, SOMENTE TIRA DA BARRA DE STATUS, ASSIN NÃO ABRE JANELAS }
Statusbar1.Panels[1].Text:= ´´;
end;
end.Quando clico no menu ´Cadastrar Usuário´ me aparece a mensagem de que eu naum tenho autorização. Essa verificação é feita no form principal neste momento:
{ TELA DE CADASTRO DE USUÁRIOS }
If (DM.tblsenhaSetor.Text = ´Admin´) Then
Begin
CadUsu.ShowModal;
End
Else
MessageDlg(´VOCÊ NÃO TEM AUTORIZAÇÃO NESTE CAMPO´, mtWarning, [mbOk], 0)Tentei debugar mas quando vou verificar o valor que est´´a sendo recebido na comparação aparece vazio.
A minha tabela tem os seguintes campos:
Senha, Usuário, Setor
No caso do setor é pra dizer se é ´Admin´ ou ´Usuario´
Alguém ai poderia tentar achar o erro pra me ajudar?
Desde já grato pela atenção.[/code]
Raphael Oliveira
Curtir tópico
+ 0Posts
01/10/2003
Raphael Oliveira
Gostei + 0
01/10/2003
Ljr
Com sua tabela e seus dados eu posso analisar melhor. Derepente eu vejo algum detalhe.
g456er@yahoo.com.br
Gostei + 0
01/10/2003
Ljr
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)