Вниз
Скачать: CL | DM;

Как файл впихнуть в сам exe-шник, чтобы потом извлечь   Найти похожие ветки 

← →
nester ©   (2004-02-07 05:10) [0]

Нужно чтобы несколько файлов хранились в одном, а при необходимости использования конкретного файла - он извлекается.
т.е. У нас есть один файл, мы его запускаем, прога работает, все впорядке, затем наступает условие Х и должен появиться еще один файл, который до этого как то жил в первом файле.
Может этом можно сделать какнибудь через ресурсы?
Сделать это самораспоковывающимся раром или подобными приблудами просьба не предлагать. Это нужно сделать средствами делфи.
Заранее благадарю


← →
хз ©   (2004-02-07 05:18) [1]

> Может этом можно сделать какнибудь через ресурсы?

Да, именно через ресурсы. Порядок действий таков:

1. Пишешь RC-файл:
RAR EXEFILE C:\SOFT\RAR.EXE
2. Компилируем его в Brcc32.exe.
3. Далее:


implementation
{$R *.DFM}
{$R mytest.res}

procedure ExtractMyRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, PChar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;

procedure TForm1.Button1Click(Sender:TObject);
begin
ExtractRes("EXEFILE","RAR","C:\RAR.EXE");
end;


Вроде так.

P.S:ПисАл здесь, могут быть ошибки.


← →
nester ©   (2004-02-07 06:05) [2]

Спасибо, с утра проверю, ща уже спать хочу.


← →
Юрий Федоров ©   (2004-02-07 11:14) [3]

Вчера заметил забавную штуку
я, правда, создаю TResourceStream другим конструктором (если не ошибаюсь, CreateFromResourceID). Так вот, при проблемах в ресурсе валится не с осмысленным сообщением, а с AV (судя по адресу - где-то попытка прочитать nil^)


← →
Budy ©   (2004-02-07 12:00) [4]

Приветствую! А как можно создать RES файл, пожалуйста поточнее!
Я пробовал вводить в XP
"C:\Program Files\Borland\Delphi5\Bin\brcc32.exe myfile.rc"
водит страницу "Невозможно отобразить страницу"?


← →
Юрий Федоров ©   (2004-02-07 12:07) [5]

вижуал студия установлена ?
или какой другой редактор, позволяющий редактировать файлы ресурсов..
в твой коммандной строке ([4]) наверно надо указать полынй путь к myfile.rc ??


← →
Rouse_ ©   (2004-02-07 13:46) [6]

Я создаю ресурсы так:
1. помещаю их в отдельную папку.
2. пишу там же файл resources.rc в котором прописываю пути к этим ресурсам, к примеру:

MAINMENU BITMAP "1.bmp"
HAND CURSOR "HAND.CUR"
HAND2 CURSOR "HAND2.CUR"
URL CURSOR "URL.CUR"


3. в меню Project\Add to Project этому файлу
4. в меню Project\Build Project

Все, соответственно при изменении resources.rc заново нужно выполнить пункт 4.

Желаю успехов


← →
хз ©   (2004-02-07 16:23) [7]

2 Юрий Федоров [5]

Он наверное это в строке адреса в проводнике набирает...

2 Budy [4]

Создай bat-файл, пропиши туда:
brcc32.exe myfile.rc

Запусти этот bat-файл. Все.


← →
Budy ©   (2004-02-07 17:13) [8]

Юрий Федоров: Вообще я копировал myfile.rc в папку с brcc32.exe и оттуда писал "brcc32.exe myfile.rc"
хз: да нет, я и с bat-файлом делал!
Rouse_: вроде помогло

Вопрос для всех: что за ошибка
[Error] WARNING. Duplicate resource(s):?


← →
Rouse_ ©   (2004-02-07 18:11) [9]

> Duplicate resource
Перевести?


← →
Budy ©   (2004-02-08 16:15) [10]

Да, нет. У меня такая ошибка возникает при коипиляции


← →
Юрий Федоров ©   (2004-02-08 16:18) [11]

идентификаторы ресурсов должны быть уникальными
поменяй


← →
nester ©   (2004-02-08 19:49) [12]

По поводу ресурсного файла:
HAND CURSOR "HAND.CUR"
Я так понял CURSOR - Это тип ресурса?
А какой тип для dll?
или по барабану?


← →
nester ©   (2004-02-08 20:10) [13]

Уже все сам вкурил, все заработало, всем спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.013 c
14-53689
вразлет
2004-01-30 15:04
2004.02.17
Открой окошко)


8-53658
Lizard
2003-10-15 14:53
2004.02.17
Как используя TMediaPlayer установить ползунок для прокрутки ?


4-53814
QUSTION
2003-12-12 12:17
2004.02.17
TreeView!!! ПАМАГИТЕ!


7-53784
Dark Elf
2003-10-30 12:22
2004.02.17
Программирование кассовых аппаратов


14-53717
Vitalik
2004-01-29 13:10
2004.02.17
Не открывается файл




   Наверх