Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: 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 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
7-53786
vbazik
2003-12-01 20:05
2004.02.17
Возможно ли в Delphi писать приложения для КПК под WinCE


14-53764
Passlight
2004-01-15 10:15
2004.02.17
Сколько у вас занимает времени дорога до места работы?


1-53599
gid
2004-02-07 18:04
2004.02.17
Как высвободить неиспользуемую оперативу?


14-53725
Agent[007]
2004-01-26 18:55
2004.02.17
TStrings


14-53720
Igoryok
2004-01-29 14:18
2004.02.17
Форум про мобильные устройства