Wenn schon
DaysInMonth
verwenden, dann doch einfach in allen Fällen:
Delphi-Quellcode:
var
i: Integer;
days: Cardinal;
month: Integer;
year: Integer;
begin
cbbDay.Enabled := False;
if cbbMonth.ItemIndex >= 0 then
begin
month := cbbMonth.ItemIndex + 1;
if TryStrToInt(cbbYear.Text, year) then
begin
days := DaysInMonth(EncodeDate(year, month, 1));
for i := 1 to days do // Füge die jahrespezifische Tagesanzahl für den Monat hinzu
begin
cbbDay.Items.Add(IntToStr(i));
end;
cbbDay.Enabled := True;
end
else
begin
ShowMessage('ungültiges Datum!');
end;
end;
end;