I have a simple TStringList. I do a TStringList.Sort on it.
Then I notice that the underscore \"_\" sorts before the capital letter \"A\". This was in contrast to a
AnsiCompareStr (CompareString with LOCALE_USER_DEFAULT) has fault, because it gets characters with punctation as equal:
e1 é1 e2 é2
Correct order is (for example for Czech):
e1 e2 é1 é2
Does anybody know how to avoid this error in ordering?
11.2.2010: I must apologize described behavior is fully according linguistic rules. Although I think it is silly and "bad" it is not error in API function.
Explorer in Windows XP uses so called intuitive filname ordering which gives better results but it can't be used programatically.