![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с ресурсами [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.