[firebase-br] Converter TimeStamp em String
Daniel / Tecnobyte
temp em tecnobyte.com.br
Qui Abr 14 10:19:40 -03 2005
> Como faço para atribuir à um TEdit o conteúdo de um campo da tabela do
tipo
> TimeStamp? Já tentei como abaixo e não tive sucesso.
>
> edCadastro.text := DateTimeToStr(
> TimeStampToDateTime(sdset.clientes.fieldvalues['DataCadastro']) )
>
> Só que ocorre um erro na conversão no TimeStampToDateTime() informando que
> 'fieldvalues' é do tipo TVariant
1. Porque não acessa a propriedade AsDateTime do objeto TField? Ou seja,
algo como:
SuaVariavelData := DataSet.FieldByName('NomeCampo').AsDateTime;
2. Mas se precisa acessar o conteúdo do campo como uma string, então acesse
a propriedade AsString:
Edit1.Text := DataSet.FieldByName('NomeCampo').AsString;
3. Se mesmo assim, ainda precisar de TimeStamp, então lembre-se que existem
TTimeStamp e TSQLTimeStamp, que são duas estruturas completamente
diferentes:
-------------------
type
TTimeStamp = record
Time: Integer; { Number of milliseconds since midnight }
Date: Integer; { One plus number of days since 1/1/0001 }
end;
------------------
type
TSQLTimeStamp = packedrecord
Year : SmallInt;
Month : Word;
Day : Word;
Hour : Word;
Minute : Word;
Second : Word;
Fractions : LongWord;
end;
Obs: o tipo TSQLTimeStamp é o mesmo que o tipo CTimeStamp usado na limguagem
C++:
typedef struct
{
INT16 year;
UINT16 month;
UINT16 day;
UINT16 hour;
UINT16 minute;
UINT16 second;
UINT32 fraction;
} CTIMESTAMP;
Atenciosamente.
Daniel P. Guimarães
Tecnobyte informática
www.tecnobyte.com.br
Mais detalhes sobre a lista de discussão lista