Tela de Login ao sistema

Delphi

06/11/2003

Caros Colegas !

Gostaria de saber se alguém tem ou sabe um exemplo de como eu colocar tela de login ao sistema que estou desenvolvendo . Só que tem um porém. Se o usuário tentar logar 3 vezes com um nome/senha incorretos fecha o sistema e se logar correto , aparece no form principal o nome dele numa , sei lá , Status bar , Panel , Label , etc...


Supondo .... Digitei o nome de usuário João , digitei a senha , cliquei em OK e loguei . Aí na propriedade caption de um Panel ( por exemplo ) aparece o nome digitado na janela de Login .


Supondo que eu errei . ..... o usuário é joao , eu digitei a primeira vez :
jose , tentei logar .... deu a mensagem : Login incorreto , você tem mais 2 chances de acesso . Aí digitei novamente errado , tentei logar , de a mensagem: Login incorreto, você tem mais 1 chance de acesso ! . Aí digite errado denovo ! Aparece agora : Essa é a ultima tentativa . Não erre ! Ai o burro , errou denovo . Aparece a mensagem : VOcê errou 3 vezes o login do sistema , o mesmo será interrompido ! Aí só tem o botão de ok , a pessoa clica no ok e..... o programa fecha !



Obrigado Pessoal !! :)


Tiagojmilam

Tiagojmilam

Curtidas 0

Respostas

Ricvictor

Ricvictor

06/11/2003

Tiago ... o negócio é o seguinte:
Você cria um form de login ... exemplo: FrmLogin. Deixa ele do jeito que você quizer... No seu form principal mais precisamente no evento OnActivate, você irá chamar o seu form de login e dá um showmodal nele ... Application.CreateForm(TFrmLogin, FrmLogin);
FrmLogin.showmodal;
Como exemplo, coloque um panel (podendo ser qualquer um dos componentes que vc já citou ... status bar etc etc) no seu form principal para receber o nome/login do usuário. Supondo que você já tenha definido o componente que fará a comunicação com a sua base de dados ... continuemos no form de login ... No botão conectar/entrar (no evento OnClick), coloque:
Try
//Recebe o nome do Servidor, o Usuario e a Senha para efetuar a conexão..
With FrmPrincipal.Connection do //Connection -> componente de conexão
begin
Connected:=false;
Params[1] := ´HostName=´+CBServidor.text; //CBServidor -> componente que venha receber/identificar o servidor
Params[3]:=´User_Name=´+Edtusuario.text; //Edtusuario -> Edit que vai receber o login do usuário
Params[4]:=´PASSWORD=´+EdtSenha.text; //EdtSenha -> Edit que vai receber a senha do usuário
Connected:=true;
end
except
Application.MessageBox(´Falha na conexão com o Banco!´+#13+´Verifique Senha ou Usuário Inválido´,´Veirifique´,MB_ICONWARNING+MB_OK);
contsenha:=contsenha + 1; //variável de indicação do número de acessos, podendo ser declarada até mesmo na procedure local. Inicialize com 0.
if contsenha > 3 then
begin
Application.MessageBox(´Você Não Tem Permissão Para Entrar no Sistema!´+13+´Procure o Seu Administrador!´,´Cuidado´,MB_ICONWARNING+MB_OK);
Application.terminate;
end;
Abort;
end;

Pronto !! Espero que tenha clareado mais ... um abraço.


GOSTEI 0
Juliocb

Juliocb

06/11/2003

a este tópico com base no código acima.
como ficaria se eu tenho uma tabela ?

tabela01

nome A *
senha A 10


GOSTEI 0
Ricvictor

Ricvictor

06/11/2003

Olá Julio ...

... eu não entendi muito bem a tua pergunta, mas de todo caso, o componente responsável pela conexão com o seu Banco já verificará se o usuário que está tentando se logar esta habilitado ou não para acessar o Banco.

Ok ?!
Ricardo - Natal/RN.


GOSTEI 0
Juliocb

Juliocb

06/11/2003

Oi Ricardo!

o que eu quero saber como ficaria buscando,
dados na (tabela01) escrevendo um código completo
{uso exclusivo tabela01}

tabela01

nome A *
senha A 10


GOSTEI 0
Ricvictor

Ricvictor

06/11/2003

Júlio ...

... me desculpe, mas confesso que tá complicado de entender a tua dúvida. Me mande por e-mail então como que está o teu código, falando mais detalhado a tua dúvida, que tentarei dar uma explanação melhor sobre ...

Valeu ?!
Fico no aguardo.

Ricardo - Natal/RN.
ricvictor@unp.br


GOSTEI 0
Orlandotosta

Orlandotosta

06/11/2003

Veja em OTLib

www.noclop.hpg.ig.com.br/OTLib.html


GOSTEI 0
Juliocb

Juliocb

06/11/2003

oi doutores !
A respeito do código acima ja está mais claro
e aguardo do Ricardo endereço de E-mail para que eu envie minhas
dúvidas; Pois para o endereço que está acima ja enviei dúvidas
mas não recebi o retorno. caso queira o meu E-mail (julioepat@bol.com.br) .

obrigado a todos:
Júlio


GOSTEI 0
POSTAR