Добавляет или удаляет кодовую страницу в (из) списка National Language Support (NLS).

SYS(2300, nCodePage [, nAction])

Параметры

nCodePage

Определяет целое число как номер (идентификатор) Кодовой СтраницыSpecifies.

nAction

Определяет операцию для данного кода страницы. 0 - удалить; 1 - добавить.

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

Символьное. SYS(2300) возвращает = 1, если nCodePage добавлен в список NLS; в другом случае возвращается = 0.

Expand imageКомментарии

Когда кодовая страница включена в список NLS Visual FoxPro, модули NLS применимы для соответствующего индексирования, сравнения символьных строк, автоматическое переключение индексов, и так далее. Последовательности сортировки в таких языках как ( Russian-русский, Czech-чешский, или Hungarian-венгерский), а также сравнения символьных строк могут привести к непредсказуемым результатам при использовании соответствующих кодовых страниц. В этих случаях рекомендуется использовать данную функцию SYS(2300) для корректного использования соответствующих кодовых страниц.

Если Вы используете данную функцию SYS(2300) для NLS-поддержки необходимых кодовых страниц, то обязательно проверте соответствующую поддержку для младших версий Visual FoxPro, где могут быть использованы созданные таблица/индексы данных. В соответствующих программных модулях необходимо использовать аналогичные алгоритмы запуска данной функции SYS(2300).

Список NLS включает коды страниц 874, 932, 936, 949, 950, 1255, и 1256. Дополнительно См. раздел:  Поддерживаемые Коды Страниц (Code Pages) в Visual FoxPro.

Expand imageПример

Кодовая страница 1250 не включена (по-умолчанию) в список NLS. Следовательно, сравнения символьных строк может привести к неожиданным результатам. Для демонстрации этого выполните следующие шаги:

  1. Включите поддержку кодовой страницы (1250) в конфигурационный файл, (которая не поддерживается, отсутствует в списке NLS):

      CopyCode imageКопировать Код
    CODEPAGE = 1250
  2. Перезапустите систему Visual FoxPro.

  3. Выполните программный модуль следующего содержания:

      CopyCode imageКопировать Код
    SET COLLATE TO 'HUNGARY'  && активирует CODEPAGE = 1250 в файле конфигурации
    CLEAR

    ? UPPER("B")=LOWER("B"), LOWER("B")=UPPER("B")
    ? UPPER("F")=LOWER("F"), LOWER("F")=UPPER("F")
    ? UPPER("H")=LOWER("H"), LOWER("H")=UPPER("H")

    =SYS(2300,1250,1) && добавим code page 1250 в спмсок NLS

    ? UPPER("B")=LOWER("B"), LOWER("B")=UPPER("B")
    ? UPPER("F")=LOWER("F"), LOWER("F")=UPPER("F")
    ? UPPER("H")=LOWER("H"), LOWER("H")=UPPER("H")

    =SYS(2300,1250,0) && Восстановим начальное состояние для страницы 1250 (выключим)
    RETURN

Для начального состояния: LOWER("B")=UPPER("B"), LOWER("F")=UPPER("F"), и LOWER("H")=UPPER("H") возвращают .T..

После включения поддержки 1250 в списке NLS:  LOWER("B")=UPPER("B"), LOWER("F")=UPPER("F"), и LOWER("H")=UPPER("H") возвращают .F..

Expand imageСм. также