Добавляет или удаляет кодовую страницу в (из) списка National Language Support (NLS).
SYS(2300, nCodePage [, nAction]) |
Параметры
- nCodePage
-
Определяет целое число как номер (идентификатор) Кодовой СтраницыSpecifies.
- nAction
-
Определяет операцию для данного кода страницы. 0 - удалить; 1 - добавить.
Возвращаемое значение
Символьное. SYS(2300) возвращает = 1, если nCodePage добавлен в список NLS; в другом случае возвращается = 0.
Комментарии
Когда кодовая страница включена в список 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.
Пример
Кодовая страница 1250 не включена (по-умолчанию) в список NLS. Следовательно, сравнения символьных строк может привести к неожиданным результатам. Для демонстрации этого выполните следующие шаги:
-
Включите поддержку кодовой страницы (1250) в конфигурационный файл, (которая не поддерживается, отсутствует в списке NLS):
Копировать Код
CODEPAGE = 1250
-
Перезапустите систему Visual FoxPro.
-
Выполните программный модуль следующего содержания:
Копировать Код
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..