2010-03-19 3 views
5

J'espère que quelqu'un peut faire la lumière sur ce point pour moi: Quelles sont les différences, dans Delphi 2009, entre les fonctions CompareStr (définies dans SysUtils) et CompareString (de l'API de Windows) ?Delphi - Les différences entre les CompareStr et CompareString

Les deux vous permettent de spécifier les paramètres régionaux à utiliser, est celui de Windows simplement plus « complète », en raison des indicateurs de comparaison disponibles? L'un est-il par conséquent plus rapide que l'autre?

Répondre

6

CompareString utilise les informations locales afin que des choses comme ae et æ sont traités comme des allumettes, et le tri est approprié pour la région géographique.

CompareStr (« », loInvariantLocale) se trouve à une comparaison octet par octet des caractères d'une chaîne. CompareStr (« », loUserLocale) appelle CompareString interne, ils sont donc identiques, autres que les drapeaux supplémentaires que CompareString peut accepter. Il est également inline, vous ne devriez pas voir une différence de vitesse entre elle et l'appel CompareString directement.

+0

Merci Craig, je n'étais pas sûr car le code (montage) pour CompareStr ne fait pas référence CompareString - ou du moins je ne l'attraper: o) – Bourgui

Questions connexes