Советы по Delphi

         

Есть программа на Delphi, котоpая


Можно, используя 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;

Nomadic [001649]



Содержание раздела