Программ ирование для защищенного режима___________________________227

в защищенном режиме и ресурсы библиотеки Turbo Vision — это не одно и то же. Расширитель ДОС использует формат ресурсов Windows, которые обычно хранят элементы графического интерфейса и описание диалоговых окон. Поскольку защищенный режим не поддерживает графику, из всего многообразия ресурсных API— функций в модуль WinAPI включены только средства работы со строковыми ресурсами и ресурсами пользователя. Строковые ресурсы содержат пронумерованные строки. Программа получает строку из ресурса, ссылаясь на ее имя, т.е. примерно так же, как это делается в библиотеке TurboVision. Ресурс пользователя содержит произвольные двоичные данные, которые программа может использовать по своему усмотрению.

9.4.1. Создание ресурсов

Для создания ресурса любого типа можно использовать редактор ресурсов Resourse Workshop или один из компиляторов ресурсов — BRC.EXE или BRCC.EXE. Поскольку редактор ресурсов работает только в среде Windows, а эта операционная система необязательно установлена на Вашем ПК, дальше описывается процесс создания ресурсов с помощью компиляторов, которые работают под управлением MS-DOS.

Компилятор ресурсов получает текстовый файл описания ресурсов и производит двоичный ресурсный файл. По умолчанию расширение текстового файла — RC, а ресурсного файла — RES. Текст .КС—файла со— тавляется на специальном языке описания ресурсов.

Каждый ресурс в RC—файле содержит заголовок и описание. В заголовке, имеющем формат

[<ИМЯ_РЕСУРСА>] <ТИП_РЕСУРСА>

указывается имя ресурса и его тип. Имя ресурса — обязательный параметр для всех ресурсов, кроме строковых. При формировании имени используются правила создания идентификаторов Паскаля:

• имя содержит латинские буквы, цифры и знак подчеркивания;

• имя не может начинаться с цифры;

• разница в высоте символов имени игнорируется, т.е. имена MYRES и MyRes считаются синонимами.

Тип ресурса задается одним из зарезервированных слов: STRINGTABLE — для строкового ресурса и RCDATA — для ресурса пользователя. В отличие от имен эти слова, а также зарезервированные слова BEGIN и END, обрамляющие раздел описания ресурса, должны состоять только из заглавных букв.

Раздел описания открывается словом BEGIN и завершается словом END. Каждая строка в строковом ресурсе описывается следующим образом:

<НОМЕР>"[<СТРОКА>]"

<НОМЕР> представляет собой произвольное целое число без знака в диапазоне от 0 до 65535. Это число трактуется как уникальный идентификатор строки и не может быть одинаковым у двух разных строк в пределах всего RC—файла, (в файле может быть сколько угодно описаний