С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/55: Рейтинг темы: голосов - 55, средняя оценка - 4.78
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035

Как запихнуть картинку и wav фаил в ресурсы?

25.09.2011, 14:23. Показов 10239. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как так вышло что я ни разу в жизни не использовал ресурсы.
Соответственно вопросы:
1) Используя их , не надо уже хранить картинку в папке с фаилом? то есть как бы она копируется в ЕХЕ ?
2)Начал читать http://wladm.narod.ru/Borland/res.html
а-а-а ну зачем столько писанины?(((
Кто-нибудь может объяснить по простому как это сделать? Вот например есть билдер6
в проекте есть FORMS.RES.

Что с ним делать? Дабл клик ни открывает никаких возможностей.


пс
да я лентяй) не ругайте сильно
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2011, 14:23
Ответы с готовыми решениями:

Как запихнуть вирус в картинку
Помню когда-то давно-давно наткнулся на вирус в скайпе он был в виде картинки и с разрешением *.bmp ну так вот когда открывал эту картинку...

Запихнуть ресурсы в готовый exe
Всем привет. Такой вопрос: возможно ли заменить файл в ресурсах программно в готовом exe (возможно большего, или меньшего размеров)?

Как запихнуть из формы (web) в базу(тип image) картинку(jpg)?
Как запихнуть из формы (web) в базу(тип image) картинку(jpg), и как потом её достать, делает ли так хто-нибудь?

22
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 14:39
в какой версии Билдера?

Добавлено через 2 минуты
1) Используя их , не надо уже хранить картинку в папке с фаилом? то есть как бы она копируется в ЕХЕ ?
2)Начал читать http://wladm.narod.ru/Borland/res.html
а-а-а ну зачем столько писанины?(((
Кто-нибудь может объяснить по простому как это сделать? Вот например есть билдер6
в проекте есть FORMS.RES.

Что с ним делать? Дабл клик ни открывает никаких возможностей.
1. Нет. Да.
2. Как засунуть звук в exeшник , ZOOM , Как воспроизвести звук из ресурса (mp3)
2.1. RES открывается редактором ресурсов, например, Ресторатором http://bome.com.
3. на форуме есть поиск
2
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 14:53  [ТС]
ну ладно пойду по пути : http://wladm.narod.ru/Borland/res.html
Картинки можно поместить в ресурс как используя файл ресурсов проекта (project1.res) так и отдельный файл ресурсов, аналогично описанному выше хранению текста и программ.

Для рассмотрения первой возможности создадим новый проект и поместим на форму компонент TImage и два компонента TButton. В директорию проекта поместим любой рисунок в формате bmp (например "a.bmp") и откроем его в любом графическом редакторе, например в Microsoft Paint. Не компилируя проект запустим Image Editor (меню Tools/Image Editor). Далее откроем project1.res из директории проекта(File/Open, Projects/project1.res). Выполняем правый клик в поле открывшегося окна и в контекстном меню выбираем пункт New/Bitmap.

И сразу видим недостаток этого метода - максимальное число цветов для изображения - 256. Устанавливаем число цветов и размер (его определяем в Paint - меню Рисунок/Атрибуты). В файле у Contens появилась новая ветвь Bitmap с именем рисунка Bitmap1. (Можно воспользовавшись контекстным меню пунктом "Rename" и переименовать рисунок, например в MYBITMAP, но для наглядности делать этого не будем). Выполним двойной клик на имени рисунка - откроется окно редактора с пустым рисунком. Перенесем рисунок из Paint (ctrl+A, Ctrl+C) (можно и нарисовать свой рисунок в Image Editor) в окно Image Editor(ctrl+V). Закроем окно редактора рисунка и Image Editor, естественно на вопрос: "Save Changes..." кликнем "Yes".
сделал так как написано.

А в проекте просто заменил
C++
1
Image1->Picture->LoadFromFile("r.bmp");
на

C++
1
Image1->Picture->Bitmap->LoadFromResourceName((int)HInstance,"Bitmap1");
нажимаю ф9, в ответ :
Resource bitmap1 not found
Как так?
0
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 15:12  [ТС]
а если так сделать
C++
1
2
3
4
5
 HBITMAP hBmp=LoadImage(GetModuleHandle(NULL),
                     "Bitmap1",IMAGE_BITMAP,0,0,
                     LR_COPYFROMRESOURCE | LR_DEFAULTCOLOR |
                     LR_CREATEDIBSECTION);
                       Image1->Picture->Bitmap->Handle=hBmp;
то он запустит проект, но картинку не покажет
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 15:12
#include "Resource.h" - ваш самопальный заголовочный файл, может называться по любому.

Текст файла "Resource.h" :
C++
1
2
#define IDC_MYWAV 1 // IDC_MYWAV может называться по любому.
#pragma resource "CUSTOMICON.RES" // RES может называться по любому.
CUSTOMICON.rc ваш самопальный ресурсный файл, может называться по любому.

Текст файла "CUSTOMICON.rc" :
C++
1
IDC_MYWAV MYWAV "pooh.wav"
В каталоге должен быть файл звука, в примере это "pooh.wav" .

Для компиляции файла "CUSTOMICON.RES" запустить из командной строки:

(c:\Program Files\Embarcadero\RAD Studio\8.0\bin\) brcc32.exe CUSTOMICON.rc // у ваа путь может быть другим

или просто F9 (Run) - звук будет добвлен к файлу EXE программы.

Если у вас РАД ХЕ - я не зря спрашивал про версию Билдера - для добавления ресурса достаточно выбрат пункт главного меню Project - Resources & Images... , для вав указать тип ресурса RT_RCDATA
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 15:13
LoadFromResourceName должно быть
0
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 15:14  [ТС]
Если у вас РАД ХЕ - я не зря спрашивал про версию Билдера -
1 пост:
Вот например есть билдер6
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 15:17
вы думаете, я рассматриваю ваше сообщение под лупой по буквам и делаю записи для памяти на дисплее ?
0
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 15:30  [ТС]
не совсем понял 5 пост.
#include "Resource.h" создать и добавить в проект?
CUSTOMICON.rc тоже сделать?
ЛК , добавь плиз в 5 пост глаголы)

Добавлено через 9 минут
LK,
Как то все не вяжется
вот я добавил
C++
1
2
3
4
#pragma package(smart_init)
#pragma resource "*.dfm"
#define IDC_MYBMP 1
#pragma resource "Forms.res"
потом в проект добавил
Forms.rc
со строкой
IDC_MYBMP MYBMP "r.bmp"

и что?
Как это решит проблему с
Image1->Picture->Bitmap->LoadFromResourceName((int)HInstance,"BI TMAP1");
не втыкаю
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 15:48
Самому создать файлы resource.h и CUSTOM.RES - можно в обычном блокноте

Текст файла "Resource.h" :
C++
1
2
#define IDC_MYWAV 1 // IDC_MYWAV может называться по любому, 1 - может быть любое
#pragma resource "CUSTOM.RES" // RES может называться по любому.
Текст файла "CUSTOM.rc" :
C++
1
IDC_MYWAV MYWAV "pooh.wav"
Открыть пункт главного меню Project->Add To Project - и указать файлы resource.h и CUSTOM.RES

Подключить заголовочный файл resource.h
C++
1
2
3
4
5
6
7
8
9
10
11
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "resource.h" // добавить эту строчку
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
TForm1 *Form1;
Для компиляции файла "CUSTOM.RES" запустить из командной строки:

(c:\Program Files\Embarcadero\RAD Studio\8.0\bin\) brcc32.exe CUSTOM.rc // у вас путь может быть другим
или просто F9 (Run) - звук будет добавлен к файлу EXE программы.
1
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 15:54  [ТС]
про звук пока я не очень сильно спрашивал правда... я пока с картинкой даже разобраться не могу
ну звук я воспроизвожу
PlaySound("1.wav", 0, SND_ASYNC);
изменится на
PlaySound(MYWAV, 0, SND_ASYNC);
эта запись?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 16:03
да там ,без разницы, меняете название файла с вав на бмп
может, так:
C++
1
2
3
4
5
Graphics::TBitmap* gBitmap = new Graphics::TBitmap;
gBitmap->LoadFromResourceName((int)HInstance,"IDC_MYBMP");
Image1->Picture->Assiign(gBitmap);
delete gBitmap;
gBitmap = NULL;
LoadFromResourceName (C++)

Добавлено через 7 минут
ресурсный файл .rc
1
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 16:05  [ТС]
значит
C++
1
PlaySound(MYWAV, 0, SND_ASYNC);
Пишет что неопределенный символ MYWAV.
сделал как в 10 посту.

кстати если я картунку в инспекторе объектов загружу в image она автоматически добавится к фаилу? ну то есть станет ресурсом? Просто до сего момента я динамически грузил...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
25.09.2011, 16:07
нет, это просто ссылка на файл на диске

а попробовать, потом переименовать файл и посмотреть, что получится, мысль не посещала ? можно хоть немножко быть исследователем... про ленивого я читал, мне не понравилось...
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
25.09.2011, 16:15
C++
1
PlaySound("ident", 0, SND_RESOURCE | SND_ASYNC);
В .rc
ident SOUND "путь к файлу\трек.wav"
Ести тип стоял RCDATA , то звук у меня не проигрывался, а так проигрывается
0
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 16:25  [ТС]
C++
1
2
3
нет, это просто ссылка на файл на диске
 
а попробовать, потом переименовать файл и посмотреть, что получится, мысль не посещала ? можно хоть немножко быть исследователем... про ленивого я читал, мне не понравилось.
А дык в ковычках писать надо...
http://wladm.narod.ru/Borland/res.html
C++
1
2
3
4
5
6
void __fastcall 
TForm1::Button2Click(TObject *Sender)
{
 sndPlaySound("MyWav", SND_SYNC | SND_RESOURCE);
 PlaySound("MyWav",NULL, SND_SYNC | SND_RESOURCE);
}
также сделал вот сейчас. Но он не воспроизводит... Брр компилит нормально, но не играет ничего.

Добавлено через 6 минут
C++
1
2
PlaySound("MYWAV",0, SND_RESOURCE | SND_ASYNC);
PlaySound("IDC_MYWAV ",0, SND_RESOURCE | SND_ASYNC);
ну я проверил, ни так ни сяк не проигрывает.
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
25.09.2011, 16:27
C++
1
#pragma resource "имя.RES"
есть? и покажи что написано в имя.rc
0
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 16:31  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
#include <vcl.h>
#include "MMSystem.h"
#pragma hdrstop
 
#include "UForms2.h"
#include "UForms3.h"
#include "resource.h" // добавить эту строчку
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#pragma resource "CUSTOM.RES"
Добавлено через 11 секунд
последняя строка
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
25.09.2011, 16:32
у меня нема такой строчки:
C++
1
#include "resource.h"
и проигрывается норм
какой ты тип задал wav когда добавлял в ресурс?
0
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
25.09.2011, 16:33  [ТС]
а ну
#pragma resource "CUSTOM.RES" // RES может называться по любому.
в resource.h есть ещё

Добавлено через 56 секунд
какой ты тип задал wav когда добавлял в ресурс?
дык вот
Как запихнуть картинку и wav фаил в ресурсы?
10 пост все так сделал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2011, 16:33
Помогаю со студенческими работами здесь

Запихнуть wav в dll и воспроизвести в основном проекте
Хочется все wav-файлы спрятать в dll чтобы пользователи не трогали их. Никаких лишних манипуляций с ними не нужно, только возможность при...

Как добавить ресурсы(картинку) в CodeBlocks
Ребята, пожалуйста, помогите не могу добавить картинку в opengl(codeblocks)!

Как программно добавить картинку в ресурсы?
Добрый день. 1) Как программно, добавить картинку в ресурсы и сделать так, что если запускают программу на другом компьютере, изображение...

Как добавить картинку в ресурсы Visual Studio
Здравствуйте! Столкнулся с такой проблемой: при написании приложения на с++ с использованием библиотеки wxWidgets, мне понадобилось...

Как в dev c++ встроить в ресурсы картинку bmp?
Господа вот так вывожу картинку на экран - #include &lt;windows.h&gt; /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru