Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DayOfWeek richtig ausgeben? (https://www.delphipraxis.net/142291-dayofweek-richtig-ausgeben.html)

AlexII 25. Okt 2009 15:03


DayOfWeek richtig ausgeben?
 
Versuche als vergebens den Wochentag richtig auszugeben. Drehe bald durch, irgendwie spinnt mein Delphi total.
Hab schon mehrere Versuche unternommen, z.B. so, aber bekomme nir die Zahl von 1 bis 7 :wall: Wer weiß wieso?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Date: TDate;
begin
showmessage(datetostr(DayOfWeek(Date)));
end;

mirage228 25. Okt 2009 15:07

Re: DayOfWeek richtig ausgeben?
 
Wie wärs mit IntToStr statt DateToStr?

Wolfgang Mix 25. Okt 2009 16:32

Re: DayOfWeek richtig ausgeben?
 
... und teste 'mal DayOfTheWeek (Montag = 1);

Gruß

Wolfgang

himitsu 25. Okt 2009 16:51

Re: DayOfWeek richtig ausgeben?
 
Date an diese Funktion übergeben und nur den Wochentag als Formatstring definieren
Delphi-Referenz durchsuchenFormatDateTime


oder DayOfWeek(Date) plus eines der Arrays
Delphi-Referenz durchsuchenShortDayNames
Delphi-Referenz durchsuchenLongDayNames

Chris.R 26. Okt 2009 10:23

Re: DayOfWeek richtig ausgeben?
 
Hallo,

der Rückgabewert der Funktion DayOfWeek ist vom Typ Integer und nicht vom Typ TDateTime, daher ist die Funktion DateToStr nicht wirklich hilfreich.
Außerdem solltest du der Variable Date einen Wert zuweisen, bevor du DayOfWeek aufruftst, da Date sonst nicht initialisiert ist und
irgendeinen Wert enthält. Es sei denn, du willst die Funktion Date aus der Unit SysUtils benutzen, dann mußt du die Variable Date entfernen.

Versuchs doch mal so:

Delphi-Quellcode:
procedure TestButtonClick(Sender: TObject);
var
  ADate: TDateTime;
begin
  ADate := StrToDateTime('26.10.2009');
  ShowMessage(IntToStr(DayOfWeek(ADate)); // Sollte 2 (= Montag) zurückgeben
end;

Ciao Chris

Sharky 26. Okt 2009 11:01

Re: DayOfWeek richtig ausgeben?
 
BTW:

Welchen Wert soll die Variable Date denn haben?
Zitat:

Zitat von AlexII
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Date: TDate;
begin
showmessage(datetostr(DayOfWeek(Date)));
end;


AlexII 11. Feb 2010 14:44

Re: DayOfWeek richtig ausgeben?
 
Wer kann mir sagen ist der Rückgabewert von DayOfWeek auf anderssprachigen Windowsen gleich? Also 1 für Sonntag, 2 für Montag usw. oder nicht?
Danke!

DeddyH 11. Feb 2010 14:49

Re: DayOfWeek richtig ausgeben?
 
Delphi-Referenz durchsuchenDayOfWeek
Zitat:

DayOfWeek returns the day of the week of the specified date as an integer between 1 and 7, where Sunday is the first day of the week and Saturday is the seventh.
Note: DayOfWeek is not compliant with the ISO 8601 standard, which defines Monday as the first day of the week. For an ISO 8601 compliant version, use the DayOfTheWeek function instead.

himitsu 11. Feb 2010 14:49

Re: DayOfWeek richtig ausgeben?
 
Gegenfrage: Wieso sollte eine mathematische Berechnung von der Systemsprache abhängen?

AlexII 11. Feb 2010 14:51

Re: DayOfWeek richtig ausgeben?
 
Zitat:

Zitat von himitsu
Gegenfrage: Wieso sollte eine mathematische Berechnung von der Systemsprache abhängen?

Weil Sonntag nicht überall der erste Tag der Woche ist. :wink: Deswegen die Frage.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz