 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Dom Jun 10, 2012 2:44 pm Assunto: #RESOLVIDO |
|
|
Ghost_Rider escreveu: | Tá..bem simples, vamos considerar que sua tabela de usuários tenha o campo NOME e SENHA.
A table dessa tabela se chame tbUSUARIO, dai faça assim
if tbUSUARIO.Locate('nome',edit_com_nome.Text,[]) = True then \\achou
if tbUsuario.FieldByName('senha').AsString = edit_com_senha.Text then
//achou a senha valida para o usuario, dai permite acesso ao sistema
Entendeu ??? |
Siiim ... Ghost_Rider, muito obrigado cara !!! Agora esta dando certo !!! Agora a Tela de Login do meu TCC esta funcionando perfeitamente !!!
Muito obrigado mesmo !!!
#RESOLVIDO |
|
Voltar ao Topo |
|
 |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Dom Jun 10, 2012 2:57 pm Assunto: |
|
|
Só mais uma Duvida ... Se ele não acha o Usuario ele não da o Erro :/
Me informem uma possivel solução ???
A Unit segue abaixo
unit ULogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFrmLogin = class(TForm)
Image1: TImage;
GrpBxLogin: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
EdtApelido: TEdit;
EdtSenha: TEdit;
BtnOk: TBitBtn;
BtnCancelar: TBitBtn;
procedure BtnCancelarClick(Sender: TObject);
procedure BtnOkClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLogin: TFrmLogin;
implementation
uses UDM, UMenuPrin;
{$R *.dfm}
procedure TFrmLogin.BtnCancelarClick(Sender: TObject);
begin
Application.Terminate;
end;
procedure TFrmLogin.BtnOkClick(Sender: TObject);
begin
Dm.tab_Usuarios.Open; // abre a tabela tab_Usuarios
FrmMenuPrin.StatusBar1.Panels[2].Text := ' Usuário:' + FrmLogin.EdtApelido.Text + ' - '+ Dm.tab_UsuariosUsuDepto.AsSTring;
if Dm.tab_Usuarios.Locate('UsuApelido', EdtApelido.Text,[]) = True then //achou o usuario
if Dm.Tab_Usuarios.FieldByName('UsuSenha').AsString = EdtSenha.Text then
//achou a senha valida para o usuario, dai permite acesso ao sistema
begin
FrmLogin.Hide; //Esconde a tela
FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal
FrmLogin.Release; //Remove a tela da memória
FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin
end
else
begin
MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13
+ 'Se você esqueceu sua senha, consulte '+ #13
+ 'o administrador do sistema', mtError, [mbOK], 0);
EdtSenha.Clear; // limpa o objeto EdtSenha
EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha
end;
end;
end. |
|
Voltar ao Topo |
|
 |
Ghost_Rider Colaborador

Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Dom Jun 10, 2012 3:19 pm Assunto: |
|
|
Esse seu form de login, é o primeiro que inicia ou é o form principal que incia primeiro ? |
|
Voltar ao Topo |
|
 |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Seg Jun 11, 2012 1:44 pm Assunto: |
|
|
Ghost_Rider escreveu: | Esse seu form de login, é o primeiro que inicia ou é o form principal que incia primeiro ? |
Inicia-se uma Tela Splash, ai inicia-se o Login e após o login inicia-se o Form Principal. |
|
Voltar ao Topo |
|
 |
Ghost_Rider Colaborador

Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Seg Jun 11, 2012 1:54 pm Assunto: |
|
|
Tá...seus forms estão sendo carregados dinamicamente ou quando vc inicia o projeto já estão todos criados ??? |
|
Voltar ao Topo |
|
 |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Seg Jun 11, 2012 4:09 pm Assunto: |
|
|
Ghost_Rider escreveu: | Tá...seus forms estão sendo carregados dinamicamente ou quando vc inicia o projeto já estão todos criados ??? |
As telas de Cadastro, relatórios, e pesquisas São criadas dinamicamente, e as telas de Splash, Login e Menu, já estão criados !!!! A tela Menu é a minha principal ! |
|
Voltar ao Topo |
|
 |
Ghost_Rider Colaborador

Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Seg Jun 11, 2012 4:18 pm Assunto: |
|
|
Ta usando datamodule ou esta colocando os componentes de conexão num dos forms ???
Qual componente de acesso ao banco ta usando ? |
|
Voltar ao Topo |
|
 |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Seg Jun 11, 2012 4:21 pm Assunto: |
