Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.17;
Скачать: [xml.tar.bz2];

Вниз

Как файл впихнуть в сам 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
11-53444
EAccessViolation
2003-05-24 13:31
2004.02.17
MainMenu???!


7-53791
DNS
2003-11-26 22:22
2004.02.17
TRegistry and WriteBinaryData


3-53375
denisov
2004-01-26 20:28
2004.02.17
Как обновить блоб поле, используя SQL? Возможно ли?


1-53483
tria
2004-02-06 11:09
2004.02.17
Нужен компонент по выгрузке в xls.


3-53397
SerKom
2004-01-27 06:01
2004.02.17
список всех функций в селектах MS Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский