Я надеюсь, что кто-то может пролить некоторый свет на это для меня: Каковы различия, в Delphi 2009, между CompareStr
(определенный в SysUtils) и CompareString
(из Windows API) функции?
Оба позволяют Вам указать локаль, которая будет использоваться, Windows, каждый - просто больше "завершенное", должное к доступным флагам сравнения? Тот, следовательно, быстрее, чем другой?
CompareString использует информацию о локали, поэтому такие вещи, как ae и æ, обрабатываются как совпадения, а сортировка подходит для географического региона.
CompareStr ('', loInvariantLocale) - это просто побайтовое сравнение символов в строке. CompareStr ('', loUserLocale) вызывает CompareString внутри, поэтому они идентичны, за исключением дополнительных флагов, которые может принимать CompareString. Он также встроен, поэтому вы не должны видеть никакой разницы в скорости между ним и прямым вызовом CompareString.