Ajuda com componente TDateEdit (Aba RxControl)
Ola,
Meu problema tah no momento em que escolho da data para pesquisa e teclo enter, a data esta se apagando.
Alguem pode me ajudar?
Obrigado
Deus Abençoe
Meu problema tah no momento em que escolho da data para pesquisa e teclo enter, a data esta se apagando.
Alguem pode me ajudar?
Obrigado
Deus Abençoe
Wilton Júnior
Curtidas 0
Respostas
Felipe Passos
08/11/2012
Boa tarde,
poste o código do onkeypress deste componente para darmos uma olhada.
Abraços.
poste o código do onkeypress deste componente para darmos uma olhada.
Abraços.
GOSTEI 0
Claudia Nogueira
08/11/2012
Isso é bem característico de campo DB.
Será que não colocou trocado no lugar do TDateEdit o TDBDateEdit?
Será que não colocou trocado no lugar do TDateEdit o TDBDateEdit?
GOSTEI 0
Wilton Júnior
08/11/2012
Claudiadnh eu sou bem lesado para fazer isso mas dessa vez coloquei certinho.
procedure TForm1.DateEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = vk_return) or (key = vk_tab)) then
begin
if dateedit1.Text = ' / / ' then
begin
close;
exit;
end;
dateedit2.enabled:=true;
dateedit2.setfocus;
end;
end;
procedure TForm1.DateEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = vk_return) or (key = vk_tab)) then
begin
if dateedit1.Text = ' / / ' then
begin
close;
exit;
end;
dateedit2.enabled:=true;
dateedit2.setfocus;
end;
end;
GOSTEI 0
Joel Rodrigues
08/11/2012
No evento onExit desse DateEdit ou no onEnter do DateEdit2 tem algum código?
GOSTEI 0
Wilton Júnior
08/11/2012
Ae Joel valeu pela dica olha o que o lesado do outro programador fez:
procedure TForm.DateEdit2Exit(Sender: TObject);
begin
if dateedit2.date <= 0 then
begin
dateedit1.clear;
dateedit2.enabled:=false;
dateedit1.setfocus;
exit;
end;
if dateedit2.date < dateedit1.date then
begin
showmessage('Periodo Invalido');
dateedit1.clear;
dateedit2.clear;
dateedit2.enabled:=false;
dateedit1.setfocus;
exit;
end;
speedbutton1.enabled:=true;
maskedit3.enabled:=true;
maskedit3.setfocus;
end;
procedure TForm.DateEdit2Exit(Sender: TObject);
begin
if dateedit2.date <= 0 then
begin
dateedit1.clear;
dateedit2.enabled:=false;
dateedit1.setfocus;
exit;
end;
if dateedit2.date < dateedit1.date then
begin
showmessage('Periodo Invalido');
dateedit1.clear;
dateedit2.clear;
dateedit2.enabled:=false;
dateedit1.setfocus;
exit;
end;
speedbutton1.enabled:=true;
maskedit3.enabled:=true;
maskedit3.setfocus;
end;
GOSTEI 0
Claudia Nogueira
08/11/2012
Hehehe não é lesado não. É que as vezes a gente se confunde na hora de puxar o componente.
Veja se tem alguma coisa no onEnter ou no onExit igual o pessoal sugeriu.
Nesse seu código tem um Close, não que tenha a ver, mas você quer realmente fechar a tela quando a data for vazia?
Um jeito melhor de verificar se é uma data valida com o TDateEdit é:
Aí avisa aqui. :)
Veja se tem alguma coisa no onEnter ou no onExit igual o pessoal sugeriu.
Nesse seu código tem um Close, não que tenha a ver, mas você quer realmente fechar a tela quando a data for vazia?
Um jeito melhor de verificar se é uma data valida com o TDateEdit é:
if dateedit1.Date <= 0 then
Aí avisa aqui. :)
Claudiadnh eu sou bem lesado para fazer isso mas dessa vez coloquei certinho.
procedure TForm1.DateEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = vk_return) or (key = vk_tab)) then
begin
if dateedit1.Text = ' / / ' then
begin
close;
exit;
end;
dateedit2.enabled:=true;
dateedit2.setfocus;
end;
end;
procedure TForm1.DateEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = vk_return) or (key = vk_tab)) then
begin
if dateedit1.Text = ' / / ' then
begin
close;
exit;
end;
dateedit2.enabled:=true;
dateedit2.setfocus;
end;
end;
GOSTEI 0
Eduardo Mendonça
08/11/2012
Bom Dia! fique com uma duvida.
no meu caso eu tenho nada no OnEnter e no onExit e quando escolho a data e aperto enter ele não aparece.
tem alguma propriedade que tenho que marcar para ele pegar a data com o botão Enter ou algum código que tenho que por?
estava tentando por assim
procedure TfrmManutencaoAgenda.dteDataInicialKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (key=VK_RETURN) then
TDateEdit(Sender).Text := " aqui provavelmente viria o código para pegar a data selecionada que eu desconheço" ;
end;
:(
no meu caso eu tenho nada no OnEnter e no onExit e quando escolho a data e aperto enter ele não aparece.
tem alguma propriedade que tenho que marcar para ele pegar a data com o botão Enter ou algum código que tenho que por?
estava tentando por assim
procedure TfrmManutencaoAgenda.dteDataInicialKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (key=VK_RETURN) then
TDateEdit(Sender).Text := " aqui provavelmente viria o código para pegar a data selecionada que eu desconheço" ;
end;
:(
GOSTEI 0