CA-Clipper 5.2 Поддержка русского языка
Поддержка русского языка CA-Clipper 5.2 позволяет создавать прикладные программы, ориентированные на русскоязычный рынок сбыта. Прикомпоновка соответствующего драйвера обеспечивает формирование сообщений времени выполнения на русском языке и применение требуемой схемы упорядочения, используемой при сравнении, индексации и сортировке.
В состав комплекта входят следующие файлы:
README.RUS - этот файл
MSGRUS.OBJ - драйвер русскоязычных сообщений
NTXRUS.OBJ - драйвер русской схемы упорядочения NTX-файлов
CLD.HLP - русский Help-файл отладчика CLD
C52G08R.NG - файл для Norton Guide Engine с описанием изменений, введенных в версию 5.2 относительно 5.01
2. Поддержка сообщений времени выполнения
Поддержка русского языка обеспечивает формирование на русском языке:
Дней недели - Названий дней недели, возвращаемых
функцией CDOW().
Месяцев - Названий месяцев в году,
возвращаемых функцией CMONTH().
Сообщений команд - сообщений GET-системы, выводимых в
область отображения состояния (SCOREBOARD).
Эти функции выполняет прикомпоновываемый драйвер NTXRUS.OBJ.
Сообщения об - Многие ошибки времени выполнения ошибках времени переведены на русский язык выполнения
Эти сообщения формируются прикомпоновываемым драйвером MSGRUS.OBJ.
3. Схемы упорядочения
Схема упорядочения определяет порядок логического следования записей в базе данных после индексации или сортировки,а также результат сравнения символьных строк. Кроме того, от нее зависит результат работы функций UPPER(), LOWER(), ISUPPER(), ISLOWER(), ISALPHA(), шаблонных функций, используемых в предложении PICTURE. Бинарная операция == (точное равенство) от схемы упорядочения не зависит.
Схема упорядочения, поддерживаемая драйвером NTXRUS.OBJ, использует порядок сортировки, основанный на ASCII-кодах.
Это приводит к расположению прописных и строчных букв кириллицы с диакритическими знаками (CHR(240) - CHR(247)) в конце отсортированного списка.
Например, буква Ё-CHR(240) и по ASCII-коду и по схеме упорядочения в индексе будет после буквы я (CHR(239)) хотя по алфавиту находится после буквы Е (CHR(133)). При использовании драйвера поддержки другого языка соотношения могут быть совсем другими. Поэтому результаты операций сравнения, описываемые далее, зависят от прикомпонованного к программе драйвера поддержки языка.
? "З" > "d" // Результат: .T. для ASCII-схемы упорядочения
? "З" > "d" // Результат: .F. для French MDX схемы упорядочения
Примечание: Изменение схемы упорядочения в прикладной программе, использующей уже существующие индексные файлы, может привести к их разрушению. Индексы должны быть перестроены перед использованием с новой схемой упорядочения.
3.1 Заменяемые драйверы баз данных
CA-Clipper 5.2 поддерживает использование заменяемых драйверов баз данных (RDD). Поскольку для разных стран схема упорядочения, связанная с особенностями национального языка, может быть различной, предусмотрены специальные драйверы поддержки языков.
Ниже приведена информация, описывающая специфику схем упорядочения для каждого из этих драйверов.
3.1.1 Поддержка схемы упорядочения DBFNTX (CA-Clipper)
Поддержка языков драйвера DBFNTX обеспечивает возможность корректировки баз данных и соответствующих им индексных файлов (.NTX) для CA-Clipper. Версия драйвера DBFNTX, находящаяся в библиотеке CLIPPER.LIB и используемая по умолчанию, поддерживает схему упорядочения английского языка. Для поддержки русской схемы упорядочения необходимо использоватьверсию драйвера из файла NTXRUS.OBJ.
3.1.2 Поддержка схемы упорядочения DBFMDX (dBASE IV)
Поддержка языков драйвера DBFMDX обеспечивает возможность корректировки баз данных и соответствующих им индексных файлов (.MDX) для dBASE IV.
Для того, чтобы обеспечить поддержку русскоязычных сообщений, бходимо прикомпоновать к программе оба драйвера - NTXRUS.OBJ и MSGRUS.OBJ. Это не повлияет на схему упорядочения при работе с заменяемым драйвером баз данных DBFMDX.
3.1.3 Поддержка схемы упорядочения DBFCDX (FoxPro 2)
Европейская версия FoxPro 2 использует схему упорядочения, основанную на ASCII-кодах.
Для того, чтобы обеспечить поддержку русскоязычных сообщений, необходимо прикомпоновать к программе оба драйвера - NTXRUS.OBJ и MSGRUS.OBJ. Это не повлияет на схему упорядочения при работе с заменяемым драйвером баз данных DBFCDX.
4. Использование драйверов поддержки языков.
Перед тем, как приступить к процессу компоновки драйверов поддержки языков, убедитесь в том, что DOS-переменная среды окружения OBJ указывает на поддиректорию \CLIPPER5\OBJ.
(Например, в файл AUTOEXEC.BAT включена директива "SET OBJ=C:\CLIPPER5\OBJ").
Для того, чтобы Clipper-программа могла использовать стандарты языка выбранной страны, к ней необходимо прикомпоновать настроенный на выбранную страну драйвер сообщений и драйвер упорядочения.
Синтаксис вызова компоновщика при этом будет следующим:
RTLINK FI <Objs> [, <MessageDriver>] [, <CollationDriver>]
где:
<Objs> - список OBJ-файлов, составляющих
прикладную программу
<MessageDriver> - драйвер сообщений
<CollationDriver> - драйвер упорядочения
Например, для создания программы с французским драйвером сообщений и русскоязычным драйвером упорядочения DBFNTX, используйте командную строку:
RTLINK FI <objs>, MSGFRE, NTXRUS
Как драйвер сообщений, так и драйвер упорядочения можно не прикомпоновывать. Прикладная программа может формировать русские сообщения с используемым по умолчанию английским драйвером упорядочения. То есть:
RTLINK FI <objs>, MSGRUS
Тем не менее, драйверы MSGRUS.OBJ и NTXRUS.OBJ рекомендуется использовать совместно.
Для определения того, какой из драйверов поддержки языков скомпонован с программой, необходимо в командную строку вызова программы добавить опцию //INFO. Например:
C:\> MYAPP //INFO
Если программа была скомпонована с драйверами поддержки русского языка, перед ее выполнением на экран будет выдано следующее сообщение:
Clipper (R) 5.2 Intl. Rev. 2.15 RUSSIAN - RUSSIAN Collation
Это сообщение может изменяться в зависимости от того, какие драйверы скомпонованы с программой. Для драйвера упорядочения на экран выдается сообщение о RDD и стране. Например, если прикомпонованы драйверы сообщений MSGUK.OBJ и упорядочения MDXUK.OBJ, предназначенные для Великобритании, на экран будет выдано сообщение:
Clipper (R) 5.2 Intl. Rev. 2.15 BRITSH - BRITISH DBFMDX Collation