System.SysUtils.TStringHelper.Compare
Delphi
class function Compare(const StrA: string; const StrB: string): Integer; overload; static; inline;
class function Compare(const StrA: string; const StrB: string; LocaleID: TLocaleID): Integer; overload; static; inline;
class function Compare(const StrA: string; const StrB: string; IgnoreCase: Boolean): Integer; overload; static; inline; //deprecated 'Use same with TCompareOptions';
class function Compare(const StrA: string; const StrB: string; IgnoreCase: Boolean; LocaleID: TLocaleID): Integer; overload; static; inline; //deprecated 'Use same with TCompareOptions';
class function Compare(const StrA: string; const StrB: string; Options: TCompareOptions): Integer; overload; static; inline;
class function Compare(const StrA: string; const StrB: string; Options: TCompareOptions; LocaleID: TLocaleID): Integer; overload; static; inline;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer): Integer; overload; static; inline;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; LocaleID: TLocaleID): Integer; overload; static; inline;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; IgnoreCase: Boolean): Integer; overload; static; inline; //deprecated 'Use same with TCompareOptions';
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; IgnoreCase: Boolean; LocaleID: TLocaleID): Integer; overload; static; inline; //deprecated 'Use same with TCompareOptions';
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; Options: TCompareOptions): Integer; overload; static; inline;
class function Compare(const StrA: string; IndexA: Integer; const StrB: string; IndexB: Integer; Length: Integer; Options: TCompareOptions; LocaleID: TLocaleID): Integer; overload; static; inline;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.SysUtils.pas | System.SysUtils | TStringHelper |
説明
0 から始まるインデックス方式の 2 つの文字列が等しいかを比較します。
Compare は静的クラス関数であり(String.Compare(...);
の構文で呼び出すことができます)、以下を返します。
- ソートすると
StrA
がStrB
より前になる場合は、< 0 StrA
がStrB
と同じである場合は、0- ソートすると
StrA
がStrB
より後になる場合は、> 0
var
MyStringA, MyStringB: String;
begin
MyStringA := 'String A';
MyStringB := 'String B';
Writeln(Boolean(String.Compare(MyStringA, MyStringB) = 0));
end.
出力:
FALSE
Compare には 8 つのオーバーロード メソッドがあります。
- Compare の 1 番目のオーバーロード メソッドでは、大文字と小文字を区別して
StrA
とStrB
を比較します。 - Compare の 2 番目のオーバーロード メソッドでは、
StrA
とStrB
の比較時に使用する言語と地域の識別子をLocaleID
パラメータで指定することができます。このメソッドは大文字と小文字を区別します。 - Compare の 3 番目のオーバーロード メソッドでは、
StrA
とStrB
の比較時に大文字と小文字を区別するかどうかをIgnoreCase
パラメータで指定することができます。 - Compare の 4 番目のオーバーロード メソッドでは、
StrA
とStrB
の比較時に大文字と小文字を区別するかどうかをIgnoreCase
パラメータで、言語と地域の識別子をLocaleID
パラメータで指定することができます。 - Compare の 5 番目のオーバーロード メソッドでは、
StrA
とStrB
の比較時に、文字列内のどの位置から比較を開始するか(IndexA
とIndexB
)および何文字分を比較するか(Length
)を指定することができます。このメソッドは大文字と小文字を区別します。 - Compare の 6 番目のオーバーロード メソッドでは、
StrA
とStrB
の比較時に、文字列内のどの位置から比較を開始するか(IndexA
とIndexB
)および何文字分を比較するか(Length
)を指定することができます。さらに、LocaleID
パラメータで言語と地域の識別子も指定できます。このメソッドは大文字と小文字を区別します。 - Compare の 7 番目のオーバーロード メソッドでは、
StrA
とStrB
の比較時に、文字列内のどの位置から比較を開始するか(IndexA
とIndexB
)および何文字分を比較するか(Length
)を指定することができます。このメソッドでは、大文字と小文字を区別するかどうかをユーザーがIgnoreCase
パラメータで指定できます。 - Compare の 8 番目のオーバーロード メソッドでは、
StrA
とStrB
の比較時に、文字列内のどの位置から比較を開始するか(IndexA
とIndexB
)および何文字分を比較するか(Length
)を指定することができます。このメソッドでは、大文字と小文字を区別するかどうかをユーザーがIgnoreCase
パラメータで指定できます。さらに、LocaleID
パラメータで言語と地域の識別子も指定できます。
メモ: 古いバージョンの Windows(Windows 7 より前)では、状況によって、Compare が予期せず失敗する可能性があります。たとえば、文字列にハイフン("-")が含まれている場合や、System.SysUtils.TCompareOption の coLingIgnoreCase や coDigitAsNumbers が設定されている場合に、失敗することがあります。
メモ: 古いバージョンの Windows(Windows 7 より前)では、状況によって、Compare が失敗する可能性があります。たとえば、文字列にハイフン("-")が含まれている場合や、System.SysUtils.TCompareOption の coLingIgnoreCase や coDigitAsNumbers が設定されている場合に、失敗することがあります。