Problemas com login

Delphi

01/10/2003

Eu estou encontrando um problema no sistema que estou fazendo, vou colocar aqui o código pra ver se alguém pode me ajudar:

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

Raphael Oliveira

Curtidas 0

Respostas

Raphael Oliveira

Raphael Oliveira

01/10/2003

E ai alguém tem alguma ideia?


GOSTEI 0
Ljr

Ljr

01/10/2003

Manda o codigo sitado por email.

Com sua tabela e seus dados eu posso analisar melhor. Derepente eu vejo algum detalhe.

g456er@yahoo.com.br


GOSTEI 0
Ljr

Ljr

01/10/2003

Na unit login comente as linha que vc manda False para propriedade Active da tblsenha


GOSTEI 0
POSTAR