Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вытащить файл из ресурса ??? [D7]


rlzz ©   (2006-07-20 23:20:00) 

Собственно вот такой вапрос....

Нужно зделатьчто то на подобие инсталлера

,я тут подумал что файлы можно запихнуть в ресурсфайл , а вот вытащить их как от туда записав на винт??


rlzz   (2006-07-21 00:02:00) [1]

спс поробуем щас


oxffff   (2006-07-21 00:02:00) [2]

Или даже так.
Что еще проще.


Шпиён   (2006-07-21 00:00:00) [3]

Или так:

файл MY.RC
TEST RCDATA "TEST.EXE"

brcc32 -32 MY.RC


{$R MY.RES}
..................

procedure TForm1.Button1Click(Sender: TObject);
begin
   with TResourceStream.Create(0,'TEST',RT_RCDATA) do
   try
       SaveToFile('aaa.exe')
   finally
       Free
   end
end;


Джо   (2006-07-20 23:57:00) [4]

Вот, примерно, так. Все проверки в примере исключены для ясности.
var
 RcInfo: HRSRC;
 Rc: THandle;
 Data: Pointer;
begin
 RcInfo := FindResource(0,ResourceName,ResourceType);
 Rc := LoadResource(0,RcInfo);
 Data := LockResource(Rc);
end;

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


oxffff   (2006-07-20 23:57:00) [5]

rlzz
функции эти и я нашел.

И что не понятного.

Создаешь res файл с ресурсом RCDATA c твоим файлом.
Компилируешь свое приложение с этим res файлом
Далее
FindResource
Потом LoadResource
и Далее LockResource
Получаешь указатель на данные своего файлика

И далее сохраняешь куда хочешь


Шпиён   (2006-07-20 23:53:00) [6]

TResourceStream


rlzz   (2006-07-20 23:53:00) [7]

{$R <файл ресурсов>},

компиленный который res workshopom например


rlzz   (2006-07-20 23:49:00) [8]

запускаем прогу ,жмем кнопку , файл должен быть на харде ,например в корне диска С


oxffff   (2006-07-20 23:48:00) [9]

И что вы понимаете под ресурс файлом


oxffff   (2006-07-20 23:45:00) [10]

Тогда подробнее суть поясните


rlzz   (2006-07-20 23:42:00) [11]

или innoSetup он в исходниках

а если по подробнее с маааленьким примером кода

функции эти и я нашел


oxffff   (2006-07-20 23:32:00) [12]

LoadResource, LockResource и FindResource(Ex).

Или еще проще использовать installShield и Wise Install


Наверх

Титульная страница Поиск, карта сайта Написать письмо