Функція AnsiCompareText в Delphi – порівняння двох рядків на рівність.
StrUtils unit
function AnsiCompareText (const String1, String2 : string) : Integer;
Функція AnsiCompareStr порівнює String1 та String2 на рівність, ігноруючи регістр.
Це сучасна Регіональна безпечна форма CompareStr.
Всі Ansi команди підтримують багатобайтові символи та символи з акцентами.
Вона повертає такі значення:
- String1: від'ємне число
- String1 = String2: 0
- String1 > String2: додатне число
На порівняння не впливає довжина - воно здійснюється по буквах. Але довший рядок більший, ніж короткий.
Примітка.
В Delphi:
Символи малих букв > Числа
Багатобайтові набори символів визначаються операційною системою. Наприклад, Східні версії Windows використовують багатобайтові символи для підтримки їх дуже великого набору символів.
Функція AnsiCompareText: порівняння різних рядків
begin
// Порівняння двох очевидно різних рядків
CompareStrings('HELLO', 'WORLD');
// Порівняння ідентичних рядків
CompareStrings('Hi 2 you', 'Hi 2 you');
// AnsiCompareText обробляє верхній та нижній регістр однаково
CompareStrings('ABCdef', 'abcDEF');
// Усі символи слідують за числами
CompareStrings('abc', '123');
end;
// Порівняння двох рядків, і показ більшого
procedure TForm1.CompareStrings(const string1, string2: string);
var
result : Integer;
begin
// Порівняння деяких рядків
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;
Результат
HELLO Hi 2 you = Hi 2 you
ABCdef = abcDEF
abc > 123
Подібні функції, процедури та команди
AnsiCompareStr — порівняння двох рядків на рівність.