Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#12

Re: Datum vergleichen und Ereignis ausgeben

  Alt 4. Dez 2008, 09:12
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
  Mit Zitat antworten Zitat