![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ресурсы в EXE [WinXP]
Anar © (2002-11-06 08:38:00)Я создал rc файл такого типа:
IMAGE1 RCDATA image1.jpg
IMAGE2 RCDATA image2.jpg
MUSIC1 RCDATA music.mp3
и т.д
Откомпилировал его в res файл с помощью brc32.
В программе прилинковал его так: {$R myres.res}
Теперь как загрузить из этого ресурса скажем IMAGE1 и проиграть MUSIC1?
Неизвестный (2002-11-10 09:06:00) [1]function ResBmp(ResI: Integer): TBitMap;
var
ResStream: TResourceStream;
Image: TBitMap;
MyJpeg: TJpegImage;
begin
ResStream := TResourceStream.CreateFromID(HInstance, ResI, RT_RCDATA);
Image := TBitMap.Create;
MyJpeg := TJpegImage.Create;
MyJpeg.LoadFromStream(ResStream);
Image.Assign(MyJpeg);
Result := Image;
end;
Вызов:
Brush.Bitmap := ResBmp(1) - делает фон формы из рисунка Jpg который взя из ресурса;
Mirovodin (2002-11-06 14:02:00) [2]http://delphigfx.mastak.ru/2d/015/2d_15.htm
MBo (2002-11-06 14:02:00) [3]TResourceStream.Create создаст поток, содержащий указанный в параметрах ресурс. Теперь содержимое можно скопировать в другой поток, сохранить на диск, прочитатать из него данные. Все в хелпе есть
Anar (2002-11-06 13:51:00) [4]Пусть будет не MP3, а txt. Я где-то в нете прочитал про это, но там пример прилагался но он не работал. Ты сам делал так? Может пример привидёшь?
MBo (2002-11-06 09:00:00) [5]проще всего TResourceStream использовать.
Причем mp3, видимо, придется сохранять на диск