29. marts 2004 - 17:43
Der er
2 løsninger
DateTimePicker konventeret til dato - måned - år
Jeg bruger følgende kode til at smide resultatet fra en DateTimePicker til en paradox-database, det resulterer i et længere decimaltal,som jeg gerne vil have omskrevet til noget lidt mere forståeligt:
TableDagbog.Insert;
TableDagbog['Dato'] := Dato.Text;
TableDagbog.post;
Hvordan kan jeg få indsat resultatet som
dd mmm yyyy???
29. marts 2004 - 22:44
#2
Hvis du vælger at skrive datoen i tekst så bør du vælge at skrive det teksten "år måned dag" for at kunne lave en kronologisk sortering på feltet (bare smæk et indeks på og du er kørende).
Jeg lavede et lille testprogram:
en tabel, indeholdende 4 felter (ID : integer, key, Dato : Date, Time : Time, TimeStamp : TimeStamp).
Det er dumt at give felterne samme navn som typen, men her gik det altså uden problemer.
I proceduren indsætter jeg 'Nu' i felterne og hvis du går ind i Paradox eller Database Desktop så vil du se dato og tider stå fint formatteret.
procedure TfrmMain.Button1Click(Sender: TObject);
var
Nu : TDateTime;
begin
Nu := now;
DBTest.Insert;
try
DBTest['ID'] := 1;
DBTest['Dato'] := int(Nu); // Tager heltalsdelen (dagene)
DBTest['Time'] := frac(Nu); // Tager decimaldelen (timerne)
DBTest['TimeStamp'] := Nu; // Tager begge dele
DBTest.Post;
except
DBTest.Cancel;
end; // try
end;