Resourses

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Resourses

Сообщение Alexander N. Samarin » 14.03.2005 (Пн) 18:11

А как обращаться к элементам ресурсов (запихал картинку - как ее вставить, текст и т. п.)

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 14.03.2005 (Пн) 18:16

Всем посетителям
'Азбуки VB' – посвящается…
Создание файла ресурсов (*.res)

А. Новожилов




Ч

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

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

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

Ø Пользователям VB5

Ø Пользователям VB6

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

Ø Как обратиться к файлу ресурсов



Создание файла ресурсов в 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 Группа иконок


Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 14.03.2005 (Пн) 18:16

Код: Выделить всё
set Picture1.Picture=vb.LoadResPicture(101,vbResIcon)

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 14.03.2005 (Пн) 18:55

Огромное спасибо :D :D :D


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 137

    TopList