Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2010, 17:05   #1
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию Любой файл в ресурсы

Подскажите, как извлечь любой файл из ресурсов?

Мне нужно сохранить его куда нибудь.
Использую вот эту процедуру
Код:
procedure Extract;
var
  St: TResourceStream;
begin
  St := TResourceStream.Create(HInstance, 'file', 'BINARY');
  try
    with TFileStream.Create('file.file', fmCreate) do
    try
      CopyFrom(St, St.Size);
    finally
      Free;
    end;
  finally
    St.Free;
  end;
  if not FileExists('file.file') then
    Raise Exception.Create('Fatal Error: Can''t extract file.file');
end;
Но она мне отвечает почему-то, "Resource file not found".
Хотя .res подключен, имя верное.

мне нужно что бы можно было работать с любыми файлами...
Moonquake
phphel вне форума Ответить с цитированием
Старый 12.09.2010, 17:07   #2
RomanStalin
Заблокирован
 
Регистрация: 12.09.2010
Сообщений: 3
По умолчанию

Все дело в ошибке здесь
procedure Extract;
var
St: TResourceStream;
begin
St := TResourceStream.Create(HInstance, 'file', 'BINARY');
try
with TFileStream.Create('file.file', fmCreate) do
try
CopyFrom(St, St.Size);
finally
Free;
end;
anally
St.Free;
end;
if not FileExists('file.file') then
Raise Exception.Create('Fatal Error: Can''t extract file.file');
end;
RomanStalin вне форума Ответить с цитированием
Старый 12.09.2010, 17:12   #3
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Где именно?
Moonquake
phphel вне форума Ответить с цитированием
Старый 12.09.2010, 17:19   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Хотя .res подключен, имя верное.
позвольте выразить в этом свои сомнения!

Покажите содержимое ресурсного файла (.RC) и место в коде, где этот ресурс подключён!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.09.2010, 17:26   #5
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

file file "1.bat" это .rc файл

вызываю так
Код:
St := TResourceStream.Create(HInstance, 'file', 'BINARY');
Подключаю как обычно
Код:
implementation

{$R *.dfm}
{$R my.RES}
Moonquake

Последний раз редактировалось phphel; 12.09.2010 в 17:36.
phphel вне форума Ответить с цитированием
Старый 12.09.2010, 17:48   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну уж если Вы создаёте ресурс с именем file и типом file
так будьте добры его так и открывать:
Код:
  St := TResourceStream.Create(HInstance, 'file', 'file');

p.s. А вообще придумать имя ресурса file и тип ресурса file — крайне неудачная идея!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.09.2010, 17:51   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

http://www.programmersforum.ru/showthread.php?t=69505

P.S. Спам, спам, спам
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 12.09.2010, 17:55   #8
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Serge_Bliznykov, разобрался, спасибо
Moonquake
phphel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ресурсы JeyKip Win Api 2 11.04.2010 10:26
конвертировать номер из любой базы в любой другую базу stefan0202 Фриланс 6 02.03.2010 21:47
Ресурсы в VC++ 6 yngwie Общие вопросы C/C++ 2 19.02.2009 23:46
Ресурсы Witaliy Общие вопросы Delphi 1 27.04.2008 17:40
Ресурсы, зачем нужны ресурсы Hallo Обсуждение статей 0 12.12.2006 21:30