Fórum help como fechar o form loguin apos o loguin e continuar usando o programa #414443

23/03/2012

0

bom, criei um form2 para fazer uma tela de loguin para meu programa, até ai tudo bem, mas quando eu executo eu digito o loguin e senha e ele fecha o programa, queria que ele fechase apenas o form loguin que é o form que pede o usuario e senha para acessar o sistema, tentei o close, mas ele fecha e o hide minimiza e o programa fica rodadando em segundo plano pq quando fecho ele o form loguin ta hide olha o codigo, se alguem puder ajudar, eu precisso fechar o form loguin e continuar usando o protgrama com o form principal.

dm.q_usuarios.sql.clear; //DM é meu DataModule e o q_usuarios é o ADOQuery
dm.q_usuarios.sql.add(Select * from usuarios); //tbl_usuario é minha tabela dentro do BD access
dm.q_usuarios.sql.add(where Loguin = +quotedstr(Edit1.Text));
dm.q_usuarios.open;
if (Edit2.Text<>) and (Edit1.Text<>) then begin // aqui indica as EDIts senha e usuario
if (Edit2.Text = dm.q_usuarios.fieldbyname(Senha).AsString) and //filtra o que você digitou em senha com o que tem cadastrado no senha (que é o campo dentro de minha tabela)
(Edit1.Text = dm.q_usuarios.fieldbyname(Loguin).AsString) // aqui filtra por usuario
then begin
Form1.show;
Edit1.clear;
Edit2.clear;
Form2.Close;
Form1.show;
end else begin
MessageBox(handle,Usuário ou Senha inválido,ATENÇÃO!,MB_ICONERROR + MB_OK); //caso a comparacao acima esteja errada, então é apresentado este aviso
Edit2.Text := ;
Edit1.Text := ;
Edit1.SetFocus;
end;
end else
MessageBox(handle,Preencha o Campo Usuário e Senha,ATENÇÃO!,MB_ICONERROR + MB_OK); //aqui é se algum zé ruela deixar um dos campos em branco! xDD~ rss...
end;
end;
Jonatan Santos

Jonatan Santos

Responder

Posts

23/03/2012

Joel Rodrigues

Tem um post recente semelhante a esse.
Acontece o seguinte: por padrão o primeiro form que é exibido é o form principal da aplicação, no seu caso, o form de login.
O que você precisa é deixar o form principal como sendo o primeiro, e ao abri-lo, chamar o form de login. Se o login for efetuado, apenas feche o form e exiba o principal.

Boa sorte.
Responder

Gostei + 0

23/03/2012

Jonatan Santos

Eu fiz isso, o form principal é o form1 que é principal, e o de login é o form2, só queria um comonado para fechar o form2(loguin), porque o hide o programa fica rodando em segundo plano.
Responder

Gostei + 0

23/03/2012

Joel Rodrigues

Lá em Projetct > Options > Forms, qual é o primeiro form da lista? Form1 ou Form2?
A aplicação só é encerrada quando se fecha o primeiro form da lista.
Responder

Gostei + 0

23/03/2012

Felipe Rau

Poderá fazer da seguinte maneira no view source a seguinte programação

Form2 := Form2.Create(Application);
If Form2.ShowModal = mrOk Then
Begin
Application.CreateForm(Form1, TForm1);

Application.Run;
End Else
Application.Terminate;

Caso o retorno no login seja Ok - irá executar o programa caso contrario o programa será encerrado sem ter criado nenhuma tela do sistema, acredito que seja mais rápido


www.folhadefloripa.com.br
Responder

Gostei + 0

23/03/2012

Jonatan Santos

Pois é ta ae o erro é o form2 o primeiro, só que como faço para chamar o form2 que é o de loguin antes de executar o form1 que é o principal
Responder

Gostei + 0

23/03/2012

Jonatan Santos

consegui chamar do seguinte modo

coloquei no evento onShow e deu certo!


with TForm2.Create(Application) do
begin
try
ShowModal;
finally;
free;
end;
end;
end;

end.


mas quando digito o loguin e senha

não acontece nada
Responder

Gostei + 0

23/03/2012

Joel Rodrigues

Sendo o Form1 o primeiro, você pode colocar esse código no evento onCreate do Form1, dessa forma, assim que o Form1 for criado, ele chamará o de login que, ao ser fechado, devolverá o foco para o principal.
Responder

Gostei + 0

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

Aceitar