Übrigens ist StrPos nicht schneller als das, was wir in der
RTL haben - im Rahmen von
https://quality.embarcadero.com/browse/RSP-13687 hatte ich die ursprüngliche Implementierung in
asm für x86 von Aleksandr Sharahov (die auch deiner Implementierung zugrunde liegt) in pure pascal reimplementiert, welche nun somit auch gleich auf alle Plattformen portierbar ist. Ja, der Code steckt voller gotos, aber besser bekommt man es nicht ohne
asm hin.
Einzig dein neuer 4. Parameter, um den Suchbereich zu limitieren, ist interessant und ggf eine Überlegung wert, diesen in der
RTL auch unterzubringen.
Sollte sogar ziemlich einfach zu implementieren sein, da dieser der Länge des zu durchsuchenden Strings entspricht, die intern sowieso ermittelt wird.