Description |
The AnsiCompareText function compares String1 and String2 for equality, ignoring case.
This is the modern, Locale safe form of CompareText.
All Ansi commands support multi-byte and accented characters.
It returns these values :
String1 < String2 | : -ve number |
String1 = String2 | : 0 |
String1 > String2 | : +ve number |
The comparison is not affected by length - it is carried out on a letter by letter basis. But a longer string is greater than a shorter, otherwise matching string.
|
|
Notes |
In Delphi :
Letters > Numbers
Multi-byte character sets are operating system defined. For example, Oriental versions of Windows uses multi-byte characters to support their very large set of primitives ('letters').
|
|
Related commands |
|
|
|
Example code : Compare various strings |
begin // Compare two obviously different strings
CompareStrings('HELLO', 'WORLD');
// Compare identical strings
CompareStrings('Hi 2 you', 'Hi 2 you');
// AnsiCompareText treats upper and lower case identically
CompareStrings('ABCdef', 'abcDEF');
// All letters follow numbers in Delphi
CompareStrings('abc', '123');
end;
// Compare two strings, and show which is bigger than the other
procedure TForm1.CompareStrings(const string1, string2: string);
var
result : Integer;
begin // Compare some strings
result := AnsiCompareText(string1, string2);
if result < 0 then ShowMessage(string1+' < '+string2);
if result = 0 then ShowMessage(string1+' = '+string2);
if result > 0 then ShowMessage(string1+' > '+string2);
end;
|
Show full unit code |
HELLO < WORLD
Hi 2 you = Hi 2 you
ABCdef = abcDEF
abc > 123
|
|