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

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

Работа с ресурсами [D7, XP]


ЗлойЕНОТ ©   (2007-02-24 19:49:00) 

У меня тут вопрос один возник, нигде не могу найти ответа. Вопрос следующий: можно ли восстановить файл из RES в его исзначальном виде? И если можно, то как это сделать?


ЗлойЕНОТ   (2007-02-26 12:36:00) [1]

Спасибо за посказку, попозже сам догнал как это сделать. Хотя может я не совсем правильно вопрос задал...
Если интересно то вот:

var
 ResStream: TResourceStream;
 FileStream: TFileStream;
begin
 try
   ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
   try
     FileStream := TFileStream.Create(FileName, fmCreate);
     try
       FileStream.CopyFrom(ResStream, 0);
     finally
       FileStream.Free;
     end;
   finally
     ResStream.Free;
   end;
 except
   on E:Exception do
   begin
     DeleteFile(FileName);
     raise;
   end;
 end;
end;

где  
    "1" и "RT_RCDATA" - параметры ресурса,
    "FileName" - Имя файла, например С:\Run.exe


Leonid Troyanovsky   (2007-02-25 08:55:00) [2]


> ЗлойЕНОТ ©   (24.02.07 19:49)  

>  Вопрос следующий: можно ли восстановить файл из RES в его
> исзначальном виде? И если можно, то как это сделать?

В изначальном, т.е. *.rc? Нельзя.
А вытащить из него ресурсы - возможно.
Есть много программ для этого, скажем, dede, restorator.

Если имеющаяся программа, например, ..\demos\resxplor\,
не понимает res, можно для начала сделать dll.

--
Regards, LVT.


Наверх

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