From Xojo Documentation
Makes a binary (case-sensitive) or text (lexicographic) comparison of the two strings passed and returns the result.
result = StrComp(string1, string2, mode)
|result||Integer||Returns the result of the comparison of string1 and string2.
The value can be -1, 0, or 1, according to the following rules:
|string1||String||The first string for comparison.|
|string2||String||The second string for comparison.|
|mode||Integer||The comparison mode, Binary or Text.
Mode can take on the following values:
(New in 2017r2.)
- REALbasic.StrCompCaseSensitive = 0
- REALbasic.StrCompLexical = 1
The text comparison is lexicographic, not case-insensitive. This means that case will be taken into account if the strings are the same (other than case).
When using Mode 0 (binary), StrComp always compares the bytes of the strings as they are, doing no encoding conversions. It's possible that two strings might look the same on screen but be reported as different in StrComp Mode 0 if they are in different encodings (and, therefore, contain different bytes).
The following code returns -1 because the two strings are the same in every way except in case:
The following code returns -1 because in a byte comparison of the two strings, string2 is greater than string1. The ASCII value of "S" is less than the ASCII value of "s".
This code compares two values lexicographically:
Dim s2 As String = "Hello"
Dim result As Integer
result = StrComp(s1, s2, REALbasic.StrCompLexical)
// result = 1