ObjectPascal
AnsiCompareText
Function
Compare two strings for equality, ignoring case SysUtils unit
 function AnsiCompareText ( const String1, String2 : string ) : Integer;
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
AnsiCompareStr Compare two strings for equality
 
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