Fórum Eu queria 3 tentativas de acesso ao sistema #217191

28/02/2004

0

Olá pessoa me lembrei de mais uma implementação que gostaria de fazer no meu projeto com ajudar de voces. :lol:

Seguinte uso esse codigo para acessar o sistema a questão e que se eu erro a senha e pula logo fora e eu tenho que chamar o programa novamente, o que eu queria era 3 tentativas de acesso antes do formlogin desaparecer.

Eu gostaria se possivel de uma solução em cima desse codigo

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;

Obrigado
end;


Wagner

Wagner

Responder

Posts

28/02/2004

Edilcimar

crie uma variável, no onshow do form zere a mesma e depois no clique do botão do botão OK, o qual deverá estar dentro de um loop, verifique se a mesma é maior que a quantidade que vc quer, no caso 3, se for maior termine a aplicação, caso contrário continue dentro do loop verificando se verdadeiro ou falso


Responder

Gostei + 0

28/02/2004

Wagner

Obrigado!

Agora que eu já sei o que fazer :D
Vou ver agora como fazer :cry:

Já que me explicou o que fazer pode me ensinar a fazer
:lol:


Responder

Gostei + 0

28/02/2004

Edilcimar

crie a variável por exemplo i: word (Não precisa ser integer já que só vai utilizar 3 e integer gasta mais memória)

no onshow coloque
for i := 1 to 3 do
begin
cloque aqui o código de checagem da senha
If senha = verdadeira then
begin
feche o form e asinale a senha como verdadeira e dê um break
end
else (se a senha for falsa)
begin
if i > 3 then
application.terminate
else
continue o loop para a incrementação de i
end
end


Responder

Gostei + 0

03/03/2004

Wagner

Ainda não deu certo :cry: :cry: :cry: :cry:


Responder

Gostei + 0

03/03/2004

Bestschmidt

Tente fazer o seguinte:

1) Crie uma variável global pública do tipo boolean, de modo que esta pode ser acessada por outro formulário;

2) Crie outra variável, como edilcimar escreveu, do tipo word (esta tbém deve ser global, mas pode ser privada);

3) Na procedure OnCreate do form de login, inicie estas variáveis: a booleana com false e a word com 0;

4) Na procedure OnClick do botão de login, coloque o seguinte código:

if tabelaUsuario.Locate(´Login´, editLogin.Text, []) then
begin
if tabelaUsuarioSENHA.Value = editSenha.Text then
begin
ok:= True;
modalResul:= mrOk;
end
else
begin
if contatentativas > 2 then
begin
ok:= false;
modalResult:= mrCancel;
end
else
begin
ok:= false;
Application.MessageBox(´Senha Inválida !´, ´Atenção´, MB_OK or MB_APPLMODAL or MB_ICONWARNING);
editSenha.SetFocus;
Inc(contatentativas);
end;
end;
end
else
begin
if contatentativas > 2 then
begin
ok:= false;
modalResult:= mrCancel;
end
else
begin
ok:= false;
Application.MessageBox(´Usuário Inválido !´, ´Atenção´, MB_OK or MB_APPLMODAL or MB_ICONWARNING);
Inc(contatentativas);
editLogin.SetFocus;
end;
end;
end;

Note que a variável global ok só recebe true se o login e a senha estão corretos.

5) No source do projeto (menu Project/View Source), logo depois que o formulário de login é criado, faça a verificação
if frmLogin.ok then
Application.Run;


Pode parecer meio complicado, mas funciona.

Espero que te ajude.


Responder

Gostei + 0

08/03/2004

Santiago

Tenta assim:

1)declare a variável ´verificar´ como public do tipo integer:

2)No evento Onactive fo form escreva:
verifica := 1;

3)No clique do botão tenta assim:

if tabelaUsuario.Locate(´Login´, editLogin.Text, []) then
begin
if tabelaUsuarioSENHA.Value = editSenha.Text then
begin
(chama seu programa)
end
else
begin
verifica := verifica+1;
if verifica = 3 then
begin
application.terminate;
end;
end;

Eu acho que vai funcionar, e que no meu trabalho tivemos problemas e acabamos por formatar as máquinas e eu tô sem o Delphi, qualquer coisa se eu que tô começando puder ajudar posta aí ou me manda um e-mail bgsac@ig.com.br


Responder

Gostei + 0

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

Aceitar