InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Создание файла ресурсов

А. Новожилов

Читая разные умные книжки по VB, каждый из нас наверняка сталкивался с понятием файла ресурсов. Авторы этих книг приводят различные приемы и способы создания и использования этих файлов. В этой небольшой статье я попытаюсь объяснить простой и быстрый способ создания вышеупомянутых файлов. Нужны они Вам или не нужны - решайте сами.  

Вот несколько важных на мой взгляд моментов:

  • Файл ресурсов в проекте может быть один и только один, но вставить в него можно море и еще небольшую лужицу, размером с океанчик;
  • После создания файла ресурсов картинки, тексты и т.д., которые были вставлены в файл - не нужны;
  • Не присваивайте идентификационный номер 1, т.к. VB резервирует этот номер для себя;
  • Экспериментируя, я создал две программы, выполняющих одну и ту же задачу. Одну с файлом ресурсов, а другую без него. Конечные EXE файлы получились одного и того же размера, а разницы в скорости я не заметил.

Итак, как создать файл ресурсов:

Создание файла ресурсов в Visual Basic 5.0

  • Создать текстовый файл со сценарием и сохранить его в виде имяфайла.RC
  • Скомпилировать этот файл при помощи программы RC.EXE
  • Присоединить этот файл к проекту и написать правильный код

1. Создание текстового файла сценария

В любом текстовом редакторе наберите
STRINGTABLE DISCARDABLE

BEGIN

        100        "Двойка бубен"

        101        "Двойка крестей"

        102        "Двойка пик"

        103        "Двойка червей"

END

 

200    BITMAP     2б.bmp

201    BITMAP     2к.bmp

202    BITMAP     2п.bmp

203    BITMAP     2ч.bmp  

STRINGTABLE - говорит компилятору, что ниже будут данные, имеющие тип STRING (т.е. текст);

BEGIN, END - начало, конец списка данных;

100-103 - идентификационный номер каждой строки;

"Текст в кавычках" - текст, который Вы будете использовать в своей программе;

DISCARDABLE - говорит компилятору, что ниже будут данные, в нашем случае, имеющие тип BITMAP (т.е. картинки)

200-203 - идентификационный номер каждой картинки;

2б.bmp-2ч.bmp - это файлы с картинками (я их просто так обозвал)

 

*числа 100-103 и 200-203 выбраны произвольно, как и имена строк и картинок. Не присваивайте нигде идентификационный номер 1, т.к. VB резервирует его для себя

 

Сохраните этот файл под именем MYRESFILE.RC

Перепишите туда же файлы с картинками 2б.bmp, 2к.bmp, 2п.bmp, 2ч.bmp , (их потом можно удалить и файл MYRESFILE.RC тоже)

 

Все готово для компиляции сценария.

 

2. Компиляция сценария

 

Найдите у себя на диске файл RC.EXE, он обычно лежит в папке DevStudio\VB\Wizards

Перепишите в этот каталог созданный скрипт MYRESFILE.RC и файлы с картинками, после этого наберите и выполните командную строку:

RC.EXE /R /FO MYRESFILE.RES MYRESFILE.RC

(можно в DOS-e, можно через ПУСК, Выполнить и т.д.)

Если все сделано правильно, то на диске родится новый файл с именем MYRESFILE.RES

 

3. Присоединение файла к проекту

Создание файла ресурсов в Visual Basic 6.0

   

  • Вызвать встроенный в VB6 редактор ресурсов
  • Создать в нем сценарий (что придумано очень удобно и понятно!) и сохранить его в виде имяфайла.RC
  • Присоединить этот файл к проекту и написать правильный код

 

1. Вызов встроенного редактора ресурсов

Откройте меню Add-Ins и выберите опцию Add-In Manager:

 

В открывшейся форме найдите VB6 Resource Editor, выделите его и внизу справа поставьте галочку на Loaded/Unloaded и нажмите Ок.

 

2. Создание файла ресурсов

Выберите меню Tools и в самом низу Resource Editor.

 

 

