Hallo,
ich weiß nicht, ob es in Delphi 2009 DateUtils schon gab. Damit gibt es jedenfalls mehrere Möglichkeiten, wie die gestellt Aufgabe gelöst werden kann.
Hier ein Beispiel (ed.. sind TEdit und lbl.. TLabel):
Delphi-Quellcode:
uses ..., DateUtils;
procedure TForm1.Button1Click(Sender: TObject);
var dtJahr, dtWoche, dtDifferenz: Word;
dt: TDateTime;
begin
dt := EncodeDateWeek(StrToInt(edJahr.Text), StrToInt(edWoche.Text));
dt := IncWeek(dt, StrToInt(edDifferenz.Text));
DecodeDateWeek(dt, dtJahr, dtWoche, dtDifferenz);
lblJahr.Caption := IntToStr(dtJahr);
lblWoche.Caption := IntToStr(dtWoche);
end;
Und wenn jemand möglichst wenig Zeilen haben will, dann kann man das Ganze auch so schreiben, dass man(n/frau) beim Lesen denken muss:
Delphi-Quellcode:
uses ..., DateUtils;
procedure TForm1.Button1Click(Sender: TObject);
var dtJahr, dtWoche, dtDifferenz: Word;
dt: TDateTime;
begin
DecodeDateWeek(IncWeek(EncodeDateWeek(StrToInt(edJahr.Text), StrToInt(edWoche.Text)), StrToInt(edDifferenz.Text)), dtJahr, dtWoche, dtDifferenz);
lblJahr.Caption := IntToStr(dtJahr);
lblWoche.Caption := IntToStr(dtWoche);
end;