SetFocus Está Dando Trabalho
Pessoal, boa noite!!!
Abaixo o codigo de validação de data, até ai tudo bem, está validando tudo certinho, só que no form desse cadastro, possui, os botões, Incluir,Gravar,Alterar,Cancelar,Excluir.Quando eu clico no botão Incluir, ele abre os edit para digitação, mas se eu clicar no botão Cancelar ele não cancela, fica validando a data em branco, trazendo a mensagem do Mess(Frm_Cad_Funcionarios.Handle,''Verifique...'',mb_iconinformation or mb_ok);.Se eu tirar o Msk_Data_Admissao.SetFocus;Ele cancela normal.Mais eu preciso que o foco demostre que está em branco mais se eu clicar no botão cancelar, funcione como tem que funcionar.Alguem ajudaaaaaaaaaaa????
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject);
VAR data : TDate;
begin
try
data := StrToDate(Msk_Data_Admissao.Text);
except
begin
Mess(Frm_Cad_Funcionarios.Handle,''Verifique...'',mb_iconinformation or mb_ok);
Msk_Data_Admissao.SelectAll;
Msk_Data_Admissao.SetFocus;
Abort;
end;
end;
Abaixo o codigo de validação de data, até ai tudo bem, está validando tudo certinho, só que no form desse cadastro, possui, os botões, Incluir,Gravar,Alterar,Cancelar,Excluir.Quando eu clico no botão Incluir, ele abre os edit para digitação, mas se eu clicar no botão Cancelar ele não cancela, fica validando a data em branco, trazendo a mensagem do Mess(Frm_Cad_Funcionarios.Handle,''Verifique...'',mb_iconinformation or mb_ok);.Se eu tirar o Msk_Data_Admissao.SetFocus;Ele cancela normal.Mais eu preciso que o foco demostre que está em branco mais se eu clicar no botão cancelar, funcione como tem que funcionar.Alguem ajudaaaaaaaaaaa????
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject);
VAR data : TDate;
begin
try
data := StrToDate(Msk_Data_Admissao.Text);
except
begin
Mess(Frm_Cad_Funcionarios.Handle,''Verifique...'',mb_iconinformation or mb_ok);
Msk_Data_Admissao.SelectAll;
Msk_Data_Admissao.SetFocus;
Abort;
end;
end;
Bruno Henrique
Curtidas 0
Respostas
Marco Salles
11/07/2013
POE ...
antes de cair no try teste se o foco esta indo para o Botão cancelar ... se sim , sai
[]sds
antes de cair no try teste se o foco esta indo para o Botão cancelar ... se sim , sai
[]sds
GOSTEI 0
Bruno Henrique
11/07/2013
Não Deu Certo!!!Já to pirando.Se eu deixar o campo em branco, ele exibe a mensagem de Verifique e retorna o foco para o campo, agora se eu digitar uma data errada exemplo 10/15/2013 ele não exibe a mensagem,ele foca no campo, mais eu clico no cancelar ai ele cancela.....Ajudaa!!!
GOSTEI 0
Marco Salles
11/07/2013
Mas quando clica no cancelar não [e para ele cancelar mesmo ?????????
GOSTEI 0
Bruno Henrique
11/07/2013
Sim, é pra cancelar, quando eu clico em cancelar é pra cancelar a inclusão.Ele teria que deixar como false todos os edits e ativar os botões incluir, pesquisar, e alterar como true.Mas quando eu clico no botão cancelar, ele intende que o campo data é invalido por estar em branco fica me dando a mensagem do Mess(Frm_Cad_Funcionarios.Handle,'Verifique...',mb_iconinformation or mb_ok);
Esse é o meu botão cancelar
procedure TFrm_Cad_Funcionarios.LimpaCampos;
var i:Integer;
Begin
For i:=0 To (ComponentCount - 1) Do
If Components[i] Is TCustomEdit Then (Components[i] As TCustomEdit).Clear;
Ads_Cad_Funcionarios.Close;
Edt_Comissao.Text:=' 0,00';
f_operacao:='I';
Ads_Cad_Funcionarios.Close;
Ads_Cad_Funcionarios.CommandText:='Select * from Cad_Funcionarios order by nome';
Ads_Cad_Funcionarios.Open;
end;
Esse é o meu botão cancelar
procedure TFrm_Cad_Funcionarios.LimpaCampos;
var i:Integer;
Begin
For i:=0 To (ComponentCount - 1) Do
If Components[i] Is TCustomEdit Then (Components[i] As TCustomEdit).Clear;
Ads_Cad_Funcionarios.Close;
Edt_Comissao.Text:=' 0,00';
f_operacao:='I';
Ads_Cad_Funcionarios.Close;
Ads_Cad_Funcionarios.CommandText:='Select * from Cad_Funcionarios order by nome';
Ads_Cad_Funcionarios.Open;
end;
GOSTEI 0
Marco Salles
11/07/2013
então amigo , reveja o que eu lhe disse no início e vc disse que não deu certo
POE ...
antes de cair no try teste se o foco esta indo para o Botão cancelar ... se sim , sai
[]sds
como vc fez este teste ???
onde vc fez este teste ???
qual a instrução que vc utilizou para implementar este teste ???
[]sds
POE ...
antes de cair no try teste se o foco esta indo para o Botão cancelar ... se sim , sai
[]sds
como vc fez este teste ???
onde vc fez este teste ???
qual a instrução que vc utilizou para implementar este teste ???
[]sds
GOSTEI 0
Bruno Henrique
11/07/2013
Amigão
Depois do begin eu coloquei Btn_Cancelar.SetFocus;
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject);
VAR data : TDate;
begin
Btn_Cancelar.SetFocus;
try
data := StrToDate(Msk_Data_Admissao.Text);
except
begin
Mess(Frm_Cad_Funcionarios.Handle,'Verifique...',mb_iconinformation or mb_ok);
//MessageDLG('Verifique!!!',mtInformation,[mbok],1);
Msk_Data_Admissao.SelectAll;
Msk_Data_Admissao.SetFocus;
Abort;
end;
end;
Depois do begin eu coloquei Btn_Cancelar.SetFocus;
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject);
VAR data : TDate;
begin
Btn_Cancelar.SetFocus;
try
data := StrToDate(Msk_Data_Admissao.Text);
except
begin
Mess(Frm_Cad_Funcionarios.Handle,'Verifique...',mb_iconinformation or mb_ok);
//MessageDLG('Verifique!!!',mtInformation,[mbok],1);
Msk_Data_Admissao.SelectAll;
Msk_Data_Admissao.SetFocus;
Abort;
end;
end;
GOSTEI 0
Marco Salles
11/07/2013
não
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject); VAR data : TDate; begin if Btn_Cancelar.focused then exit; //faça o que vc tem que fazer se não for cancelar end;
GOSTEI 0
Bruno Henrique
11/07/2013
Amigãooo deu certoo!!!Obrigado!!!
Abraçãoaooo
RESOLVIDO
Abraçãoaooo
RESOLVIDO
GOSTEI 0
José
11/07/2013
Obrigado Bruno por seu retorno. Já que o problema foi solucionada estou dando este tópico por concluído.
GOSTEI 0