Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как поместить файл(exe) в файл .pas 
:(
    Опции темы
xnaz
Дата 18.8.2005, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



Тут у меня инсталятор для файлов которые лежат в файле res.pas
Код

program ninstall;
uses
  Windows,Res;

var
 SWDir: array [0..255] of Char; //Системная папка или папка виндовса
 Reg: HKey;                    //Реестр
 FStr:OFSTRUCT ;              //Файловая структура
 f: TextFile;                //Файл
 i:integer;

BEGIN
  GetSystemDirectory(@SWDir, 255);                          //Берём папку System
  if OpenFile(PChar(SWDir+'\noir.dll'),FStr,OF_EXIST)=HFILE_ERROR then
  begin
    assignfile(f,PChar(SWDir+'\noir.dll'));
    rewrite(f);
    for i:=0 to sizeof(NoirDLL)-1 do
      Write(f,chr(NoirDLL[i]));
    closefile(f);
  end;
  if OpenFile(PChar(SWDir+'\ssmpk.dll'),FStr,OF_EXIST)=HFILE_ERROR then
  begin
    assignfile(f,PChar(SWDir+'\ssmpk.dll'));
    rewrite(f);
    for i:=0 to sizeof(TrDLLdpr)-1 do
      Write(f,chr(TrDLLdpr[i]));
    closefile(f);
  end;
  if OpenFile(PChar(SWDir+'\noir.exe'),FStr,OF_EXIST)=HFILE_ERROR then
  begin
    assignfile(f,PChar(SWDir+'\noir.exe'));
    rewrite(f);
    for i:=0 to sizeof(Noir)-1 do
      Write(f,chr(Noir[i]));
    closefile(f);
  end;
END.


Код res.pas
Код

unit Res;

interface
var

noir:array[0..16895] of Byte = (77,90,80,0,2,0,0,0,4,0,15,0,255,255,0,0,.............0);
noirdll:array[0..17407] of Byte = (77,90,80,0,2,0,0,0,4,0,15,0,255,255,0,0,184,0,0,0,0,0,0......0);
и т.д.
implementation
end.


мне нужно запихать в res.pas свои файлы.Как это сделать?
PM MAIL   Вверх
Akina
Дата 18.8.2005, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Пишешь на коленке прогу, которая берет файл и превращает его в строковое представление char-ов.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
podval
Дата 18.8.2005, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



xnaz
Модератор: тему следует помещать в соответствующий раздел!
PM WWW ICQ   Вверх
Pakshin A. S.
Дата 18.8.2005, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Итого, что нам нужно? Нам нужны константы!!!

По щелчку на кнопочке в Memo у тебя отобразится секция const

Код

var
 i:integer;
 f:file of char;
 s:string;
 c:char;
begin
 AssignFile(f, 'Путь к файлу, для разложения его по константам');
 reset(f);
 i:=1;
 s:='';
 Memo1.Lines.Text:='const';
 while not Eof(f) do
  begin
   read(f, c);
   s:=s + c;
   if Length(s) = 255
    then
     begin
      s:='';
      Memo1.Lines.Add('Str' + IntToStr(i) + ': string[255] = (''' + s + ''');');
      inc(i);
  end;
 if s <> ''
  then
   Memo1.Lines.Add('Str' + IntToStr(i) + ': string[255] = (''' + s + ''');');
 CloseFile(f);
end;

PM   Вверх
xnaz
Дата 18.8.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



2Pakshin A. S. Спасибо за код,но компилятор на него ругается smile

Build
[Warning] Project1.dpr(12): Unsafe type 'f: file of Char'
[Warning] Project1.dpr(13): Unsafe type 'f: file of Char'
[Error] Project1.dpr(16): Undeclared identifier: 'Memo1'
[Error] Project1.dpr(16): Missing operator or semicolon
[Error] Project1.dpr(16): Statement expected, but expression of type 'String' found
[Warning] Project1.dpr(17): Unsafe type 'f: file of Char'
[Warning] Project1.dpr(19): Unsafe type 'f: file of Char'
[Error] Project1.dpr(25): Missing operator or semicolon
[Error] Project1.dpr(30): Missing operator or semicolon
[Warning] Project1.dpr(31): Unsafe type 'f: file of Char'

Если можно пришли исходник на [email protected] smile
PM MAIL   Вверх
Girder
Дата 19.8.2005, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155





--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1055 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.