Avatar billede goldeneyes Nybegynder
30. marts 2004 - 09:45 Der er 8 kommentarer og
1 løsning

DateTimePicker Ugedag

Hvordan kan jeg få fat i ugedagen fra en DateTimePicker?

Jeg skal gemme ugedagen i en paradox database.
Jeg bruger følgende kode til at gemme med:

Table.Insert;
Table['Ugedag'] := DateToStr(DateTimePicker1.DateTime);
Table.post;
Avatar billede borrisholt Novice
30. marts 2004 - 09:49 #1
1)
  For det første er det ALTID forkert at gemme en dato som en streng ! Hvis dit program skal køre i et andet land, giver det dig VOLDSOMME problemer !
2)
  UgeDagen ?
  Hvis du har Delphi 7 kan du bruge DayofTheWeek, ellers brug DayOfWeek
  Slå funktionen op i hjælpen før du bruger dem !

Jens B
Avatar billede goldeneyes Nybegynder
30. marts 2004 - 10:07 #2
Grunden til jeg gemte datoen som en streng var at den så automatisk blev gemt som dd-mm-yy hvilket passer perfekt til mit program. Hvordan skal jeg ellers gøre det?

Jeg er rimelig newbee, og kan ikke lige se hvordan jeg får ugedagen frem af en DateTimePicker, forsøgte med nogel ala:

TableDagbog['Ugedag'] := DateTimePicker1.DayOfTheWeek;

Men kommer med en fejlmeddellelse "Undeclared identifier: DayofTheWeek"

Fårstår ikke lige så meget af hjælpfilen. Men har da forstået den smider en værdi fra 1 til 7 ud alt efter dagen, som jeg skal have konventeret til ugedags-navnet.
Avatar billede borrisholt Novice
30. marts 2004 - 10:22 #3
du skal gemme din dato som en Float som den er, så kan du konvetere den når den skal på skærmen !

Hvis du vil have Uge dagen, gemt skal  du gemme det som en Integer, hvor 1 er mandag 2 er tirsdag etc. Når så du vil have det konveteret til et rigtigt navn skal du bruge det globale Array LongDayNames[]

Altså hvis du har gemt et 2 tal i din database, for Tirsdag skal du gøre sådan her indet det skal på skærmen :

Edit1.Text := LongDayNames[TableDagbog['Ugedag']];

Jens B
Avatar billede goldeneyes Nybegynder
30. marts 2004 - 10:39 #4
Hvordan gemmer jeg ugedangen som Integer?!?
TableDagbog['Ugedag'] := DateTimepicker1.DayOfTheWeek;

eller hvad?
Avatar billede borrisholt Novice
30. marts 2004 - 10:40 #5
TableDagbog['Ugedag'] := DayOfTheWeek(DateTimepicker1);
Avatar billede goldeneyes Nybegynder
30. marts 2004 - 10:44 #6
"Undeclared identifier: DayofTheWeek"
Har delphi 7...
Avatar billede hrc Mester
30. marts 2004 - 10:45 #7
Se http://www.eksperten.dk/spm/483416. Du bruger en TDateTime sammen med et TimeStamp felt i Paradox.
Avatar billede goldeneyes Nybegynder
30. marts 2004 - 10:47 #8
Fik det til at virke...
Tak for hjælen... Det er ikke sdan når man er ny i Delphi...
Avatar billede hrc Mester
30. marts 2004 - 10:50 #9
Hvis du havde gjort som Borrisholt sagde, slået DayOfTheWeek op i hjælpen ville du kunne se at den ligger i DateUtils - unitten. Så den skal du inkludere.

Hvis du synes mit forrige indslag flagrer lidt i luften, så var det angående dit spørgsmål om hvordan man gemte som en integer. Nu skrev jeg at du skulle bruge et TimeStamp-felt i Paradox - det er faktisk en float idet den også indehold klokkeslættet. Hvis du KUN har brug for datoen så hedder det fortsat TDateTime men op imod et Date-felt i Paradox.

Bemærk, at hvis du skrifter database senere, så kan det være at du skal til at konvertere mellem dato og tid formater - men kør du bare med Paradox her i starten.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester