pos insensible al caso

¿Existe alguna función comparable como Pos que no distinga entre mayúsculas y minúsculas en D2010 (Unicode)?

Sé que puedo usar Pos (AnsiUpperCase (FindString), AnsiUpperCase (SourceString)) pero eso agrega mucho tiempo de procesamiento al convertir las cadenas en mayúsculas cada vez que se llama a la función.

Por ejemplo, en un bucle de 1000000, Pos toma 78ms mientras que la conversión a mayúsculas toma 764ms.

str1 := 'dfkfkL%&/s"#<.676505';
  for i := 0 to 1000000 do
    PosEx('#<.', str1, 1); // Takes 78ms

  for i := 0 to 1000000 do
    PosEx(AnsiUpperCase('#<.'), AnsiUpperCase(str1), 1); // Takes 764ms

Sé que para mejorar el rendimiento de este ejemplo específico, puedo convertir las cadenas a mayúsculas antes del bucle, pero la razón por la que busco una función tipo Pos que no distingue entre mayúsculas y minúsculas es reemplazar una de FastStrings . Todas las cadenas que usaré Pos para serán diferentes, así que tendré que convertir cada una de ellas en mayúsculas.

¿Hay alguna otra función que pueda ser más rápida que Pos + convertir las cadenas en mayúsculas?

Respuestas a la pregunta(9)

Su respuesta a la pregunta