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

Вниз

Как вытащить файл из ресурса ???   Найти похожие ветки 

 
rlzz   (2006-07-20 23:20) [0]

Собственно вот такой вапрос....

Нужно зделатьчто то на подобие инсталлера

,я тут подумал что файлы можно запихнуть в ресурсфайл , а вот вытащить их как от туда записав на винт??


 
oxffff ©   (2006-07-20 23:32) [1]

LoadResource, LockResource и FindResource(Ex).

Или еще проще использовать installShield и Wise Install


 
rlzz   (2006-07-20 23:42) [2]

или innoSetup он в исходниках

а если по подробнее с маааленьким примером кода

функции эти и я нашел


 
oxffff ©   (2006-07-20 23:45) [3]

Тогда подробнее суть поясните


 
oxffff ©   (2006-07-20 23:48) [4]

И что вы понимаете под ресурс файлом


 
rlzz   (2006-07-20 23:49) [5]

запускаем прогу ,жмем кнопку , файл должен быть на харде ,например в корне диска С


 
Шпиён   (2006-07-20 23:53) [6]

TResourceStream


 
rlzz   (2006-07-20 23:53) [7]

{$R <файл ресурсов>},

компиленный который res workshopom например


 
Джо ©   (2006-07-20 23:57) [8]

Вот, примерно, так. Все проверки в примере исключены для ясности.
var
 RcInfo: HRSRC;
 Rc: THandle;
 Data: Pointer;
begin
 RcInfo := FindResource(0,ResourceName,ResourceType);
 Rc := LoadResource(0,RcInfo);
 Data := LockResource(Rc);
end;

В Data будем иметь указатель на первый байт данных, занимаемых нужным ресурсом.


 
oxffff ©   (2006-07-20 23:57) [9]

rlzz
функции эти и я нашел.

И что не понятного.

Создаешь res файл с ресурсом RCDATA c твоим файлом.
Компилируешь свое приложение с этим res файлом
Далее
FindResource
Потом LoadResource
и Далее LockResource
Получаешь указатель на данные своего файлика

И далее сохраняешь куда хочешь


 
Шпиён   (2006-07-21 00:00) [10]

Или так:

файл MY.RC
TEST RCDATA "TEST.EXE"

brcc32 -32 MY.RC


{$R MY.RES}
..................

procedure TForm1.Button1Click(Sender: TObject);
begin
   with TResourceStream.Create(0,"TEST",RT_RCDATA) do
   try
       SaveToFile("aaa.exe")
   finally
       Free
   end
end;


 
rlzz   (2006-07-21 00:02) [11]

спс поробуем щас


 
oxffff ©   (2006-07-21 00:02) [12]

Или даже так.
Что еще проще.



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

Форум: "Основная";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.047 c
15-1155176950
TButton
2006-08-10 06:29
2006.09.03
logout


15-1154946124
Сатир
2006-08-07 14:22
2006.09.03
Проблема с загрузкой письма в компонент Indy


2-1155744819
dabreezy
2006-08-16 20:13
2006.09.03
Аналог в delphi


2-1155296090
fast2
2006-08-11 15:34
2006.09.03
Как сделать, чтоб можна было двигать дочерней формой...


15-1155099866
KygECHuK
2006-08-09 09:04
2006.09.03
UPX





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский