tratar data

Delphi

28/06/2006

bom dia, existe alguma maneira de tratar o campo datetime, quando ele esta formatado desta maneira !99/99/9999 00:00;1;_, quando os campos estão adicionado na query, retorna erro, quando vc preenche o campo e depois deseja apagar retorna um erro, nao estou conseguindo tratar esse erro?

obrigado


Airto

Airto

Curtidas 0

Respostas

Edilcimar

Edilcimar

28/06/2006

faça um tratamento de erro na saida do edit ou maskedit


GOSTEI 0
Marco Salles

Marco Salles

28/06/2006

tente :

!99/99/9999 00:00;1;_,


por

!99/99/9999 99:99;1;_, 



GOSTEI 0
Airto

Airto

28/06/2006

não! is not a valid date and time!


GOSTEI 0
Marco Salles

Marco Salles

28/06/2006

não! is not a valid date and time!


[b:47129a31d7]engraçado[/b:47129a31d7] , aqui com as seguintes condiçoes :

var
Dh:TDateTime;

procedure TForm1.Button1Click(Sender: TObject);
begin
Dh:=strtoDatetime(maskedit1.text);
showmessage(datetimetostr(dh));
end;

funciona sem problema , desde que a máscara esteja
!99/99/9999 99:99;1;_


GOSTEI 0
Airto

Airto

28/06/2006

o problema que não estou usando o maskedit...estou usando dbedit relacionado com a query !


GOSTEI 0
Marco Salles

Marco Salles

28/06/2006

o problema que não estou usando o maskedit...estou usando dbedit relacionado com a query !


ai ja muda de figura

tente evento onSetTextDoCampo

procedure TForm1.Table1DataSetText(Sender: TField; const Text: String);
var
dataHora:TDateTime;
begin
if TryStrToDate(text,dataHora) then
  sender.AsDateTime:=dataHora
else
  begin
    if text = ´  /  /       :  ´ then
      sender.Clear
    else
     showmessage(´dados errados´)
end;


Atenção ... ´  /  /       :  ´  tem que estar de acordo com a sua mascara ...
[b]espaço por espaço[/b]


boa sorte....


GOSTEI 0
POSTAR