Einzelnen Beitrag anzeigen

Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#1

Verschiedene CulturInfo's

  Alt 7. Okt 2005, 21:26
Hallo,

Im Anhang eine Funktion, welche den Starttag einer Kalenderwoche ermittelt.
Auf Grund der verschiedenen Definitionen, an welchem Tag die Woche beginnt, komme ich jetzt nicht weiter

Wie kann ich den case - teil so gestalten, das es für beide definitionen, also

1.der erste Tag der Woche ist Montag
2.der erste Tag der Woche ist Sonntag

gilt und vereinfacht werden kann.
Delphi-Quellcode:
function Get_StartDay(dVAlue: Integer): DateTime;
var
  fCUI: CultureInfo;
  FirstDay :DayofWeek;
  FirstDate :DateTime;
  TempWeek :Integer;
begin
    TempWeek:= 1;
    If (0 < dValue) and (dVAlue < 54) then
      begin
        fCUI:= CultureInfo.get_CurrentCulture;
        FirstDate:= DateTime.Create(fCUI.DateTimeFormat.Calendar.GetYear(DateTime.Now), 1, 1);
        while TempWeek <> dValue do
          begin
            FirstDate := FirstDate.AddDays(1);
            TempWeek:= fCUI.Calendar.GetWeekOfYear(FirstDate
                                                  ,fCUI.DateTimeFormat.CalendarWeekRule
                                                  ,fCUI.DateTimeFormat.FirstDayOfWeek);
          end;
       FirstDay:= fCUI.Calendar.GetDayOfWeek(FirstDate);
       case FirstDay of
          DayOfWeek.Monday : FirstDaTe:= FirstDate.AddDays( 0);
          DayOfWeek.Tuesday : FirstDate:= FirstDate.AddDays(-1);
          DayOFWeek.Wednesday: FirstDate:= FirstDate.AddDays(-2);
          DayOFWeek.Thursday : FirstDate:= FirstDate.AddDays(-3);
          DayOfWeek.Friday : FirstDate:= FirstDate.AddDays(-4);
          DayOfWeek.Saturday : FirstDate:= FirstDate.AddDays(-5);
          DayOfWeek.Sunday : FirstDate:= FirstDate.AddDays(-6);
       end;
      result:= FirstDate;
     end;
end;
danke raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat