Ich habe auch lange überlegt...
kommentierter Code von Larsi..
Delphi-Quellcode:
var
i: Integer;
g: integer;
begin
g := 1; // was das soll weiß nur Larsi, eine 0 könnte ich noch verstehen
// er geht in einer Schleife alle Einträge durch ...
for i := 0 to Listview1.Items.count - 1 do
begin
// ... prüft nach dem Konvertierungs-Gewurschtel von "Now" ob die Einträge in der Zukunft liegen ...
if StrToDate(DateToStr(Now)) < StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) then
begin
// ... und dann, ob der Eintrag, der in der Schleife überprüft wird,
// kleiner ist als der Index des Minimum-Eintrags (Index g) ...
if StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) < StrToDate(Listview1.Items.Item[g].SubItems.Strings[0]) then
// ... und setzt den neuen Min-Index falls der Listeneintrag kleiner ist
g := i;
end;
end;
ShowMessage(Inttostr(g));
end;
das g soll im Prinzip nix anderes sein, als mit dem ersten Wert der Liste beim ersten Durchlauf zu vergleichen. Wenn aber der erste Wert der Liste schon kleiner ist als Now funktioniert die ganze Schose nicht mehr.