Form de Login - controlar Form1 e Form2
Peguei este exemplo:
{
* Crie um novo Projeto. Este certamente terá o Form1.
* Adicione um novo Form (Form2).
* Coloque no Form2 dois botões TBitBtn.
* Mude a propriedade Kind do BitBtn1 para bkOK.
* Mude a propriedade Kind do BitBtn2 para bkCancel.
* Vá no menu ´Project/Options´ na aba ´Forms´ e passe o
Form2 de ´Auto-create Forms´ para ´Available Forms´.
* Abra o arquivo Project.dpr (menu Project/View Source).
* Altere o conteúdo deste arquivo conforme abaixo:
}
program Project1;
uses
Forms, Controls,
Unit1 in ´Unit1.pas´ ,
Unit2 in ´Unit2.pas´ ;
{$R *.RES}
var
F: TForm2;
begin
F := TForm2.Create(Application);
try
if F.ShowModal = mrOK then begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
finally
F.Free;
end;
end.
Tudo certinho, mas to sem conseguir controlar a condição no BitBtn1.
Quando dou Ok ele testa minha condição de login, mas depois abre o Form1 e fecha o Form2. Como controlar ??
[b:9c23020746]Título editado: ´FORM DE LOGIN - DÚVIDA (deve ser simples)´[/b:9c23020746]
Não escreva o título do tópico utilizando caixa alta. Veja a [url=http://forum.clubedelphi.net/viewtopic.php?p=17019#1c]cláusula 1c[/url] das Regras de conduta.
Sandra/Moderação
{
* Crie um novo Projeto. Este certamente terá o Form1.
* Adicione um novo Form (Form2).
* Coloque no Form2 dois botões TBitBtn.
* Mude a propriedade Kind do BitBtn1 para bkOK.
* Mude a propriedade Kind do BitBtn2 para bkCancel.
* Vá no menu ´Project/Options´ na aba ´Forms´ e passe o
Form2 de ´Auto-create Forms´ para ´Available Forms´.
* Abra o arquivo Project.dpr (menu Project/View Source).
* Altere o conteúdo deste arquivo conforme abaixo:
}
program Project1;
uses
Forms, Controls,
Unit1 in ´Unit1.pas´ ,
Unit2 in ´Unit2.pas´ ;
{$R *.RES}
var
F: TForm2;
begin
F := TForm2.Create(Application);
try
if F.ShowModal = mrOK then begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
finally
F.Free;
end;
end.
Tudo certinho, mas to sem conseguir controlar a condição no BitBtn1.
Quando dou Ok ele testa minha condição de login, mas depois abre o Form1 e fecha o Form2. Como controlar ??
[b:9c23020746]Título editado: ´FORM DE LOGIN - DÚVIDA (deve ser simples)´[/b:9c23020746]
Não escreva o título do tópico utilizando caixa alta. Veja a [url=http://forum.clubedelphi.net/viewtopic.php?p=17019#1c]cláusula 1c[/url] das Regras de conduta.
Sandra/Moderação
Laelsonc
Curtidas 0
Respostas
Rjun
15/04/2005
Bom, pelo código o comportamente teria q ser isso mesmo. Oq vc quer realmente que aconteça ?
GOSTEI 0
Laelsonc
15/04/2005
Ora, quero que se a condição for falsa ele não abra nada. D~e tipo uma mensagem: Senha incorreta !
Valeus..
Valeus..
GOSTEI 0
Rjun
15/04/2005
Voce deve tratar isso no evento OnCloseQuery do Form2.
Se a senha for incorreta, exiba a mensagem que vc quiser e altere o valor da variavel CanClose para false, desse modo o Form2 não é fechado;
Se a senha for incorreta, exiba a mensagem que vc quiser e altere o valor da variavel CanClose para false, desse modo o Form2 não é fechado;
GOSTEI 0
Laelsonc
15/04/2005
CanClose, que variável é essa ?
Obs.: A minha condição de login é simples, não to usando banco ainda...
Obs.: A minha condição de login é simples, não to usando banco ainda...
GOSTEI 0
Rjun
15/04/2005
Abre o Form2. Na janela de propriedades de um duplo clique no evento OnCloseQuery. Voce pode reparar que na lista de parametros tem a variavel CanClose. Essa variavel voce deve setar para false, impedindo desse modo que a janela seja fechada.
Ex:
Código tosco. Isso é só um exemplo para ter uma idéia.
[/code]
Ex:
Código tosco. Isso é só um exemplo para ter uma idéia.
if (Senha <> ´Senha´) then begin ShowMessage(´A senha informada é incorreta.´); Canclose := False; end;
GOSTEI 0
Laelsonc
15/04/2005
Garoto esperto....valeu mesmo brother ! :lol:
GOSTEI 0
Laelsonc
15/04/2005
Espere, mas agora o botão FECHAR não funcionar a não ser q atenda a condição ( a senha estiver correta ). O botão OK tranquilo, parece q todos se tranformam botão q testa a condicional.
Como fazer agora ?
Como fazer agora ?
GOSTEI 0