Einzelnen Beitrag anzeigen

Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2

Re: Datum bestimmen von z.B. 3. Sonntag jedes Monats

  Alt 30. Jul 2003, 18:44
Hallo AndreasZZZ,
ich nehme an, daß es sich hier um eine Hausaufgabe handelt. Aber da Dir noch keiner einen Lösungsansatz geboten hat, habe ich mal auf die Schnelle deine Funktion realisiert. Zumindest bringt sie die gewünschten Ergebnisse.

Vielleicht weiß noch jemand einen anderen Lösungsansatz. Mir fiel jedenfalls im Moment auch nichts Besseres ein, als durch den Monat zu iterieren und die Anzahl der gesuchten Wochentage zu zählen.
Delphi-Quellcode:
function Get_next_Wochentag_pro_Monat(iWelcher, iWochentag: Integer; BaseDate: TDateTime): TDateTime;
var
  I: Integer;
  Day, Month, Year: Word;
  Times: Integer;
begin
  Times := 0;
  DecodeDate(BaseDate, Year, Month, Day);
  if Day > (iWelcher * 7) then
  begin
    if Month < 12 then
    begin
      Inc(Month, 1);
    end
    else
    begin
      Month := 1;
      Inc(Year, 1);
    end;
  end;
  Result := EncodeDate(Year, Month, 1) + Frac(BaseDate);
  for I := 1 to 31 do
  begin
    if DayOfWeek(Result) = iWochentag then
    begin
      Inc(Times, 1);
      if Times = iWelcher then
      begin
        Break;
      end
    end;
    Result := Result + 1;
  end;
end;
bye
Angehängte Dateien
Dateityp: zip get_next_wochentag_pro_monat.zip (227,4 KB, 5x aufgerufen)
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat