Compare two strings for equality, ignoring case SysUtils unit
 function AnsiCompareText(const String1, String2 string):Integer;
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.
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
AnsiCompareStrCompare two strings for equality
 Download this web site as a Windows program.

Example code : Compare various strings
  // 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');

// Compare two strings, and show which is bigger than the other
procedure TForm1.CompareStrings(const string1, string2: string);
  result : Integer;
  // 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);
Show full unit code
  Hi 2 you = Hi 2 you
  ABCdef = abcDEF
  abc > 123
Delphi Programming © Neil Moffatt 2002 - 2022. All rights reserved.  |  Home Page