Description |
The AnsiCompareStr function compares String1 and String2 for equality.
This is the modern, Locale safe form of CompareStr.
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.
The comparison is case sensitive.
|
|
Notes |
In Delphi :
Upper case letters > Lower case letters
Lower case 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');
// Upper case letters follow lower case in Delphi
CompareStrings('ABC', 'abc');
// 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 := AnsiCompareStr(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
ABC > abc
abc > 123
|
|