Permanecer o Form aberto
09/11/2009
0
Pessoal
Estou fazendo uma rotina aqui para logar no sistema informando login e senha.. Porém quando é informado o LOGIN errado ou senha está fechando o form mas quero que ele permaneça aberto. Segue abaixo o código:
if (trim(edUsuario.text) <> '') and
(trim(edSenha.Text) <> '') then
begin
SqlBusca := TSqlDataset.Create(Nil);
with SqlBusca do
begin SQLConnection := DmConexao.SqlConexao; s := ' Select * from CADUSU U WHERE U.dslog_usu = ' +
QuotedStr(edUsuario.Text); Close;
CommandText := '';
CommandText := s;
Open;
if not Eof then
begin
sSenha := unFuncao.Cripto(trim(edSenha.Text));
s := ' Select * from CADUSU U WHERE U.dslog_usu = ' +
QuotedStr(edUsuario.Text) +
' and u.DSSEN_USU = ' + QuotedStr(sSenha); Close;
CommandText := '';
CommandText := s;
Open;
if Eof then
begin
Application.MessageBox('Senha não confere','Alerta',
mb_iconwarning);
// abort;
end
else
begin
if Application.findcomponent('TfrmPrincipal') = nil then
begin
Screen.Cursor := crHourglass;
Application.Createform(TfrmPrincipal, frmPrincipal);
frmPrincipal.Name := 'TfrmPrincipal';
Screen.Cursor := crDefault;
cascade;
end
else
begin
TForm( Application.findcomponent('TfrmPrincipal')).BringToFront;
Ativo := FrmAcesso.ActiveMDIChild;
Ativo.WindowState := wsNormal;
end;
end;
end
else
begin
Application.MessageBox('Usuário não confere','Alerta',
mb_iconwarning); end;
end;
end;
FreeAndNilObj([SqlBusca]);
end; Estou usando Delphi 7 + Firebird + dbx Fico no aguardo
(trim(edSenha.Text) <> '') then
begin
SqlBusca := TSqlDataset.Create(Nil);
with SqlBusca do
begin SQLConnection := DmConexao.SqlConexao; s := ' Select * from CADUSU U WHERE U.dslog_usu = ' +
QuotedStr(edUsuario.Text); Close;
CommandText := '';
CommandText := s;
Open;
if not Eof then
begin
sSenha := unFuncao.Cripto(trim(edSenha.Text));
s := ' Select * from CADUSU U WHERE U.dslog_usu = ' +
QuotedStr(edUsuario.Text) +
' and u.DSSEN_USU = ' + QuotedStr(sSenha); Close;
CommandText := '';
CommandText := s;
Open;
if Eof then
begin
Application.MessageBox('Senha não confere','Alerta',
mb_iconwarning);
// abort;
end
else
begin
if Application.findcomponent('TfrmPrincipal') = nil then
begin
Screen.Cursor := crHourglass;
Application.Createform(TfrmPrincipal, frmPrincipal);
frmPrincipal.Name := 'TfrmPrincipal';
Screen.Cursor := crDefault;
cascade;
end
else
begin
TForm( Application.findcomponent('TfrmPrincipal')).BringToFront;
Ativo := FrmAcesso.ActiveMDIChild;
Ativo.WindowState := wsNormal;
end;
end;
end
else
begin
Application.MessageBox('Usuário não confere','Alerta',
mb_iconwarning); end;
end;
end;
FreeAndNilObj([SqlBusca]);
end; Estou usando Delphi 7 + Firebird + dbx Fico no aguardo
Rogerio Santos
Curtir tópico
+ 0
Responder
Posts
10/11/2009
Marcos Iwazaki
Amigo...
Pelo jeito o seu sistema esta no começo. Ja que esta fazendo o login.
Aconselho a estudar um pouco mais algumas coisas
Pelo que entendi no seu codigo essa tela de Login é a tela principal? Se for esta errado.. a tela principal como o proprio nome diz é o 'TfrmPrincipal'. Vc poderia fazer a tela de login abrir apos dar um create no principal ou no Show dele.
Evitar de usar o "with xxxx do" principalmente para codigos extensos. Para dar manutenção ou para postar nos foruns e pedir ajuda, isso complica bastante.Vc poderia criar um metodo para validar o login e senha, Por exempo Function ValidarLogin(aLogin,aSenha:string) :boolean. Dae para vc usar fica mais simples.No lugar de "if Eof then" o melhor seria usar o IsEmpty
Pelo jeito o seu sistema esta no começo. Ja que esta fazendo o login.
Aconselho a estudar um pouco mais algumas coisas
Pelo que entendi no seu codigo essa tela de Login é a tela principal? Se for esta errado.. a tela principal como o proprio nome diz é o 'TfrmPrincipal'. Vc poderia fazer a tela de login abrir apos dar um create no principal ou no Show dele.
Evitar de usar o "with xxxx do" principalmente para codigos extensos. Para dar manutenção ou para postar nos foruns e pedir ajuda, isso complica bastante.Vc poderia criar um metodo para validar o login e senha, Por exempo Function ValidarLogin(aLogin,aSenha:string) :boolean. Dae para vc usar fica mais simples.No lugar de "if Eof then" o melhor seria usar o IsEmpty
Responder
Clique aqui para fazer login e interagir na Comunidade :)