Ist eine Funktion dafür zu langsam?
Delphi-Quellcode:
function IndexOf_CS(aStrings: TStrings; aToken : String):Integer;
var
i : Integer;
begin
Result := -1;
for i := 0 to aStrings.Count do
if aStrings[i]=aToken then begin
Result := i;
Break;
end;
end;
// dann
// occurindex:= tokenlistges.indexof(tokenlist[iii]);
occurindex := IndexOf_CS(tokenlistges, tokenlist[iii]);
PS: "Str1 = Str2" hab' ich auch schon mit CompareStr() verglichen. Im CPU-Fenster sieht man auch, das unterschiedlicher Code generiert wird, aber bei 170.000 vergleichen war (zumindest mit meiner Messmethode) kein signifikanter Unterschied feststellbar. Zumindest bei D5, kann später optimierter sein.
War wohl Jmp/Test vs. LongJmp falls ich mich recht erinnere.