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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2014, 20:02   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Как *.res поместить в ехе-файл?

Здравствуйте! Может быть вопрос для кого-то и банальный, на прошу совета, есть файл с расширением *.htm, из него нужно создать файл ресурсов, скомпилировать в ехе файл, и через ехе-файл этот файл вызывать (кнопка справка) А для того, чтоб с собой файл не таскать хотелось бы его вставить в ехе-файл, и возможно ли его открыть потом будет через shellexecute?

Помогите, пожалуйста, проблема не в создании res, а именно в интегрировании файла в ехе и обращение к этому файлу, чтоб мог запускаться через программу на пк, если такая есть (а IE думаю везде есть)) Спасибо!
from dark to light)

Последний раз редактировалось Алексей_2012; 03.06.2014 в 20:12.
Алексей_2012 вне форума Ответить с цитированием
Старый 03.06.2014, 20:31   #2
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

После ключевого слова implementation пишется строка: {$R имя.RES}
UKRtortik вне форума Ответить с цитированием
Старый 03.06.2014, 20:53   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

так, а дальше, как обратиться к этому ресурсу, указать программе на то, что там такой-то файл с расширением *.htm и открыть файл вытащив из ресурса *.htm, через shellexecute?

в общем смог бы сделать и применить shellexecute, но придется таскать файл справки вместе с исполняемым файлом, а хотелось бы чтоб в исполняемом файле была эта *.htm справка
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 03.06.2014, 20:55   #4
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

http://thedelphi.ru/les/les65.php вот вам пример по работе с ресурсами.
UKRtortik вне форума Ответить с цитированием
Старый 03.06.2014, 20:58   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Через shellexecute из ресурса не вытащишь. Для этого другие средства, потом во временный файл, и только затем shellexecute.
Цитата:
для того, чтоб с собой файл не таскать
Тяжело, что ли? Посмотри сколько за собой тащит почти любое более-менее серьезное приложение
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.06.2014, 21:09   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

допустим я сделал *.res файл, дальше мои действия подключить его к приложению, а как работать с этим файлом? Как записать во временный файл? А возможно ли создать временный файл, открыть его через shellexecute, потом уничтожить этот файл не закрывая программы, открытой средствами shellexecute?

З.ы. Конструировал справку на frontPage, так что файл там не один, главная страница состоит из фрейма, фрейм включает в себя три файла, то есть надо извлечь главную страницу с тем же именем во временный файл затем создать еще три временных файла, с которыми работает извлеченная главная страница, думаю все будет записано в ОЗУ и после показа уничтожения файлов не закроет данные, отображаемые в программе (IE, yandexbrowser, смотря что стоит по умолчанию).

Кому-нибудь не лень расписать все по порядку как лучше все организовать? Кроме как таскать за собой)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 03.06.2014, 21:34   #7
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Используй поток ресурса TResourceStream, как обычный поток. Почти все контролы поддерживают загрузку данных из потока. То есть сначала из ресурса в поток, потом из потока, куда нужно.
doktor255 вне форума Ответить с цитированием
Старый 03.06.2014, 23:37   #8
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

оу, столько непонятных вещей, читал в гугле про прикрепление картинки, но ее можно отображать и в компоненте, статическом, или динамически созданным, не суть, а вот с моей локальной web-справкой такого не прокатит, а нужно именно ее, в ТЗ то конечно любая справка, но хотелось бы запихнуть ее в исполняемый файл, где можно прочитать подробнее о потоках ресурсов, как ими пользоваться, есть примеры?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 04.06.2014, 01:22   #9
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
где можно прочитать подробнее о потоках ресурсов, как ими пользоваться, есть примеры?
Код:
var
  Stream: TResourceStream;
begin
  Stream := TResourceStream.Create(hinstance, 'HTM1', RT_RCDATA);
  Stream.SaveToFile('c:/HTM1.htm');// вариант
  "Какой нибудь контролл".LoadFromStream(Stream);//вариант
Достаточно?
P.S. ShellExecute применим только к файлам на HDD, а следовательно при использовании ShellExecute обязательное условие, это сохранение файла, вытянутого из ресурсов на HDD. Как это делать, я показал в коде. Если сохранение temp файла не вариант, то ShellExecute сразу отпадает, и выводить информацию нужно силами самой программы. По поводу IE, на сколько я помню, невозможно отобразить страницу из потока, так что опять же IE отпадает, если нет желания сохранять темповый файл.

Последний раз редактировалось doktor255; 04.06.2014 в 01:34.
doktor255 вне форума Ответить с цитированием
Старый 04.06.2014, 02:17   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
а вот с моей локальной web-справкой такого не прокатит
Может мне кто-нибудь объяснит понятие "локальная web-справка"?
northener вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать ехе-файл? gagarin0 C++ Builder 7 13.10.2010 20:44
Уважаемые программисты! Как положить скины Alpha в Res файл? xitroi Общие вопросы Delphi 4 13.05.2010 22:05
КАк поместить файл в буфер обмена? Paul Hindenburg Общие вопросы Delphi 1 16.07.2009 10:17
Как сделать ехе файл SL1CK Свободное общение 15 15.06.2009 08:22
как открыть текстовый файл из ресурса{$R *.RES} в мемо1 (Delphi 7) veronika93 Помощь студентам 1 20.03.2009 08:58