Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Borland C++ 3.0

                     Глава 7. Создание таблицы строк
       -----------------------------------------------------------------

            Таблицы строк представляет собой таблицу,  которая  содержит
       сообщения об ошибках,  подсказки и другие текстовые строки, кото-
       рые должна выводить ваша прикладная программа.  В файл проекта вы
       можете записать несколько строковых таблиц.  Например,  вы можете
       задать строки, связанные со всеми меню, вызываемыми командами ме-
       ню File.

            Определение строк  текста  как  отдельного ресурса облегчает
       редактирование текстовых строк без изменения исходного кода. Нап-
       ример, если  вам  нужно перевести прикладную прогрaмму Windows на
       другой язык, размещение текстовых строк в таблицах строк упрощает
       процесс. (Тем не менее вам придется переводить текст в других ре-
       сурсах, таких как диалоговые окна.)

            При работе с таблицами строк нужно выполнить следующие четы-
       ре основных задачи:

            - запуск редактора строк;
            - создание и редактирование таблиц строк;
            - сохранение таблицы строк;
            - проверка таблицы строк.

            В конце данной главы вы найдете краткое руководство, которое
       позволяет вам выполнить шаги по созданию и редактированию таблицы
       строк.
                           Запуск редактора строк
       -----------------------------------------------------------------

            Характер запуска редактора строк зависит от того,  хотите вы
       создать новую строку или редактировать существующую.

            Для запуска строкового редактора с целью создания новой таб-
       лицы строк сделайте следующее:

            1. Откройте  проект,  к  которому вы хотите добавить таблицу
               строк.

            2. Выберите команду Resource¦New (Ресурс¦Новый).

            3. В диалоговом окне New Resource (Новый ресурс)  выберите в
               блоке списка Resource Type (Тип ресурса) STRINGTABLE, за-
               тем выберите кнопку OK.


       ----T-----------------------------------------------------------¬
       ¦ - ¦                     New resource                          ¦
       +---+-------------------------------------------T---------------+
       ¦   Resource type                               ¦               ¦
       ¦---------------------------------------------¬ ¦ ------------¬ ¦
       ¦¦  STRINGTABLE                               ¦ ¦ ¦  _        ¦-¦
       ¦¦ ----------------------------------------T-¬¦ ¦ ¦ V   OK    ¦-¦
       ¦¦ ¦ FONT                                  ¦^¦¦ ¦ L-------------¦
       ¦¦ ¦ ICON                                  +-+¦ ¦   ------------¦
       ¦¦ ¦ MENU                                  ¦-¦¦ ¦               ¦
       ¦¦ ¦ RCDATE                                ¦-¦¦ ¦               ¦
       ¦¦ ¦                                       ¦-¦¦ ¦ ------------¬ ¦
       ¦¦ ¦                                       ¦-¦¦ ¦ ¦           ¦-¦
       ¦¦ +---------------------------------------+-+¦ ¦ ¦ X  Cancel ¦-¦
       ¦¦ ¦                                       ¦v¦¦ ¦ L-------------¦
       ¦¦ L---------------------------------------+--¦ ¦   ------------¦
       ¦L--------------------------------------------- ¦               ¦
       ¦                                               ¦               ¦
       ¦                                               ¦ ------------¬ ¦
       ¦    Place resource in                          ¦ ¦  . New    ¦-¦
       ¦  ------------------------------------------¬  ¦ ¦ :: Type   ¦-¦
       ¦  ¦ ---------------------------------------¬¦  ¦ L-------------¦
       ¦  ¦ ¦ myproj.rc                            ¦¦  ¦   ------------¦
       ¦  ¦ L---------------------------------------¦  ¦               ¦
       ¦  L------------------------------------------  ¦               ¦
       ¦                                               ¦ ------------¬ ¦
       ¦                                               ¦ ¦           ¦-¦
       ¦                                               ¦ ¦ ?  Help   ¦-¦
       ¦                                               ¦ L-------------¦
       ¦                                               ¦   ------------¦
       ¦                                               ¦               ¦
       L-----------------------------------------------+----------------

            Рис. 7.1 Диалоговое окно New Resource с подсвеченным элемен-
       том STRINGTABLE

            Пакет разработчика ресурсов открывает строковый  редактор  и
       помещает в ваше окно проекта ссылку на новую строковую таблицу.

            Чтобы запустить  строковый  редактор  для редактирования су-
       ществующей строковой таблицы, сделайте следующее:

            1. Откройте проект, содержащий строковую таблицу, которую вы
               хотите редактировать.

            2. Найдите строковую таблицу в окне проекта.

            3. Дважды  щелкните кнопкой "мыши" на записи таблицы или вы-
               делите ее и выберите команду Resource¦Edit (Ресурс¦Редак-
               тирование).

            Выбранная вами  таблица строк выводится в строковом редакто-
       ре.


                          Работа с таблицами строк
       -----------------------------------------------------------------

            Когда вы  открываете  строковый редактор,  выводится таблица
       строк. Если вы просто создаете новую таблицу, вы не увидите ника-
       ких записей строк, поскольку вы их еще не ввели. Если вы редакти-
       руете существующую строковую таблицу, то вы увидите записи строк,
       которые могут выглядеть, например, следующим образом:

       ----T---------------------------------------------------T---T---¬
       ¦ - ¦             STRINGTABLE : sth_FineNew             ¦ v ¦ ^ ¦
       +---+-------------T-----------------T-------------------+---+-T-+
       ¦ ID Source       ¦ ID Value        ¦ String                  ¦^¦
       +=================+-----------------+-------------------------+-+
       ¦ sth_FileNew     ¦ 1               ¦ Help on New             ¦-¦
       +=================+-----------------+-------------------------+-¦
       ¦ sth_FileOpen    ¦ 2               ¦ Help on Open            ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileSave    ¦ 3               ¦ Help on Save            ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileSaveAs  ¦ 4               ¦ Help on SaveAs          ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FilePrint   ¦ 5               ¦ Help on Print           ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileExit    ¦ 100             ¦ Help on Exit            ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_File        ¦ 8               ¦ Help on                 ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileUndo    ¦ 9               ¦ Help on Undo            ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileCut     ¦ 10              ¦ Help on Cut             ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileCopy    ¦ 11              ¦ Help on Copy            ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FilePaste   ¦ 12              ¦ Help on Paste           ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileClear   ¦ 13              ¦ Help on Clear           ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_FileDelete  ¦ 14              ¦ Help on Delete          ¦-¦
       +-----------------+-----------------+-------------------------+-¦
       ¦ sth_Edt         ¦ 15              ¦ Help on Edt             ¦-¦
       +-----------------+-----------------+-------------------------+-+
       ¦ stgh_ViewAll    ¦ 16              ¦ Help on ViewAll         ¦v¦
       +-T---------------+-----------------+-----------------------T-+-+
       ¦>¦---------------------------------------------------------¦<¦ ¦
       L-+---------------------------------------------------------+-+--

            Рис. 7.2 Строковый редактор с записями таблицы строк

            ID Source  -  исходный  идентификатор;  ID  Value - значение
       идентификатора; String - строка

            Каждая запись строковой таблицы включает в себя  запись  ис-
       ходного идентификатора,  значения  идентификатора  и саму строку.
       Перед описанием ввода информации в строковую таблицу мы расскажем
       немного о том, как Windows работает со строковыми ресурсами.
                              Windows и строки
       -----------------------------------------------------------------

            Каждая строка в таблице строк должна иметь уникальный  цело-
       численный идентификатор.  Windows  объединяет  строки в сегменты,
       которые содержат по 16 строк каждый. Строки с идентификаторами от
       0 до  15 составляют первый сегмент,  строки с идентификаторами от
       16 до 32 - второй и т.д.  При компиляции ресурсов строки добавля-
       ются к  выполняемому  файлу в сегментах.  Вы время выполнения эти
       сегменты загружаются в память.

            Когда вашей прикладной прoграмме требуется конкретная  стро-
       ка, Windows загружает в память весь строковый сегмент, содержащий
       данную строку.  Для чего нужно знать о том,  как Windows работает
       со строками? Это позволит вам при аккуратном присваивании иденти-
       фикаторов уменьшить объем памяти,  которая требуется вашей  прик-
       ладной программе.

            Предположим, вы определили для своей прикладной программы 32
       строки. Если вы присваиваете этим строкам идентификаторы с  0  по
       31, к вашему выполняемому файлу добавляется два строковых сегмен-
       та. Каждый раз, когда ваша прикладной программе требуется строка,
       в память  будут загружаться 16 строк,  даже если некоторые строки
       не нужны.

            Лучший способ состоит в логическом объединении строк,  с ну-
       мерацией  их от 0 до 4.  Если вторая часть вашей прикладной прог-
       раммы требует 9 строк,  поместите их во второй  сегмент,  нумеруя
       строки с 16 по 24. После этого Windows может загрузить вместе все
       нужные строки без загрузки других строк,  которые  не  требуются.
       Хотя при этом все равно будут загружаться все сегменты, неисполь-
       зуемый идентификатор занимает только один байт памяти.  Таким об-
       разом,  если вы поместите в сегмент 5 строк, неиспользуемые иден-
       тификаторы будут занимать только 11 байт памяти. Если загруженный
       сегмент  содержит  11 неиспользуемых строк,объем задействованной
       памяти будет существенно больше.

            При задании уникального идентификатора строки вы можете  ис-
       пользовать целое значение  или  алфавитно-цифровой  идентификатор
       (#define в Си или С++ или описание константы в Паскале), заменяю-
       щий это целое значение. Если вы для облегчения восприятия иденти-
       фикаторов выбираете алфавитно-цифровые идентификаторы, нужно пом-
       нить о том, что вам возможно потребуется сохранить идентификаторы
       в файле идентификаторов (файл заголовка в Си и  С++  либо  модуль
       или включаемый файл в Паскале). Перед добавлением идентификаторов
       в строковым редакторе убедитесь, что эти файлы существуют.

            Теперь вы имеете некоторое представление о том,  как Windows
       работает со строковыми ресурсами, как задать уникальный идентифи-
       катор строки, и как ввести в строковую таблицу другую строку.


                              Ввод новой строки
       -----------------------------------------------------------------

            Обратите внимание  на  заголовки  в верхней части строкового
       редактора:

            1. Столбец ID Source (Исходный идентификатор) содержит иден-
               тификатор строки.  При присваивании идентификатора он вы-
               водится в данном столбце.  В противном случае вы  увидите
               целочисленный идентификатор.

            2. Столбец   ID  Value  (Значение  идентификатора)  содержит
               целочисленный идентификатор строки.

            3. Столбец String (Строка) - это текстовая строка.  Она хр
а-
               нится  в  строковой  таблице как строка Паскаля,  то есть
               тексту строки предшествует байт длины.  Строка может  со-
               держать до 255 символов.

            Чтобы ввести в строковую таблицу новую строку, сделайте сле-
       дующее:

            - Если это новая таблица,  просто начните вводить информацию
              для строки, как описывается шагами 3, 4 и 5 (см, ниже).

            - Если вы добавляете к таблице строку, начните с шага 1:

            1. Выделите строку над той строкой,  куда вы хотите включить
               новую строку.

            2. Для выбора команды Stringtable¦New Item (Строковая табли-
               ца¦Новый элемент) нажмите клавишу Ins.

            3. Введите значение поля ID Source или примите число,  поме-
               щенное в это поле строковым редактором. На основе введен-
               ного  вами  значения ID Source строковый редактор находит
               соответствующее целочисленное значение для ID Value.:

                     Примечание: Чтобы восстановить для ID Source исход-
                ное значение,  перед нажатием клавиши Tab или Enter наж-
                мите Esc.

               Вы можете ввести целое  значение  или  алфавитно-цифровой
               идентификатор,  заменяющий это значение.  Если вы введете
               алфавитно-цифровой идентификатор, не представляющий цело-
               го значения,  то строковый редактор выводит вам подсказку
               для создания нового идентификатора,  затем  нужно  нажать
               клавишу Enter или выбрать команду меню.

               Для создания идентификатора сделайте следующее:

                 a) Выберите  Yes  (Да).  Выводится  диалоговое окно New
                    Identifier (Новый идентификатор).
                 б) Введите новое значение идентификатора и задайте, где
                    вы хотите записать идентификатор. Выберите OK.

            4. Нажмите  клавишу  Tab  или  щелкните  кнопкой  "мыши" под
               String и введите текстовую строку.

                     Примечание: Чтобы восстановить для поля String  ис-
                ходное  значение,  перед  нажатием клавиши Tab или Enter
                нажмите Esc.

               Каждая строка может иметь длину до 255 символов и  содер-
               жать  любые  управляющие  последовательности Си,  включая
               следующие: \n (новая строка), \t (табуляция), \r (возврат
               каретки),  \\ (обратная косая черта),  \" (двойная кавыч-
               ка).

               Когда Пакет разработчика ресурсов обнаруживает  в  строке
               управляющую последовательность Си, он генерирует в объек-
               тном  кода  соответствующую  шестнадцатиричное   значение
               ASCII, а корректно интерпретировать данное значение должна
               ваша программа. Например, когда компилятор встречает пос-
               ледовательность \b\040\x7F,  он создает шестнадцатиричную
               последовательность 07207F.  Ваша программа должна интерп-
               ретировать данную последовательность,  как последователь-
               ность символов ASCII BEL,  SPC и DEL, либо присвоить этим
               шестнадцатиричным значениям другой смысл.

            5. Нажмите клавишу Enter (чтобы воспринялось новое значение)
               или Ins (чтобы воспринять значение и включить новое).

                      Редактирование существующих строк
       -----------------------------------------------------------------

            Строковый редактор облегчает изменение отдельных строк. Что-
       бы выделить строку с помощью "мыши",  щелкните кнопкой "мыши"  на
       той строке, которую вы хотите редактировать. По таблице можно пе-
       ремещаться с помощью клавиатуры,  нажимая  клавиши  Tab,  клавиши
       "стрелка вверх" и "стрелка вниз".  Переместите курсор на ту стро-
       ку, которую вы хотите редактировать.

                              Изменение строки
       -----------------------------------------------------------------

            Для любой  строки  вы  можете  стереть  значения ID Source и
       String и ввести новые значения. Можно также непосредственно изме-
       нить то, что выводится в поле ID Value, но строковый редактор об-
       новляет это значение в зависимости от того, что вы наберете в по-
       ле ID Source.

                  Восстановление измененных значений строк
       -----------------------------------------------------------------

            Для восстановления измененных значений строк вы  можете  ис-
       пользовать средства Undo (Отмена) и Redo (Повтор). Для отмены из-
       менения выберите команду  Edit¦Undo  (Редактирование¦Отмена)  или
       нажмите клавиши Alt+Backspace. Если вы отмените слишком много из-
       менений, для восстановления изменений, которые вы отменили, выбе-
       рите команду Edit¦Redo (Редактирование¦Повтор) или нажмите клави-
       ши Shift+Alt+Backspace.

                               Удаление строки
       -----------------------------------------------------------------

            Для удаления строки выделите строку и выберите команду Edit¦
       Cut (Редактирование¦Вырезание) или Stringtable¦Delete Stringtable
       Item (Строковая таблица¦Удаление элемента строковой таблицы).

               Редактирование записи ресурса строковой таблицы
       -----------------------------------------------------------------

            Кроме редактирования  строки  в  строковой таблице вы можете
       также использовать текстовый редактор для редактирования строки в
       записи ресурса.

            Для редактирования записи ресурса в строковой  таблице  сде-
       лайте следующее:

            1. Выделите строку записи ресурса в строковой таблице.

            2. Выберите команду Resource¦Edit As Text (Ресурс¦Редактиро-
               вание в виде текста).

            Выводится текст записи ресурса, который вы можете редактиро-
       вать.

                              Изменение строки
       -----------------------------------------------------------------

            Для редактирования строки сделайте следующее:

            1. Найдите строку, которую вы хотите редактировать, и внеси-
               те  в нее необходимые изменения.  Изменяйте только текст,
               который заключен в двойные кавычки.

            2. Дважды щелкните кнопкой "мыши" в управляющем меню  редак-
               тора.

            3. В  ответ  на  подсказку "Resource has changed.  Compile?"
               ("Ресурс изменен, компилировать?") ответьте Yes (Да).

            Пакет разработчика ресурсов компилирует внесенные вами изме-
       нения  и  сохраняет  их.  При наличии синтаксической ошибки Пакет
       разработчика ресурсов переводит вам обратно в текстовый редактор,
       где вы можете исправить ошибку.

       -----------------------------------------------------------------
            Изменение другого компонента записи  строки, идентификатора,
       может оказаться более сложным, так как идентификатор может не су-
       ществовать или может потребоваться его изменение для задания нов-
       ого целочисленного значения.Если вы измените в строковом редакто-
       ре идентификатор,  то вам выводится подсказка  для  ввода  нового
       значения. Однако, если вы изменяете его в текстовом редакторе, вы
       должны уже добавить идентификатор в соответствующий файл  иденти-
       фикаторов.  Если вы этого не сделаете, компилятор пытается компи-
       лировать  строковую  таблицу  и   возвращает   следующую   ошибку
       "Expecting unsigned short integer" ("Требуется беззнаковое корот-
       кое целое значение"). Данная ошибка указывает, что компилятор пы-
       тается интерпретировать имя идентификатора, но не может найти для
       него идентификатор.

            Конечно, вы всегда можете включить в поле ID Source ID  фак-
       тическое  значение  идентификатора,  но это делает вашу строковую
       таблицу и программу менее удобной для чтения и гибкой.

            Если компилятор  не  может  найти  идентификатор,  поскольку
       идентификатор не существует, вы можете добавить новый идентифика-
       тор:

            1. Сделайте активным окно проекта.

            2. Выберите команду Resource¦Identifiers (Ресурс¦Идентифика-
               торы).

            3. Выберите командную кнопку New (Новый).

            4. В  диалоговом  окне  New Identifier (Новый идентификатор)
               введите имя нового идентификатора и его значение.

            5. Если необходимо,  прокрутите список File (Файл),  пока не
               найдете  файл,  в котором вы хотите сохранить идентифика-
               тор, выделите его и выберите командную кнопку OK.

            6. Выделите запись Stringtable в окне проекта и снова  выбе-
               рите команду Resource¦Edit As Text (Ресурс¦Редактирование
               в виде текста).

            7. Снова дважды щелкните кнопкой "мыши" в  управляющем меню,
               затем  для  перекомпиляции  выберите командную кнопку OK.
               Теперь компилятор находит идентификатор и успешно  выпол-
               няет компиляцию.

            Как можно  видеть,  строковый редактор для изменения или до-
       бавления идентификаторов к строкам использовать действительно су-
       щественно легче.

                          Сохранение таблицы строк
       -----------------------------------------------------------------
            Неплохо сохранять изменения во время работы,  не  дожидаясь,
       пока  Пакет  разработчика  ресурсов  не выведет вам подсказку при
       закрытии проекта.  Пакет разработчика  ресурсов  помещает  запись
       STRINGTABLE  в  запись ресурса а окне проекта при создании нового
       ресурса автоматически.  Чтобы сохранить таблицу строк,  вам нужно
       сохранить весь проект.

                           Проверка таблицы строк
       -----------------------------------------------------------------

            Чтобы проверить строковую таблицу, нужно скомпилировать файл
       записей  ресурсов  в выполняемый файл.  Затем вы можете запустить
       выполняемый файл и посмотреть, правильно ли выводятся строки.

                  Примечание: О компиляции ресурсов в  выполняемый  файл
             подробно рассказывается в Главе 3.


                       Создание примера таблицы строк
       -----------------------------------------------------------------

            В следующем примере создается несколько строк, которые пакет
       разработчика ресурсов использует для описания параметров меню. Он
       показывает,  как легко работать со строковыми ресурсами с помощью
       редактора строк Пакета разработчика ресурсов.

            Без пакета  разработчика  ресурсов вам пришлось бы использо-
       вать для создания этих строк следующие записи ресурсов:

            STRINGTABLE
            BEGIN
               MENU_FILE, "Create, open or close files"
               MI_FILENEW, "Create a new project, of file"
               MI_FILEOPEN, "Open a resource file"
               MI_FILESAVE, "Save this resource file"
            END

            Предшествующие каждой  строке  алфавитно-цифровые  строки  в
       верхнем регистре представляет собой уникальный идентификатор стро-
       ки. Как и в случае других ресурсов Windows, каждая строка требует
       целочисленного  идентификатора.  Без Пакета разработчика ресурсов
       вам пришлось бы отдельно определять соответствующие целочисленные
       идентификаторы  для  всех таких идентификаторов в файле заголовка
       (для программы на Си) или во включаемом  файле  или  модуле  (для
       программы Паскаля).

            С помощью  Пакета  разработчика ресурсов вы можете создавать
       примеры строк следующим образом:

            1. Убедитесь, что вы уже открыли проект. Если вы уже работа-
               ли  с примерами,  используя MYPROJ.RC,  то можете открыть
               данный проект.

            2. Если у вас еще нет файла идентификаторов  (файл заголовка
               с определениями #define языка Си или модуль либо включае-
               мый файл с константами Паскаля), который задан для проек-
               та,  задайте  такой файл и назовите его (в данном примере
               мы подразумеваем, что это программа на Си).

            3. Выберите команду Resource¦New  (Ресурс¦Новый)  и  укажите
               Пакету  разработчика  ресурсов,  что  нужно создать новую
               таблицу. Вы увидите строковый редактор.

            4. Отступите от числа в текстовом блоке под ID Source и  на-
               берите   идентификатор  строки.  Для  первой  строки  это
               MENU_FILE.

            5. Для перемещения на String нажмите клавишу  Tab.  Обратите
               внимание,  что вы пропустили ID Value. В это поле мы вер-
               немся позднее.

            6. В поле String наберите текст строки.  Для  первой  строки
               это текст Create, open, or close files.

            7. Для   определения   следующей   строки  выберите  команду
               Stringtable¦New Stringtable Item (Строковая таблица¦Новый
               элемент строковой таблицы)

               Перед тем  как  строковый редактор позволит вам перейти к
               следующей строке,  он проверяет целочисленный идентифика-
               тор строки, который вы только что добавили. Во-первых, он
               проверяет то,  что вы набрали в строке ID Source. Если вы
               ввели целое число,  строковый редактор помещает то же це-
               лое число в столбце ID Value.

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

               Как только вы  введете  алфавитно-цифровой  идентификатор
               (MENU_FILE в данном случае), строковый редактор проверяет
               определения #define в Си или константы в Паскале, которые
               указывают на целочисленный идентификатор.  Если идентифи-
               катора нет,  вам выводится запрос,  хотите ли вы  создать
               новый идентификатор.

            8. Чтобы вывести диалоговое окно New Identifier (Новый иден-
               тификатор), выберите Yes (Да).


       ----T-----------------------------------------------------------¬
       ¦ - ¦                     New identifier                        ¦
       +---+-----------------------------------------------------------+
       ¦  ------------------------------------------------------------¬¦
       ¦  ¦            ----------------------------------------------¬¦¦
       ¦  ¦ Name       ¦ MENU_FILE                                   ¦¦¦
       ¦  ¦            L----------------------------------------------¦¦
       ¦  L------------------------------------------------------------¦
       ¦  ------------------------------------------------------------¬¦
       ¦  ¦            ----------------------------------------------¬¦¦
       ¦  ¦ Value      ¦ 768                                         ¦¦¦
       ¦  ¦            L----------------------------------------------¦¦
       ¦  L------------------------------------------------------------¦
       ¦  ------------------------------------------------------------¬¦
       ¦  ¦            --------------------------------------------T-¬¦¦
       ¦  ¦ File       ¦                                           ¦v¦¦¦
       ¦  ¦            L-------------------------------------------+=-¦¦
       ¦  L------------------------------------------------------------¦
       +---------------------------------------------------------------+
       ¦    ------------¬         ------------¬       ------------¬    ¦
       ¦    ¦  _        ¦-        ¦           ¦-      ¦           ¦-   ¦
       ¦    ¦ V   OK    ¦-        ¦ X  Cancel ¦-      ¦ ?  Help   ¦-   ¦
       ¦    L-------------        L-------------      L-------------   ¦
       ¦      ------------          ------------        ------------   ¦
       ¦                                                               ¦
       L----------------------------------------------------------------

            Рис. 7.3 Диалоговое окно New Inentifier

            9. В текстовом поле Value (Значение) введите уникальный  це-
               лочисленный идентификатор. В качестве первого идентифика-
               тора наберите 768.

           10. Прокрутите  вниз  список File (Файл),  пока вы не найдете
               MYPROJ.H, затем выберите его.

           11. Чтобы ввести новый идентификатор и поместить его  в  файл
                MYPROJ.H, выберите командную кнопку OK.

            Повторите шаги  4 - 11,  чтобы определить три другие строки,
       показанные в начале данного раздела: MI_FILENEW, MI_FILEOPEN и MI
       _FILESAVE.  Попробуйте изменить последовательность, нажимая после
       ввода каждого имени идентификатора вместо Tab Enter.

            Как вы можете заметить, для каждой строки строковый редактор
       увеличивает числовое значение идентификатора на 1 (по сравнению с
       предыдущим идентификатором).  Вам не требуется выбирать  значение
       целочисленного  идентификатора,  для  удобства строковый редактор
       помещает его сам.

            Когда вы закончите создание четырех  строк,  ваша  строковая
       таблица будет выглядеть следующим образом:

       ----T---------------------------------------------------T---T---¬
       ¦ - ¦             STRINGTABLE : MENU_FILE               ¦ v ¦ ^ ¦
       +---+-------------T----------T--------------------------+---+-T-+
       ¦ ID Source       ¦ ID Value ¦        String                  ¦^¦
       +-----------------+----------+--------------------------------+-+
       ¦ MENU_FILE       ¦ 768      ¦ Create, open, or close files   ¦-¦
       +-----------------+----------+--------------------------------+-¦
       ¦ MI_FILENEW      ¦ 769      ¦ Create a new project resource o¦-¦
       +-----------------+----------+--------------------------------+-¦
       ¦ MI_FILEOPEN     ¦ 770      ¦ Open a resource file           ¦-¦
       +-----------------+----------+================================+-+
       ¦ MI_FILESAVE     ¦ 771      ¦ Save this resource file        ¦v¦
       +-T---------------+----------+==============================T-+-+
       ¦>¦---------------------------------------------------------¦<¦ ¦
       L-+---------------------------------------------------------+-+--

            Рис. 7.4 Строковый редактор с четырьмя определенными строка-
       ми

            В качестве  последнего шага вы можете закрыть данную строко-
       вую таблицу,  дважды щелкнув кнопкой "мыши" на управляющем  блоке
       окна строкового редактора.  Строковый редактор присваивает  новой
       таблице имя первого идентификатора в таблице.  Если первая запись
       ID Source представляет собой число,  то это число  станет  именем
       строковой таблицы. Имя таблицы можно изменить только изменяя пер-
       вую запись ID Source в таблице.

            Это соглашение по наименованию имеет смысл, если вы вспомни-
       те,  что строки загружаются сегментами по 16 строк, а целочислен-
       ный идентификатор строки указывает,  где строка включается в сег-
       мент.   Целочисленный   идентификатор   первой   строки   таблицы
       указывает, где в сегменте начинается таблица.




[ Назад ] [ Оглавление ] [ Далее ]

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог