Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#6

AW: Kalenderwoche ermitteln

  Alt 22. Mai 2013, 20:41
Hallo,

eigentlich ist das doch "nur" ein bisserl Rechenarbeit. Eventuell hilft dasda ja:
Delphi-Quellcode:
procedure Wochenrechner;
var
        dt : TDateTime;
        cw1 : Integer;
        Wochen : Integer;
        cw2 : Integer;
        Jahr : Integer;
begin
  cw1 := StrToInt(edCW1.Text); // im Beispiel 52
  cw1 := cw1 * 7; // Ergibt die Anzahl Tage für 52 Wochen.
  dt := StrToDate('01.01.') + StrToInt(edYear.Text); // im Beispiel 2013
  dt := dt + cw1; // Ist das Datum der 52. Woche.
  Wochen := StrToInt(edWochen.Text); // im Beispiel 6
  Wochen := Wochen * 7; // Ergibt die Anzahl Tage für 6 Wochen.
  dt := dt + Wochen; // Zum Datum der 52 Wochen entsprechende Anzahl Tage hinzuzählen.
  cw2 := WeekOfTheYear(dt); // Die Woche des errechneten Datums ermitteln.
  Jahr := YearOf(dt); // Das Jahr des errechneten Datums ermitteln.
  edCW2.Text := IntToStr(cw2);
  edYear.Text := IntToStr(Jahr);
end;
Ist ungetestet mal einfach so dahingedaddelt.

Oder ein bisserl kürzer:
Delphi-Quellcode:
var
        dt : TDateTime;
begin
  dt := StrToDate('01.01.') + StrToInt(edYear.Text)
      + (StrToInt(edCW1.Text) + StrToInt(edWochen.Text)) * 7;
  edCW2.Text := IntToStr(WeekOfTheYear(dt));
  edYear.Text := IntToStr(YearOf(dt));
end;
Latürnich auch nicht getestet.
  Mit Zitat antworten Zitat