GARANTIR DESCONTO

Fórum limpando o caption do label no delphi #532782

25/09/2015

0

bom dia

tenho uma tela de login e no lugar de um showmessage para exibir mensagens de usuário e senha inválidos e campos vazios eu gostaria de colocar em um label (estou usando o label 3, 4 e 5 para exibir )como segue o código

procedure TFrmLogin.BitBtnEntrarClick(Sender: TObject);
begin
QueryLoginUser.Open;
if ((QueryLoginUser.Locate('login', EditUsuario.Text, [])) and (QueryLoginUser.Locate('senha', EditSenha.Text, []))) then
begin
GuardaLogin:= EditUsuario.Text;
QueryUserLogado.Insert;
QueryUserLogadoCOD_USUARIO.Value:= QueryLoginUserCODIGO.Value;
QueryUserLogadoSUCESSO.Value:= 'SIM';
QueryUserLogado.Post;
QueryUserLogado.Close();
ModalResult:= mrOk;
end

else // testa se os campos estão vazios
if (EditUsuario.Text = '') or (EditSenha.Text= '') then
begin
Label4.Caption:= 'Campo de usuário ou senha vazio !'; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
EditUsuario.SetFocus;
Inc(tentativasVazio); //acumula valor inteiro
end

else // testa se o conteúdo dos campos usuário e senha são válidos
begin
inc (tentativasValidas); //acumula um valor inteiro
Label3.Caption:='Usuario ou senha inválido!'; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
GuardaLogin:= Edit1.Text;
QueryUserLogado.Insert;
QueryUserLogadoSUCESSO.Value:= 'NÃO';
QueryUserLogadoCOD_USUARIO.Value:= QueryLoginUserCODIGO.Value;
QueryUserLogado.Post;
EditSenha.Clear;
EditUsuario.SetFocus;

end;
// as duas variáveis acumulam um valor inteiro até 3
if (tentativasVazio = 3)or(tentativasValidas = 3) then
begin
label5 :='Tentativas de login inválidas. Essa aplicação será encerrada!'; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Application.Terminate;
end;
end;



o detalhe é que preciso apagar a mensagem quando o setfocus fizer o seu papel e enviar o foco para o editUsuario
Emanuel Gonçalves

Emanuel Gonçalves

Responder

Posts

25/09/2015

Maycon Felippe

Bom dia.
Você gostaria de colocar um label para exibir a msg do showmessage .
Tipo retirar o showmessage e colocar o label no lugar dele é isso ?
Responder

Gostei + 0

25/09/2015

Emanuel Gonçalves

Bom dia.
Você gostaria de colocar um label para exibir a msg do showmessage .
Tipo retirar o showmessage e colocar o label no lugar dele é isso ?




isso mesmo

já tenho 3 label´s no form e q ideia é essa, quando for digitado usuário ou senha inválidos o respectivo label mostrar a mensagem para em seguida o editUsuario receber o setfocus e o label apagar a mensagem, até pq se o usuário acertar na segunda tentativa é legal q não tenha mensagem no form.
Responder

Gostei + 0

25/09/2015

Maycon Felippe

Mas o codigo que você postou não funciona assim exibindo pro um label ?
Responder

Gostei + 0

25/09/2015

Emanuel Gonçalves

Mas o codigo que você postou não funciona assim exibindo pro um label ?



Funciona sim, o detalhe está na imagem logo abaixo, observe que na tela login já aparece a mensagem (Usuário ou senha inválido) isso pq já foi feito uma tentativa de login e a senha estava errada, o nome VITOR no campo usuários e a SENHA presente no campo senha já estão corretos partindo para a segunda tentativa (nesse caso vai da certo)

[img]http://arquivo.devmedia.com.br/forum/imagem/447550-20150925-140722.jpg[/img]


eu quero que a mensagem desapareça ao identificar q estão corretos usuário e senha antes de fazer o teste no botão entrar
Responder

Gostei + 0

25/09/2015

Maycon Felippe

Esta dizendo que na sua segunda tentativa ele mesmo tando certo ele exibe a msg.. Correto?

se for isso você precisa colocar uma outra condição pra verificar antes de chegar na msg

tipo.. if segunda tentativa = OK then
aqui você já chama o form..

Seria isso ?
Responder

Gostei + 0

25/09/2015

Emanuel Gonçalves

Esta dizendo que na sua segunda tentativa ele mesmo tando certo ele exibe a msg.. Correto?

se for isso você precisa colocar uma outra condição pra verificar antes de chegar na msg

tipo.. if segunda tentativa = OK then
aqui você já chama o form..

Seria isso ?



vou tentar
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar