Tela de login no Delphi XE8

23/03/2017

0

Gente Boa Noite, estou com um pequeno probleminha, e estou martelando muito nisso.
eu estou montando um sistema de vendas, ai eu criei um form de splash certinho, e a de login tbm, ai eu ponho o login e a senha vai certinho, porem quando clico no botão do (x) pra fechar o form de login, ela entra no form principal como se eu estivesse logado, por favor alguem pode me ajudar.

desde já

agradeço muito.

e detalhe comecei um pouquinho de tempo somente estudando com o DEV Media e videos, muito obrigado à todos.
Yuri Menechelli

Yuri Menechelli

Responder

Posts

23/03/2017

Raimundo Pereira

Bom dia.

Você pode criar uma variavel global "Logado:string"
Quando você realizar login preenche esta variável com Logado:='S';
Então no seu form principal você coloca um timer , que deverá verifica se a variável é diferente de S.

IF Logado<>'S' then
begin
Timer.enabled:=false;
login.showmodal;
end;
Responder

23/03/2017

Ermesom Lourenco

Como está sendo feita a chamada da tela de login?
Eu resolvi este problema de forma simples, criando uma função na tela de login que retorna Booleano se foi realizado o login ou não. Dentro desta função eu tenho a chamada da própria tela de login e todo o tratamento para ver se o usuário cancelou. Caso retorne False no login o FormPrincipal chama a função Application.Terminate; que fecha a aplicação e assim o usuário não terá acesso.

Existem N outras formas de se resolver o caso, mas creio que esta seja a mais simples.
Também poderia fazer a função Login(); retornar um objeto contendo o usuário logado, que no caso se estiver Null (ou Nil no delphi) o sistema se auto fecharia.
Responder

23/03/2017

Yuri Menechelli

olha estou fazendo a chamada da tela de login pelo TfrmPrincipal.FormCreate, esta mais ou menos assim:

procedure TfrmPrinipal.FormCreate(Sender: TObject);
begin
frmSplash := TfrmSplash.Create(nil);
try
frmSplash.ShowModal;
finally
FreeAndNil(frmSplash);
end;
{frmLogin := TfrmLogin.Create(nil);
try
frmLogin.ShowModal;
if frmLogin.ModalResult = mrNo then
Application.Terminate;

finally
FreeAndNil(frmLogin);
end;}
end;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar