Как добавить архив в программу
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 117
- Зарегистрирован: 10 ноя 2005, 02:00
Есть программа которая извлекает файлы из архива rar:
WinExec('C:\Program Files\WinRAR\WinRAR.exe x C:\1\1.xxx *.* C:\1\',Windows.SW_RESTORE);
Можно ли добавить этот архив в exe проги, например как ресурс. А в нужный момент извлечь из него файлы.
WinExec('C:\Program Files\WinRAR\WinRAR.exe x C:\1\1.xxx *.* C:\1\',Windows.SW_RESTORE);
Можно ли добавить этот архив в exe проги, например как ресурс. А в нужный момент извлечь из него файлы.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
смысл?

- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Можно.
В D5 в меню Project кажется был пункт Resources. В D6 он вроде куда-то делся...
Можно также просто в блокноте написать Res-файл и подключить к проекту
вставив директиву компилятора... э-э-э... забыл какую.....
Подробно о формате RES-айлов а также о функциях с помощью которых
ресурс извлевается и записывается на диск читайте в справке по WinAPI.
Там по ресурсам есть целый отдельный специальный раздел.
2) Чайник не сможет подсунуть другой файл (нарочно или по ошибке) (так как архив будет всегда извлекаться из ресурса перед распаковкой), а также посмотреть его содержимое.
В D5 в меню Project кажется был пункт Resources. В D6 он вроде куда-то делся...
Можно также просто в блокноте написать Res-файл и подключить к проекту
вставив директиву компилятора... э-э-э... забыл какую.....

Подробно о формате RES-айлов а также о функциях с помощью которых
ресурс извлевается и записывается на диск читайте в справке по WinAPI.
Там по ресурсам есть целый отдельный специальный раздел.
1) Один EXE-шник сам себе дистрибутив. Т.е. самодостаточный файл. При установке программы на другую машину никто не забудет перенести все нужные файлысмысл?
2) Чайник не сможет подсунуть другой файл (нарочно или по ошибке) (так как архив будет всегда извлекаться из ресурса перед распаковкой), а также посмотреть его содержимое.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
имхо, изврат
НЛ


- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Согласен.
Однако зависит от цели.
У меня, например, есть компонент (мой собственный) он добавляет в систему растровый шрифт.
Шрифт распаковывается из ресурса и на период работы приложения регистрирует его в системе. Шрифт кроме моего приложения больше никому не нужен. Он псевдографичекий.
Однако зависит от цели.
У меня, например, есть компонент (мой собственный) он добавляет в систему растровый шрифт.
Шрифт распаковывается из ресурса и на период работы приложения регистрирует его в системе. Шрифт кроме моего приложения больше никому не нужен. Он псевдографичекий.
-
- Сообщения: 117
- Зарегистрирован: 10 ноя 2005, 02:00
Сделал файл R.rc в нем запись: MyFile RCDATA LOADONCALL A.rar
Откомпилировал его и получил R.res
В проге подключил его {$R R.res}
Как мне теперь обратиться к моему ресурсу чтобы на диске создать архив A.rar.
Или можно не вытаскивая файл сослаться на ресурс из WinExec?
Откомпилировал его и получил R.res
В проге подключил его {$R R.res}
Как мне теперь обратиться к моему ресурсу чтобы на диске создать архив A.rar.
Или можно не вытаскивая файл сослаться на ресурс из WinExec?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Этот вопрос уже неоднократно поднимался.
НЕЛЬЗЯ не вытаскивая. Надо сохранить ресурс в файл.
НЕЛЬЗЯ не вытаскивая. Надо сохранить ресурс в файл.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Если не извращаться с RAR'ом, то можноНЕЛЬЗЯ не вытаскивая. Надо сохранить ресурс в файл.

Все браузеры замечательно раззиповывают на лету страницы, заархивированные на сервере. Без предварительного сохранения.
За исключением, наверное, IE они используют zlib.
Даже самый дурацкий замысел можно воплотить мастерски
-
- Сообщения: 117
- Зарегистрирован: 10 ноя 2005, 02:00
Как сохранить ресурс в файл?