Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как запихнуть в .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 файла?


Наверх

Титульная страница Поиск, карта сайта Написать письмо