Nun poste ich meinen Ansatz doch einmal. Larsi kann sich ja dann selbst Gedanken machen, wieso auch dieser suboptimal ist.
Delphi-Quellcode:
function GetNextDateIndex(const sl: TStrings): integer;
var minDate, aDate: TDate;
i: integer;
begin
Result := -1;
minDate := IncYear(StartOfAYear(YearOf(date)));
for I := 0 to sl.Count - 1 do
begin
aDate := StrToDate(Copy(sl[i],1,6) + FormatDateTime('yyyy',date));
if (aDate >= date) and (aDate < minDate) then
begin
minDate := aDate;
Result := i;
end;
end;
end;
[edit] Schon wieder 4 Seiten? Das wird wohl langsam zur Gewohnheit bei Larsi-Threads
[/edit]