|
|
Ghost_Rider escreveu: | Ta usando datamodule ou esta colocando os componentes de conexão num dos forms ???
Qual componente de acesso ao banco ta usando ? |
Estou usando do DataModule que se chama DmConexao
Estou usando ADO, pois minha base de dados é em Access
Editado pela última vez por ICMRS em Seg Jun 11, 2012 4:47 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Seg Jun 11, 2012 4:33 pm Assunto: |
|
|
Por que tipo o que está acontecendo é o seguinte, se você digitar o usuario certo, mas a senha errada, ele dá o aviso "
MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13
+ 'Se você esqueceu sua senha, consulte '+ #13
+ 'o administrador do sistema', mtError, [mbOK], 0);
EdtSenha.Clear; // limpa o objeto EdtSenha
EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha
"
Mas se vocÊ digita o usuário errado, o botão OK, pra entrar fica sem ação... Ou seja ele não dá o erro que deveria dar !!! |
|
Voltar ao Topo |
|
 |
Ghost_Rider Colaborador

Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Ter Jun 12, 2012 8:37 am Assunto: |
|
|
Tá... na verdade não esta dando erro nenhum amigo, explica direito..da uma olhada no seu post....bom, vamos lá...
if Dm.tab_Usuarios.Locate('UsuApelido', EdtApelido.Text,[]) = True then
begin
//achou o usuario
if Dm.Tab_Usuarios.FieldByName('UsuSenha').AsString = EdtSenha.Text then
//achou a senha valida para o usuario, dai permite acesso ao sistema
begin
FrmLogin.Hide; //Esconde a tela
FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal
FrmLogin.Release; //Remove a tela da memória
FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela frmLogin
end
else
begin
MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13
+ 'Se você esqueceu sua senha, consulte '+ #13
+ 'o administrador do sistema', mtError, [mbOK], 0);
EdtSenha.Clear; // limpa o objeto EdtSenha
EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha
end
else
//mensagem do usuário não encontrado
end;
Da uma olhada no código que postei, logo abaixo do locate, coloquei um begin, e aqui em baixo, fechando esse begin um else para voce poder informar o usuario não encontrado..
Cara, vc disse que isso é um TCC, ta fazendo que curso ???
Porque esse "problema" é logica pura...ou vc pulou as aulas de logica ou seu professor é horrivel hein.... |
|
Voltar ao Topo |
|
 |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Ter Jun 12, 2012 12:45 pm Assunto: |
|
|
Ghost_Rider escreveu: | Tá... na verdade não esta dando erro nenhum amigo, explica direito..da uma olhada no seu post....bom, vamos lá...
if Dm.tab_Usuarios.Locate('UsuApelido', EdtApelido.Text,[]) = True then
begin
//achou o usuario
if Dm.Tab_Usuarios.FieldByName('UsuSenha').AsString = EdtSenha.Text then
//achou a senha valida para o usuario, dai permite acesso ao sistema
begin
FrmLogin.Hide; //Esconde a tela
FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal
FrmLogin.Release; //Remove a tela da memória
FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela frmLogin
end
else
begin
MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13
+ 'Se você esqueceu sua senha, consulte '+ #13
+ 'o administrador do sistema', mtError, [mbOK], 0);
EdtSenha.Clear; // limpa o objeto EdtSenha
EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha
end
else
//mensagem do usuário não encontrado
end;
Da uma olhada no código que postei, logo abaixo do locate, coloquei um begin, e aqui em baixo, fechando esse begin um else para voce poder informar o usuario não encontrado..
Cara, vc disse que isso é um TCC, ta fazendo que curso ???
Porque esse "problema" é logica pura...ou vc pulou as aulas de logica ou seu professor é horrivel hein.... |
Eu que não sou bom em lógica mesmo ... E na verdade postei errado não é TCC é só um trabalho ! |
|
Voltar ao Topo |
|
 |
Ghost_Rider Colaborador

Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Ter Jun 12, 2012 2:22 pm Assunto: |
|
|
Hum...e ai, deu certo ? |
|
Voltar ao Topo |
|
 |
ICMRS Novato

Registrado: Domingo, 29 de Abril de 2012 Mensagens: 61
|
Enviada: Qua Jun 13, 2012 2:43 pm Assunto: TÓPICO RESOLVIDO |
|
|
Ghost_Rider escreveu: | Hum...e ai, deu certo ? |
Boa Tarde, não estava dando muito certo, mas ai eu dei uma procurada na internet e com a ajuda de meu profº consegui fazer o login funcionar com o componente ADOQuery...
Mas obrigadoo por toda ajuda nesse Fórum !!! Graças à esses problemas, busquei mais conhecimento, tanto aqui quanto na internet em geral !!! Muito obrigado pela ajuda !!! |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|