Einzelnen Beitrag anzeigen

Benutzerbild von Duffy
Duffy

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

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

  Alt 31. Jul 2003, 09:35
Hallo AndreasZZZ,
jetzt geht es, ich glaube aber Du solltest aber auch Einsatz zeigen.
Delphi-Quellcode:
function Get_next_Wochentag_pro_Monat(iWelcher, iWochentag: Integer; BaseDate: TDateTime): TDateTime;
var
  I: Integer;
  Day, Month, Year: Word;
  Times: Integer;
begin
  if not(iWelcher in [1..5]) then
  begin
    ShowMessage('Blödsinnige Eingabe. Bitte wiederholen');
    Exit;
  end;
  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;
  if Times < iWelcher then
  begin
    Result := Get_next_Wochentag_pro_Monat(iWelcher, iWochentag, Result);
  end;
end;
bye
Angehängte Dateien
Dateityp: zip get_next_wochentag_pro_monat2.zip (232,5 KB, 6x 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