2010-03-19 2 views
5

Я надеюсь, что кто-то может пролить некоторый свет на это для меня: Каковы различия, в Delphi 2009, между CompareStr (определенной в SysUtils) и CompareString (от API Windows) функций ?Delphi - Различия между CompareStr и CompareString

Как вы можете указать язык, который будет использоваться, является ли Windows просто более «полным» из-за доступных флажков сравнения? Является ли, следовательно, быстрее, чем другой?

ответ

6

CompareString использует локальную информацию, так что такие вещи, как ae и æ, рассматриваются как совпадения, а сортировка подходит для географического региона.

CompareStr ('', loInvariantLocale) - это просто байтовое сравнение символов в строке. CompareStr ('', loUserLocale) вызывает CompareString внутренне, поэтому они идентичны, кроме дополнительных флагов, которые может принять CompareString. Он также встроен, поэтому вы не должны видеть никакой разницы в скорости между ним и непосредственным вызовом CompareString.

+0

Thanks Craig, Я не был уверен, поскольку код (сборка) для CompareStr не ссылается на CompareString - или, по крайней мере, я его не поймал: o) – Bourgui

Смежные вопросы