Вы в рабочем окне редактора файла ресурсов. Выберите значок  (Edit String Tables:). Перед Вами откроется форма с таблицей для редактирования, в левой части которой идентификационный номер записи (по умолчанию он 101), а в правой - поле для ввода текста.

 

 

Сделав двойной щелчок по номеру, Вы увидите, что появился мигающий курсор. Введите в это поле 100, а в поле для текста - Двойка бубен, нажмите Enter. Появится следующая строка. Последовательно введите:

 

101   Двойка крестей

102   Двойка пик

103   Двойка червей

 

Закройте эту форму крестиком. Теперь выберите картинку (Add Bitmap:). В появившейся форме найдите файл с двойкой бубен (2б.bmp) и нажмите Ок. Теперь у Вас имеется раздел String Table, содержащий 4 строки с текстом и раздел с одной картинкой (двойкой бубен).

 

 

Сделайте двойной щелчок по 101 для редактирования идентификационного номера картинки.

 

 

Исправьте в поле Id: 101 на 200 и нажмите Ок. Нажимая на Add Bitmap добавьте остальные три файла с картами (2к.bmp, 2ч.bmp, 2п.bmp). В результате у Вас будет такая картина.

 

 

*числа 100-103 и 200-203 выбраны произвольно, как и имена строк и картинок. Не присваивайте нигде идентификационный номер 1, т.к. VB резервирует его для себя

 

Если нажать на значок с дискетой, то можно сохранить этот файл на диске, что мы и сделаем.

При сохранении укажите место и имя файла MYRESFILE.RES. Вы только что создали и сохранили файл ресурсов.

 

3. Присоединение файла к проекту

Пример проекта с файлом ресурсов  

Создайте новый проект. Поместите на него PictureBox, Label и VScroll, оставив при этом имена элементов по умолчанию (Picture1, Label1, VScroll1).

 

 

Добавьте с помощью этого меню созданный файл ресурсов, в нашем случае это MYRESFILE.RES

 

 

В результате в окне проекта Вы увидите присоединенный к проекту файл ресурсов.

 

В редакторе введите приведенный ниже код и запустите проект.

 

Option Explicit  

Private Sub Form_Load()

Label1.AutoSize = True

Picture1.AutoSize = True

VScroll1.Min = 100

VScroll1.Max = 103

VScroll1.Value = 100

Label1.Caption = LoadResString(VScroll1.Value)

Picture1.Picture = LoadResPicture(VScroll1.Value + 100, vbResBitmap)

End Sub  

Private Sub VScroll1_Change()

Label1.Caption = LoadResString(VScroll1.Value)

Picture1.Picture = LoadResPicture(VScroll1.Value + 100, vbResBitmap)

End Sub

 

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

 

 

Вот и все.

  • После того, как Вы создали файл ресурсов, картинки, иконки, звуки и т.д., на которые Вы ссылались - больше не нужны, их просто можно удалить.
  • Файл ресурсов в проекте может быть только один.
  • Размер текста в файле ресурсов (насколько я понял из HELP-а) не может превышать 64 Кб.

Синтаксис обращения к присоединенному файлу ресурсов

 

Загрузка текстовых данных

Объект = LoadResString(index)

Index - идентификационный номер строки

Объект - TextBox, Label и все остальное, куда можно грузить текст

 

Загрузка графических данных

Объект = LoadResPicture(index,format)

Index - идентификационный номер строки с картинкой

Format - тип загружаемых данных:     VbResBitmap - картинки

VbResCursor - курсоры

VbResIcon - иконки

Объект - PictureBox, Image и все остальное, куда можно грузить графику  

Загружает данные и возвращает байтовый массив

Объект = LoadResData(index, format)

Index - идентификационный номер строки с данными

Format - тип возвращаемых данных в виде байтов:

1     Курсор

2     Графика

3     Иконка

4     Меню

5     Окно диалога

6     Текст

7     Каталог со шрифтами

8     Шрифт

9     Таблица

10    Пользовательские ресурсы

12    Группа курсоров

14    Группа иконок

Смотрите пример


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua