Fórum Indetificar usuario logado em um canto do form #217172
28/02/2004
0
Seguinte pessoal! eu tenho um form login no meu projeto que o cara se identifica com login e senha que ele vai pesquisar no banco de dados (tabelausuario) se login e senha correto ele entra. O que eu queria era que em algum lugar no form atraves de um caption ou no statusbar identificar o usuario que esta logado :lol: Tem como fazer isso? o codigo de acesso que eu isso e esse:
procedure Tformlogin.BitBtn1Click(Sender: TObject);
begin
if not tabelaUsuario.Locate(´senha;login´,vararrayof([editsenha.Text,editusuario.text]),[]) then
begin
Application.MessageBox(´Ops! Usuario e/ou senha não autorizados!´,´Atenção!´,mb_iconStop+mb_ok);
editsenha.clear;
editusuario.SetFocus;
editusuario.SelStart:=0;
exit;
end
else
begin
fechar:=1;
close;
end;
end;
Obrigado, Uh! lembrei que eu tenho outra duvida sobre senha mais vou abrir outro topico, pra não misturar
Wagner
Curtir tópico
+ 0Posts
28/02/2004
Aroldo Zanela
Basta utilizar algo como:
FormX.Caption := FormX.Caption + ´(´+tbUsuariosNOME.Value+´)´;
Lembrando que a RxLib ou JediVCL possuem um componente que faz isso automaticamente.
Gostei + 0
28/02/2004
Wagner
Em que evento eu informo esse codigo?
Onde posso encontrar esses componetes?
Gostei + 0
28/02/2004
Aroldo Zanela
Na www.torry.net (huge components). No evento OnBeforeLogin.
Gostei + 0
28/02/2004
Wagner
Basta utilizar algo como:
FormX.Caption := FormX.Caption + ´(´+tbUsuariosNOME.Value+´)´;
Desculpe-me a insistência Caro Aroldo e aproveito para agradeçer sua atenção, mais, mais eu ainda não entendi bem onde vai aparecer no formulario nome do usuario que logou? eu tenho varios form e queria identificar em cada form o nome do usuario logado, isso é possivel?
Gostei + 0
28/02/2004
Mccs
Pronto, ao se logar no sistema no mesmo método você passa o nome do usuário para essa variável. Simples.
Agora, é necessário você declarar a uses uTipos na outras unit´s de seu interesse. O que seria mais correto é exibir essa informação na janela principal.
Espero ter ajudado.
Marcelo Rezende Cavalcanti.
Gostei + 0
28/02/2004
Dbergkamps
Vc coloca uma status bar e no primeiro panels voce coloca:
StatusBar1.Panels[0].Text:=TabelaUsuarioNomedeusuario.Value;
onde nome de usuario eh um campo da tabela
Vc coloca este codigo no onshow do formulario que vc quer que apareca.
Gostei + 0
28/02/2004
Wagner
Isso funciona com um Label1.caption
Tipo
label1.caption:=TabelaUsuarioNomedoUsuario.value;
Gostei + 0
29/02/2004
Wagner
Agradeço a todas as dicas estou tentado usar a do bergkamps
StatusBar1.Panels[0].Text:=[color=blue:616265c7d0]TabelaUsuarioNomedeusuario[/color:616265c7d0].Value; //mais da um erro nesse ponto como se o nome do usuario não foi declarado, mais eu verifiquei tudo. O que pode esta passando despercebido :cry: ?
Gostei + 0
29/02/2004
Aroldo Zanela
Mude a propriedade SimplePanel para true e faça algo como sugerido, com as seguintes modificações:
StatusBar1.SimpleText := TabelaUsuarioNomedeusuario.Value;
Lembrando que o objeto TabelaUsuarioNomedeusuario deve ser substituído pelo objeto correspondente de sua tabela.
Gostei + 0
29/02/2004
Dbergkamps
ainda da erro?
qual a mensagem?
no meu funciona corretamente, mande o erro para ver no que podemos ajuda-lo
Gostei + 0
29/02/2004
Wagner
Funcinouuuuu!!!ehehehehe
Obrigado.
:lol: Ops! tem como botar o nome Usuario na frente, tipo: Usuario: Fulano
Gostei + 0
29/02/2004
Dbergkamps
em programacao vc pode tudo (meu professor disse que a gente so nao pode fazer um menino, mas o resto...., alias ate faz a gente pode desenhar :lol: :lol: :lol: :lol: :lol: )
Sim cara, voltando ao assunto coloque
StatusBar1.Panels[0].Text:=´Usuario: ´ + Dtmo.TabelaUsuarioNomeUsuario.Value;
Valeu cAra,
qualquer coisa ja sabe
Gostei + 0
29/02/2004
Wagner
Obrigado pela atenção de todos, Estou resolvendo quase todas os meus topico do fim de semana
Gostei + 0
29/02/2004
Wagner
Cantei vitoria antes do tempo
Seguinte: seguinte se eu tenho mais de um usuario cadastro??? ele esta pegando o ultimo usuario do cadastro de usuario
Se tenho José, Maria e João. Nao importa se voce entre com o usuario José ou Maria vai aparecer o João :cry:
StatusBar1.SimpleText := ´ Usuario: ´ + form1.tabelausuariologin.Value
O que pode ser feito???
Gostei + 0
29/02/2004
Aroldo Zanela
Veja o seguinte exemplo utilizando o rxLoginDialog da RxLib:
procedure TForm1.FormCreate(Sender: TObject); begin DesabilitarMenus; if pldSammc.Login then begin Sleep(500); HabilitarMenus; sbSammc.Panels[1].Text := qUsuariosUSU_NOME.Value; end else pldSammc.TerminateApplication; end; procedure TForm1.pldSammcCheckUser(Sender: TObject; const UserName, Password: String; var AllowLogin: Boolean); begin qUsuarios.Close; qUsuarios.ParamByName(´USU_ID´).AsString := UserName; qUsuarios.ParamByName(´USU_SENHA´).AsString := Password; qUsuarios.Open; if (qUsuarios.RecordCount<=0) or (Password=´´) then begin MessageDlg(´Usuário ou Senha inválida. Tente novamente!´,mtError,[mbCancel],0); AllowLogin := false; end; end;
Note que o SQL restringe para localizar apenas um único usuário, onde deve corresponder o user e a password.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)