[ERRO] DBEDIT recebendo data atual

Delphi

01/10/2007

Ola.. Meu problema é o seguinte:

Tenho um DBEDIT ligado a uma TABELA no BANCO (interbase).
:?: Preciso que esse DBEDIT receba a DATA do PC quando o usuário entrar no DBEDIT, segue o codigo:

[b:ffb4682a8f]procedure TfrmCadCliente.edtDtCadastroEnter(Sender: TObject);
begin
edtDtCadastro.Text := DateToStr(date);
end;[/b:ffb4682a8f]

[color=red:ffb4682a8f][b:ffb4682a8f]Erro ao entrar no DBEDIT:[/b:ffb4682a8f][/color:ffb4682a8f]

Alguem pode me ajudar?

Grato!


Educdc

Educdc

Curtidas 0

Respostas

Mayron Cachina

Mayron Cachina

01/10/2007

Pra você pegar a data atual e jogar dentro do DBEdit faz assim...

DBEdit1.Text := DateToStr(now);


mais essa é a data Atual da máquina mesmo...
Agora vamos aos problemas....

1 - se seu pc a data tiver configurada diferente da do banco por exemplo:
PC: 11/10/2008 BANCO: 10-11-2008


vai acusar um erro, ta me entendento? ai vc teria que trartar antes de colocar no DBEdit...


GOSTEI 0
Educdc

Educdc

01/10/2007

Esse código tem a mesma função do que citei.

O erro que está acontecendo n é devido ao formato da data.

Se eu adicionar este codigo no onEnter de um outro DBEDIT qualquer o erro permanece. Ex.:

[b:2a3da6bfcc]procedure TfrmCadCliente.edtNomeFantasiaEnter(Sender: TObject);
begin
edtNomeFantasia.Text := ´TESTE´;
end;[/b:2a3da6bfcc]

Vlws!


GOSTEI 0
Imoreira

Imoreira

01/10/2007

A tabela não está em modo de edição.

Uma solução para o seu caso é fazer essa verificação.

if cdsCliente.state in[dsinsert,dsEdit] then begin
edtDtCadastro.Text := DateToStr(date);
end;


GOSTEI 0
Educdc

Educdc

01/10/2007

A tabela não está em modo de edição. Uma solução para o seu caso é fazer essa verificação. if cdsCliente.state in[dsinsert,dsEdit] then begin edtDtCadastro.Text := DateToStr(date); end;


Ok... Estou entendendo. Mas quando vai entrar nessa condição?
Como coloco o ClientDataSet em modo de INSERT?
Antes de mais nda, não estou usando DBNAVIGATOR. Estou criando os botões pois uso PROCEDURE para inserir, deletar, alterar.

Vlws!!


GOSTEI 0
Martins

Martins

01/10/2007

[quote:30679ffce4=´iMoreira´]A tabela não está em modo de edição. Uma solução para o seu caso é fazer essa verificação. if cdsCliente.state in[dsinsert,dsEdit] then begin edtDtCadastro.Text := DateToStr(date); end;


Ok... Estou entendendo. Mas quando vai entrar nessa condição?
Como coloco o ClientDataSet em modo de INSERT?
Antes de mais nda, não estou usando DBNAVIGATOR. Estou criando os botões pois uso PROCEDURE para inserir, deletar, alterar.

Vlws!![/quote:30679ffce4]
Você coloca essa validação no OnEnter do DBEdit.


GOSTEI 0
POSTAR