Autor Beitrag
Metschu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135

Windows XP SP2 Home
Delphi 7; Delphi XE2-Starter
BeitragVerfasst: So 23.11.08 13:37 
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:
ausblenden 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
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135

Windows XP SP2 Home
Delphi 7; Delphi XE2-Starter
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: So 23.11.08 14:19 
Was wieder mal zeigt, dass with in die Mülltonne gehört...