Используйте TResourceStream для Delphi. Конструктор найдет и загрузит ресурс в память, и метод SaveToFile выполнит запись на диске.
Нечто похожее на это должно работать:
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HInstance, 'YOURRESOURCENAME', RT_RCDATA);
try
ResStream.Position := 0;
ResStream.SaveToFile('C:\YourDir\YourFileName.jpg');
finally
ResStream.Free;
end;
end;
Если вы можете использовать идентификатор ресурса вместо имени, это немного меньше памяти. В этом случае вы замените Create на CreateFromID и укажите числовой идентификатор, а не имя строки.
спасибо, Кен, отлично звучит. Btw, Какое значение для HInstance? – Mawg
Независимо от того, что вам скажет ОС, @Leonix. 'HInstance' - это глобальная переменная, которую Delphi инициализирует для вас по мере запуска вашей программы. Он находится в * SysInit *. –
+1 и еще раз спасибо! – Mawg