Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

GIF для HTML в EXE

Delphi , Файловая система , Ресурсы

GIF для HTML в EXE

Если места не хватает
Для Descenta или Dooma
Удаляй тогда смелее
Все начальниковы gifы
И тогда освоботится
Мегабайт(ов) эдак 40...
А когда начальник спросит
Где же вся его порнуха
Отвечай что выел вирус
Сиськи у его картинок.

Есть программа на Delphi, котоpая отображает какой-то html. В html используется gif-файл. Как в Delphi-пpоекте указать, чтобы этот gif находился в exe как некий кусок кода. А когда надо будет, записать его обратно в gif-файл без изменений, выковырнув из exe?

Можно, используя RxLib. После его установки в меню View появится пунктик Project Resources. Hужно выбрать Project Resources->New->User Data и добавить нужный файл. В данном случае ресурс был назван "RCDATA_1".

Если RxLib нет, то нужно создать файл описания ресурсов:

=== Begin gifs.rc ===
mygif rcdata "имя_gif-файла.gif"
mygif1 rcdata "RCDATA_1"
=== End dots.rc ===
Потом скомпилировать его командой brcc32 gifs.rc и получить gifs.res В начало модуля добавь строчку {$R gifs.res}

В своей программе необходимо написать:


var
  rs: TResourceStream;
  a: Pointer;
begin
  rs := TResourceStream.Create(hinstance, 'RCDATA_1', RT_RCDATA);
  try
    GetMem(a, rs.size);
    rs.Read(a^, rs.size); {Теперь a - динамический указатель на код}
    { Здесь делается все, что необходимо с кодом, используя указатель a }
    FreeMem(a);
  finally
    rs.Free;
  end;
end;

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


var
  rs: TResourceStream;
  fs: TFileStream;
begin
  rs := TResourceStream.Create(hInstance, 'mygif', RT_RCDATA);
  fs := TFileStream.Create('имя_gif-файла.gif', fmCreate);
  try
    fs.CopyFrom(rs, rs.Size);
  finally
    fs.Free;
    rs.Free;
  end;
end;

В статье рассказывается о том, как добавить GIF-картинку в EXE-файл Delphi и как ее извлечь назад для записи в файл.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Ресурсы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 01:37:27/0.0026421546936035/0