2つの文字列を比較する
Declare Function CompareString Lib "kernel32.dll" _
(ByVal Locale As Long,ByVal dwCmpFlags As Long, _
ByVal lpString1 As String,ByVal cchCount1 As Long, _
ByVal lpString2 As String,ByVal cchCount2 As Long) As Long
Declare Function CompareString Lib "kernel32.dll" _
(ByVal Locale As Integer,ByVal dwCmpFlags As Integer, _
ByVal lpString1 As String,ByVal cchCount1 As Integer, _
ByVal lpString2 As String,ByVal cchCount2 As Integer) As Integer
int CompareString(
LCID Locale,
DWORD dwCmpFlags,
LPCTSTR lpString1,
int cchCount1,
LPCTSTR lpString2,
int cchCount2
);
引数
Locale
ロケールを指定する定数(0も可)dwCmpFlags
比較する方法を指定する定数の組み合わせlpString1
指定しないとき 0
比較対照の文字列1cchCount1
文字列のバイト数(-1のとき自動計算)lpString2
比較対照の文字列2cchCount1
文字列のバイト数(-1のとき自動計算)戻り値
戻り値を示す定数備考
機能は多いが、単純な比較ならIf A=B Thenのが早い。Localeの定数
dwCmpFlagsの定数
LOCATE_SYSTEM_DEFAULT = &H800 システムのデフォルトのロケール
LOCATE_USER_DEFAULT = &H400 カレントユーザーのデフォルトのロケール
戻り値の定数
NORM_IGNORECASE = &H1 大文字・小文字を区別しない
NORM_IGNOREKANATYPE = &H10000 かなとカナを区別しない
NORM_IGNORENONSPACE = &H2 非スペース文字を無視する
NORM_IGNORESYMBOLS = &H4 記号を無視する
NORM_IGNOREWIDTH = &H20000 1バイト文字と2バイト文字を区別しない
SORT_STRINGSORT = &H1000 ハイフン・アポストロフィを英文字より小さい扱いにする
0 エラー
1 文字列1のが小さい
2 等しい
3 文字列1のが大きい