OSX
unicode
Xojo

XojoでFinderと同じ文字列照合

More than 1 year has passed since last update.

XojoでFinderと同じ文字列照合をするメソッドです。

Function FinderCompare(str1 as String, str2 as String) As Integer

  Declare function localizedStandardCompare lib "Cocoa" selector "localizedStandardCompare:" (s1 as CFStringRef, s2 as CFStringRef) as Integer

  Return localizedStandardCompare(str1, str2)

End Function

戻り値は、-1、0、1の3つ。
* str1 < str2 … -1
* str1 = str2 … 0
* str1 > str2 … 1

これを利用して、ListBoxのCompareRowsイベントに以下のように書いておくと、Finderと同等のソートをするようになりますよ。

  result = FinderCompare( me.Cell(row1,column), me.cell(row2,column) )

  Return True

FinderSort.png