Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - "DecodeDayOfWeekInMonth" Funktioniert nicht richtig


Metschu - So 23.11.08 13:37
Titel: "DecodeDayOfWeekInMonth" Funktioniert nicht richtig
Hallo zusammen!

Ich muß aus einem Datum herausfinden, der wievielte Wochentag es in dem Monat ist (Also der x. Sonntag im November zum Beispiel)

Dafür gibts laut hilfe ja die Tolle Funktion "DecodeDayOfWeekInMonth":
(Auszug aus der Hilfe)
Hilfe hat folgendes geschrieben:

procedure DecodeDayOfWeekInMonth(const AValue: TDateTime; out AYear, AMonth, ANthDayOfWeek, ADayOfWeek: Word);

...DecodeDayOfWeekInMonth gibt zu einem angegebenen TDateTime-Wert den Wochentag und den Zähler für diesen Wochentag innerhalb des Monats zurück...

...ANthDayOfWeek ist der Zähler für den von AValue repräsentierten Wochentag. Wenn AValue beispielsweise den zweiten Dienstag im Monat repräsentiert, gibt ANthDayOfWeek den Wert 2 zurück...


Folgenden Code habe ich mal zum Testen ausprobiert:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button2Click(Sender: TObject);
var  jahr, monat, tag, woche:word;
begin
 DecodeDayOfWeekInMonth(Now,jahr,monat,tag,woche);
 with memo1 do begin;
  clear;
  lines.append(floattostr(jahr));
  lines.append(floattostr(monat));
  lines.append(floattostr(tag));
  lines.append(floattostr(woche));
 end;
end;


Als Ergebniss bekomme ich für Heute (Sonntag, 23.11.2008) folgendes raus:

Jahr : 2008
Monat: 11
Tag : 0 (= Nullter Sonntag im Monat) :?!?:

Woche: 7 (= 7. Tag in der Woche-> Sonntag)


Klappt es bei anderen oder hab ich da in dem Code was falsch gemacht??

Gruß

Torsten


Delete - So 23.11.08 13:56

Bei mir kommt 4 heraus, aber ich habe auch kein Semikolon hinter dem begin.

[edit] Benenne tag mal in wTag um, das ist der Fehler, da es wohl zur Verwechslung mit der Property Tag kommt. [/edit]


Metschu - So 23.11.08 14:04

user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:

Benenne tag mal in wTag um, das ist der Fehler, da es wohl zur Verwechslung mit der Property Tag kommt.


Ups... :oops:

Immer diese Kleinigkeiten, auf die man nicht selbst kommt :autsch:

Danke Dir, jetzt habe ich auch den 4. Sonntag!

Gruß

Torsten


Robert.Wachtel - So 23.11.08 14:19

Was wieder mal zeigt, dass with in die Mülltonne gehört...