![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запихнуть в .res файл два файла и затем распаковать их с помощью другой проги в разные директории ? [D5, Win95/98, WinME]
Lizard © (2001-12-09 12:03:00)Все что ограничено линиями понятно, работает.
============================================
1. Пишем в блокноте RC-файл, куда прописываем все нужные нам программы, например: ARJ EXEFILE C:\UTIL\ARJ.EXE 2. Компилируем его в ресурс при помощи Brcc32.exe. Получаем RES-файл. 3. Далее в тексте нашей программы:
implementation
{$R *.DFM}
{$R test.res} //Это наш RES-файл
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
// Записывает в текущую папку arj.exe
ExtractRes("EXEFILE", "ARJ", "ARJ.EXE");
end;
============================================
Одну прогу засунуть получается, но вот вторую никак ..???
Подскажите как в res файл воткнуть второй файл (exe или иной) и как потом распаковать их ?
Очень буду обязан.
Lizard (2001-12-16 10:46:00) [1]Хорошо, я думаю, пора закрыть тему.
Спасибо вам всем огромное.
Anatoly Podgoretsky (2001-12-15 20:00:00) [2]Содержимое второго файла, как и первого мне не нужно, нужно содержимое .rc файла. Более того, ты явно пишешь "куда прописываем все нужные нам программы", требуется выяснить как ты их прописал.
А вот насчет сомнений, они не обоснованны, ты бы сразу писал, что у тебя не вопрос, а тест на сообразительность.
В общем по моему скромному мнению, ты сам себя обругал и очень квалифицированно. :-)
Есть одна простая вещь - помощь нужна то тебе и ты должен привести максимум информации, что бы получить нужный тебе совет, а если тебе все равно, то увы тикто в этом не виноват кроме тебя.
Lizard (2001-12-15 19:23:00) [3]to sunwheel & Юрий Зотов -> Огромное спасибо за помошь.
to Anatoly Podgoretsky -> Зачем Вам содержимое второго файла ?
Прочтите еще раз вопрос. Дело не во второй программе, а именно в том, как
пркрепить второй файл (.jpg, .zip, .exe, ...неважно какой). А если бы я привел-таки содержание второго файла, то не сомневаюсь, что Вы ответили бы тем же вопросом: "Кому это нужно ?". Просто вопрос был рассчитан на человека сообразительного, какими и оказались sunwheel и Юрий Зотов. Я не хочу
сказать, что Вы не сообразительный. Напротив, я сталкивался уже с Вашими ответами и знаю о Ваших знаниях и опыте. Просто я считаю, что в ситуации, когда человеку дают мясорубку, нет необходимости говорить ему о том, что пальцами во время ее работы в нее лезть нельзя, это и коню понятно.
Anatoly Podgoretsky (2001-12-14 22:46:00) [4]sunwheel © (14.12.01 09:46)
Он не привел, а сказал "наприме", а в этом например только один файл :-)
И вероятнее всего предположения Юрия правильное, но лучше бы он не молчал, а привел содержимое файла, кому это нужно? Похоже нам :-()
Юрий Зотов (2001-12-14 11:46:00) [5]Несколько файлов в RES вставляются точно так же, как и один. Просто в RC надо написать свою строку для каждого файла. При этом имена ресурсов должны быть, конечно, уникальными, а тип ресурса можете указать либо свой собственный, либо RCDATA:
FILE1 RCDATA C:\...\File1.xxx
FILE2 RCDATA D:\...\File2.yyy
и т.д. Извлекаются все эти файлы одним и тем же способом, по имени ресурса.
sunwheel (2001-12-14 09:46:00) [6]to Anatoly Podgoretsky
Он привел содержимое rc файла >>ARJ EXEFILE C:\UTIL\ARJ.EXE 2
to Lizard
К сожалению не могу сказать насколько это правильно, т.к. плохо разбираюсь в них. Но когда-то мне попался пример rc файла и я им пользуюсь не особенно вникая во всякие LOADONCALL,MOVEABLE,DISCARDABLE,IMPURE. Вот строка из него:
logogif RCDATA LOADONCALL MOVEABLE DISCARDABLE IMPURE logo.gif
Попробуй сохранять файл в секции RCDATA.
Anatoly Podgoretsky (2001-12-13 23:33:00) [7]Это ты не молчи
Lizard (2001-12-13 21:24:00) [8]Ну не молчите, плиз.
Lizard (2001-12-12 21:08:00) [9]Ну это вроде программы инсталлятора. Просто используя какой-нибудь Inno Setup размер дистрибутива очень большой получается.
Помогите, плиз.
Anatoly Podgoretsky (2001-12-09 15:58:00) [10]А ты не хочешь привести содержимое твоего .rc файла?