Ich bin wahrscheinlich schon OffTopic weil ich das Problem falsch verstehe,
oder dieser Vorschlag steht hier schonmal irgendwo im Thread:
Aber du könntest die Strings einmalig beim Erzeugen parsen und die Längen und was auch immer separat verwalten, z.B. als Liste oder Array, o.ä.
Damit könntest du die Länge relativ schnell über das Array finden.
Mal so hingeschrieben, ohne Test und Sicherheitsabfragen.
Delphi-Quellcode:
intMax := SucheMaxLänge(intStart, intAnzahl);
function SucheMaxLänge(intStart, intAnzahl) : Integer;
begin
Result := 0;
while intAnzahl > 0
do
begin
if FLenArray[intStart+IntAnzahl] > Result
then
Result := FLenArray[intStart+IntAnzahl];
Dec(intAnzahl);
end;
end;
Dazu müsste aber das Array immer mit der Stringliste synchron laufen, ein Insert, Delete, etc. wenn du das gewährleisten kannst.
Rollo