Was ist ReplaceWith für ein Typ? (ich hoffe doch auch irgendeiner
ANSI-Typen)
Und im POS würde ich den String nicht casten, denn dann bekommst du die Position im
Unicode-String, anstatt im Original, auch wenn RawByteString zumindestens CodrpageConvertierungen umgewandelt werden sollty, also die Ord(Char) sollten gleich bleiben und demnach die Indize theoretisch gliech bleiben.
Besser über die String-Helper gehen, denn dort sind Indize immer 0-basiert.
Bei den Strings selber liegt Low(string) normal bei 1, aber in den NextGen-Compilern (Android, iOS, ...) fängt der String standardmäßig bei 0 an. (so wie normale Arrays)