Erro em Campo de Data em Tabela Paradox

Delphi

22/09/2006

Uso paradox e nesses campos de Data, se usuário preencher esses campos e futuramente quiser apagar a data, dá erro e não deixa mais o campo ficar sem preencher a data. Alguém já conseguiu achar como não acontecer isso?


Janete

Janete

Curtidas 0

Respostas

Marco Salles

Marco Salles

22/09/2006

Alguém já conseguiu achar como não acontecer isso?


janete , eu lembro vagamente de um problema desse tipo , e acho que a solução esta nos evento OnsetText do campo

if text = ´´ Then sender.clear else sender.asDatetime:=StrtoDate(Text);


acho que é isso... São tantos os problemas :cry: :cry:


GOSTEI 0
Janete

Janete

22/09/2006

Deu certo sua sugestão, mas tive q acrescentar uma função para ele colocar em formato de data e chamei a função no comando q voce me passou.

no evendo OnSetText

if text = ´´ Then
sender.clear
else
sender.asDatetime:=StrtoDate(ArrumaData(Text));


function ArrumaData (ValorData: String): String;
var
I: Integer;
S: String;
begin
S:=´´;
for I:=1 to Length(ValorData) do
begin
if (I = 3)or(I = 5)then
begin
if I=3 then
S:=S+´/´+ValorData[I];
if I=5 then
S:=S+´/´+ValorData[I];
end
else
S:=S+ValorData[I];
End;
if ValorData<>´´ then
Result:=S;
end;


GOSTEI 0
Marco Salles

Marco Salles

22/09/2006

Deu certo sua sugestão, mas tive q acrescentar uma função para ele colocar em formato de data e chamei a função no comando q voce me passou.


acho que num precisa fazer tudo isto , voce pode usar simplesmente o asstring

no evendo OnSetText

if text = ´´ Then sender.clear else sender.asstring:=text;


acho que assim dá


GOSTEI 0
Janete

Janete

22/09/2006

[quote:ac044ced31=´Marco Salles´]
Deu certo sua sugestão, mas tive q acrescentar uma função para ele colocar em formato de data e chamei a função no comando q voce me passou.


acho que num precisa fazer tudo isto , voce pode usar simplesmente o asstring

no evendo OnSetText

if text = ´´ Then sender.clear else sender.asstring:=text;


acho que assim dá[/quote:ac044ced31]

Fiz assim por q meus clientes não estão acostumados a digitar as barras entre a data __/__/__ pois eu usava mascara no campo, e por causa dessa mascara qdo quer q tirar a data já preenchida lá, dava erro, não aceitava, então eu colocando essa função junto, o usuário digita somente o número e depois eu coloco a mascará com a função, pois é um campo data e ele não aceita se não tiver as barrinhas... mas obrigado :)


GOSTEI 0
POSTAR