Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.12.2006, 17:19
RUS_Hacker RUS_Hacker вне форума
Новичок
 
Регистрация: 23.07.2006
Сообщения: 54
Репутация: 10
Стрелка Ресурсы внутри .ЕХЕ

Помогите мне пожалуйста, кто может !

Как поместить какой-нибудь ресурс (например .bmp) внутрь своего ЕХЕ и считать его потом оттуда ?

Когда я добавляю такую строчку {$R image.bmp} то при запуске проги появляется сообщение с ошибкой.
__________________
Format C: - чистит то, что другим не подсилу
Ответить с цитированием
  #2  
Старый 08.12.2006, 18:27
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
Стрелка

смотри внутри - я всё сделал..
тока прочти readme

да кстати все ресурсы можно так пихать... просто ты не сказал конкретно..

ведь можно, если знать какой тип ресурса(bmp, cur или что ещё) запихнуть его так, что бы потом удобнее было пользоваться..
извини говорю абстрактно - но на это есть теория, советую..
Вложения
Тип файла: zip Res.zip (5.3 Кбайт, 29 просмотров)
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.

Последний раз редактировалось Ferra, 08.12.2006 в 18:29.
Ответить с цитированием
  #3  
Старый 08.12.2006, 18:31
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
Стрелка

Пользоваться (это если ресурс был в длл)
Код:
procedure ExtractIcon(FName: String);
var
stream: TResourceStream;
begin
stream := TResourceStream.Create(LoadLibrary(pchar(Fname)), 'CD_Rom', 'Icons');
  with TFileStream.Create('test.png', fmCreate) do
  begin
  CopyFrom(stream, stream.Size);
  Free;
end;
end;  


Если в себе
Код:
procedure ExtractIcon;
var
stream: TResourceStream;
begin
stream := TResourceStream.Create(hInstance, 'CD_Rom', 'Icons');
  with TFileStream.Create('test.png', fmCreate) do
  begin
  CopyFrom(stream, stream.Size);
  Free;
end;
end;  
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.

Последний раз редактировалось Ferra, 08.12.2006 в 18:35.
Ответить с цитированием
  #4  
Старый 08.12.2006, 21:14
CyberM@D CyberM@D вне форума
Прохожий
 
Регистрация: 07.11.2006
Адрес: г.Санкт-Петербург
Сообщения: 31
Репутация: 10
Сообщение А можно вот так...

Создаешь в текстовом редакторе файл "xxxxxxxxx.rc"

в нем пишешь, например: shareware INCFILE shareware.pas
название файла - твое, если файл ресурса сидит далеко не в корне этого каталога - укажи путь к нему

потом скомпили свой RC файл программой brcc32.exe и подключи получившийся файл xxxxxxxxxxx.res к нужному модулю командой

{$R xxxxxxxxxxx.res}

procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;

Для извлечения (пишешь в обработчике)

ExtractRes('INCFILE', 'shareware', 'shareware.pas');

Вот собственно и все - запихали в файл все, что надо, а потом вынимаем по необходимости.

З.Ы. Таким образом в один exe можно напихать туеву хучу других, а потом вынимать и запускать.......
Ответить с цитированием
  #5  
Старый 08.12.2006, 22:18
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

http://decoding.narod.ru/practic/resource/resource.html
Ответить с цитированием
  #6  
Старый 09.12.2006, 21:04
RUS_Hacker RUS_Hacker вне форума
Новичок
 
Регистрация: 23.07.2006
Сообщения: 54
Репутация: 10
По умолчанию

Спасибо всем, вроде всё работает !

З.Ы. Decoding, Хороший сайт
__________________
Format C: - чистит то, что другим не подсилу
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter