CompareStrings

From SunFlurry wiki
Jump to: navigation, search
  CompareStrings (Функции работы со строками)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число
Визуальность:Нет

Функция сравнивает две строки, возвращает -1, если первая строка меньше второй, 0, если строки равны и 1 в ином случае. Может использоваться метод сравнения кодов символов, метод, игнорирующий регистр, метод игнорирующий тип каны или метод лингвистического сравления.

Синтаксис

CompareStrings(<Аргумент 1>,<Аргумент 2>,<Метод (INT)>=1,<Ошибка>=""):<0, 1 или -1 (INT)>

Аргументы

  • <Аргумент 1> - Аргумент, строковое представление которого требуется сравнить с последующим аргументом.
  • <Аргумент 2> - Аргумент, строковое представление которого требуется сравнить с предыдущим аргументом.
  • <Метод (INT)> - Метод сравнения: 0 (сымый быстрый) -- стандартный метод, сравнивающий коды символов для установления старшинства, 1 (по умолчанию) -- метод, игнорирубщий регистр символов аргументов, 2 -- метод, игнорирубщий регистр символов аргументов, также тип каны и другие особенности национальных символов, 3 (самый медленный) -- лингвистическое сравнение, учитывает регистр, только когда он имеет смысл лингвистически, игнорирование символов, не означающих буквы или иероглифы, игнорирование диакритических знаков (é = e).
  • <Ошибка> - (необязательный аргумент) (возможен аргумент-переменная (ByRef)) Если сравнение невозможно (лингвистическим методом), в указанную переменную будет возвращен текст ошибки, описывающий проблему при сравнении.

Возвращаемое значение

Функция возвращает целое число.

Примеры

Message(CompareStrings("abc","ABC",0));
//Будет выведен 1 (больше). Коды латинских символов нижнего регистра больше кодов символов верхнего регистра.

Message(CompareStrings("abc","ABC",1));
//Будет выведен 0 (равно)

Message(CompareStrings("イーグル","いーぐる",2));
//Будет выведен 0 (равно). Первая строка написана в катакане и имеет перевод, вторая -- ее вариант в хирагане представляет набор символов.

Message(CompareStrings("öbür йота Ё","obur иота е",3));
//Будет выведен 0 (равно)