CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Borland C++ 3.0
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 строк, а целочислен-
ный идентификатор строки указывает, где строка включается в сег-
мент. Целочисленный идентификатор первой строки таблицы
указывает, где в сегменте начинается таблица.
