2010-03-19 14 views
5

Estoy esperando que alguien puede arrojar algo de luz sobre esto para mí: ¿Cuáles son las diferencias, en Delphi 2009, entre los (definidos en SysUtils) y CompareString funciones CompareStr (de API de Windows) ?Delphi - Diferencias entre CompareStr y CompareString

Ambos le permiten especificar la configuración regional que se utilizará, ¿es Windows uno simplemente más "completo", debido a las banderas de comparación disponibles? ¿Es uno en consecuencia más rápido que el otro?

Respuesta

6

CompareString usa información de configuración regional para que cosas como ae y æ se traten como coincidencias, y la clasificación es apropiada para la región geográfica.

CompareStr ('', loInvariantLocale) es solo una comparación byte a byte de los caracteres en una cadena. CompareStr ('', loUserLocale) llama a CompareString internamente, por lo que son idénticas, a excepción de los indicadores adicionales que CompareString puede aceptar. También está en línea, por lo que no debería ver ninguna diferencia de velocidad entre él y llamar directamente a CompareString.

+0

Gracias Craig, No estaba seguro ya que el código (conjunto) para CompareStr no hace referencia a CompareString - o al menos no lo entendí: o) – Bourgui