Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

Интегрирование в EXE-шник других файлов - Форум

  • Сторінка 1 з 1
  • 1
Интегрирование в EXE-шник других файлов
ШайтанДата: Середа, 05.01.2011, 06:34 | Сообщение # 1



Шайтан
†HellWoW-Pristton†
Чемпион
Группа: Пользователи
Сообщений: 440

Замечания:

Оффлайн
>> Интегрирование в EXE-шник других файлов

Процедура из указанного файла (FileName) создаёт unit в котором объявлен,
заполненный побайтово, массив и процедура сохранения этого массива обратно
в файл. Таким образом можно включить в один EXE-шник множество других
файлов (dll, ocx, dbf и т.п.) - прикрепить их как unit-ы. Фактически,
после сжатия EXE-шника программами типа UPX, получаем довольно компактный
файл, который можно использовать в качестве дистрибутива, например.

Зависимости: SysUtils, System
Автор: Rive[R]a

Дата: 30 сентября 2010 г.
***************************************************** }

Code
procedure FileToPas(FileName: string);
var
    BF: file of Byte;
    F: TextFile;
    P, N, S: string;
    BFSize: integer;
    BBB: Byte;
begin
    AssignFile(BF, FileName);
    Reset(BF);
    BFSize := FileSize(BF);
    P := ExtractFilePath(FileName);
    N := ExtractFileName(FileName);
    N := ChangeFileExt(N, '.PAS');
    AssignFile(F, N);
    ReWrite(F);
    Writeln(F, '(* Generated by Master BRAIN (C) 2002 *)');
    Writeln(F, 'unit ' + ChangeFileExt(N, '') + ';');
    Writeln(F);
    Writeln(F, 'interface');
    Writeln(F);
    Writeln(F, 'const FileSize:integer=' + IntToStr(BFSize) + ';');
    Writeln(F, 'FileData:array[0..' + IntToStr(BFSize - 1) + '] of Byte=');
    Writeln(F, '(');
    while not Eof(BF) do
    begin
      S := '';
      while (not Eof(BF)) and (Length(S) < 80) do
      begin
        Read(BF, BBB);
        S := S + IntToStr(BBB) + ',';
      end;
      if Eof(BF) then
        Delete(S, Length(S), 1);
      Writeln(F, S);
    end;
    CloseFile(BF);
    Writeln(F, ');');
    Writeln(F);
    Writeln(F, 'procedure SaveToFile(FileName:String);');
    Writeln(F);
    Writeln(F, 'implementation');
    Writeln(F);
    Writeln(F, 'procedure SaveToFile(FileName:String);');
    Writeln(F, 'var F:File of Byte;');
    Writeln(F, ' i:integer;');
    Writeln(F, 'begin');
    Writeln(F, 'AssignFile(F,FileName);');
    Writeln(F, 'ReWrite(F);');
    Writeln(F, 'for i:=0 to FileSize-1 do Write(F,FileData[i]);');
    Writeln(F, 'CloseFile(F);');
    Writeln(F, 'end;');
    Writeln(F);
    Writeln(F, 'end.');
    CloseFile(F);
end;


 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
[Гайд] - Ездовые животные · (Гайды по WoW)
Автор: Darkensand
Последнее сообщение в 12:59
▃ ▅ █ STRIKE-DEATH | WOTL... · (Обычные сервера WoW)
Автор: Pensukdeath
Последнее сообщение в 05:18
Уход и забота за воинами: прок... · (Воин)
Автор: UncontesteD
Последнее сообщение в 17:34
Очень хороший зароботок!!! · (Флудилка)
Автор: Hordcore
Последнее сообщение в 12:57
Основы Sql · (Sql)
Автор: No-One
Последнее сообщение в 01:45
Баг на 30к крита 5.4.8 · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:46
Баг на дамаг · (Баги WoW)
Автор: nikitadevil
Последнее сообщение в 18:44
Неуязвимость · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:43
Бесконечный сокет · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:42
Баг на ледянные баджи на uwow · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:31
Новейший баг на дамаг ханта · (Баги WoW)
Автор: Act1mel
Последнее сообщение в 18:23
[БАГ] + к Урону для всех класс... · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:22
Ретро паладин 4.3 · (Паладин)
Автор: Darkensand
Последнее сообщение в 02:05
Hellscream.ORG - Азиатский WoW... · (Обычные сервера WoW)
Автор: Alexstrasza007
Последнее сообщение в 10:30

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2026 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz