Hallo,
Vorsicht, hier ist ein riesengroßer Fehler drin:
Delphi-Quellcode:
procedure ListDaysBetween(StartDate, EndDate: TDate; const sl: TStrings);
begin
sl.BeginUpdate;
try
sl.Clear;
while Trunc('01.02.2008') <= Trunc('10.02.2009') do // <-- Endlosschleife!!!
begin
sl.Add(FormatDateTime('01.02.2009',StartDate));
StartDate := IncDay(StartDate,1);
end;
finally
sl.EndUpdate;
end;
end;
Die konstanten Werte im while ändern sich nie, daher kommt man aus der Schleife niemehr raus.
So könnte es funktionieren, da sich dann StartDate bei jedem Schleifendurchlauf erhöht und irgendwann größer oder gleich EndDate sein wird.
while Trunc(StartDate) <= Trunc(EndDate) do