Newsgroup: it.comp.lang.delphi
Titolo: TDateTime

Come posso settare a null un tipo di dato TDateTime?
io dichiaro:
data: TDateTime;
per assegnargli un data nulla come faccio?
per controllare se è null come faccio?
Grazie!

Il tipo TDateTime non prevede il valore nullo.
Perchè devi usare il valore nullo? Fai forse riferimento a dei
TFields?
Ciao, Rocco.

 ha scritto nel messaggio
news:3d35085...@News.CIS.DFN.DE...


 Come posso settare a null un tipo di dato TDateTime?
Non puoi, il valore "null" non e' supportato dai TDateTime (che sono,
in soldoni, dei semplici Double).  Per "data nulla", i TDateTime
assumono per convenzione l valore 0, che corrisponde al 30/12/1899.

-> Si...se volessi assegnare ad un campo di tipo date di una tabella un valore
-> null come faccio?
-> 
Tabella.FieldValue['nomecampo']:=null;
Ciao Sha
P.S. Come hanno detto Andrea e Rocco se è un semplice Tdatetime non gli puoi 
assegnare un valore nullo, mentre se è un campo di una tabella è un'altra 
storia :))

> Tabella.FieldValue['nomecampo']:=null;
Grave errore!
La forma giusta č questa:
Tabella.FieldByName('nomecampo').CLEAR
Bye
A.

 null come faccio?
Tabella['CAMPO'] := Null;

per settare il valore del campo ti hanno già risposto...
per controllare se è nullo:
Tabella.FieldByName('campo').IsNull

Tabella.FieldByName('nomecampo').CLEAR
Non vedo perche' la prima forma sia sbagliata, onestamente.
A mio avviso, la forma Tabella['nomecampo'] := Null e' perfettamente lecita.
-------------------------------
Message Posted by  <dedGateway>
http://www.dedonline.com/forump

, x@x.x says...
-> > Tabella.FieldValue['nomecampo']:=null;
-> 
-> Grave errore!
-> 
-> La forma giusta è questa:
-> Tabella.FieldByName('nomecampo').CLEAR
-> 
-> Bye
-> 
-> A.
Probabilmente la mia non è la forma + corretta per farlo come prestazioni o che 
so io... ma se ti guardi le definizioni dell'help
Null function -> Null returns a null Variant.
property FieldValues[const FieldName: string]: Variant; default;
                                               ^^^^^^^^
Quindi io assegno alla proprietà fieldvalues, che vuole un variant, un null 
variant. non vedo dove sia il grave erroe.
Ciao Sha

semplicemente non è detto che il valore dhe delphi usa per i NULL sia uguale
a quello usato dal database al quale ti colleghi, tutto qui.
Bye
A.

ti colleghi, tutto qui.
Temo che tu faccia un po' di confusione.  Innanzitutto chiariamo che 
l'assegnazione del valore Null, cosi' come e' stata mostrata in questo 
thread, non e' *affatto* un grave errore, e' corretta perche' si ragiona 
sui Variant.  Delphi contempla il valore Null per i tipi Variant, in 
"entrata dal" e in "uscita verso" il db e quindi non c'e' alcun motivo per 
non utilizzarli.  Questo, ovviamente, IMHO, se hai dei riferimenti validi 
che mostrino questo *grave errore*, allora saremo ben lieti di apprezzarne 
la lettura.


Mi sa che ti sbagli..... 
var
  ADate: TDateTime;
begin
  ADate := Null; // <----- compila senza errori
  ...
  ...
end;
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 per controllare se è null come faccio?
cos'è "una data nulla"?
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!