![]() |
Fehler in Kalenderfunktion
Ich möcht über eine Funktion "Test" die Wochentage einiger Neujahrdaten bestimmen.
Delphi-Quellcode:
Neujahr 2010 wird ein Freitag sein, ich bekomme als Ergebis 04.01.1900 zurueck.
// Fehler in Datumsfunktion
function test(year:integer):word; var mydate: TDate; begin mydate:= (EncodeDate(year,1,1)); result:= DayOfTheWeek(mydate); // 5 erwartet, aber bekomme 04.01.1900 zurueck end; procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption:=DateToStr(test(2010)); // 5 = Freitag erwartet end; Was ist hier falsch? |
Re: Fehler in Kalenderfunktion
Test gibt doch eine Word zurück und kein TDate.
|
Re: Fehler in Kalenderfunktion
Rückgabewert TDate liefert das gleiche Ergebnis, das hatte ich schon vorher ausprobiert
mfg Wolfgang |
Re: Fehler in Kalenderfunktion
So klappt das bei mir:
Delphi-Quellcode:
function test(year:integer):word;
var mydate: TDate; begin mydate:= (EncodeDate(year,1,1)); result:= DayOfTheWeek(mydate); end; procedure TForm1.Button1Click(Sender: TObject); const Tage: array[1..7] of string = ('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag'); begin Label1.Caption:=Tage[test(2010)]; // 5 = Freitag erwartet end; |
Re: Fehler in Kalenderfunktion
DateToStr ist in diesem Fall fehl am Platze, ein einfaches IntToStr liefert dir die gewollte 5. Um dann den Wochentag zu bekommen, siehe DeddyHs Lösung.
|
Re: Fehler in Kalenderfunktion
Das war es. Ihr seid gut und schnell!
Respekt Wolfgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr. |
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-2025 by Thomas Breitkreuz