Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сохранить текстовый ресурс? [D7, WinXP]


new1 ©   (2007-04-02 20:05:00) 

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


Чапаев   (2007-04-02 23:25:00) [1]

Такое когда-то писал:
program Project1;

{$APPTYPE CONSOLE}

uses
 Windows,
 SysUtils;

type
 TStrIndex=0..15;
 TStrArr=array [TStrIndex] of PWideChar;

procedure StringsToResource(Strings:TStrArr;out Result:WideString;out Len:Integer);
var
 I:TStrIndex;
begin
 Result:='';
 Len:=0;
 for I := Low(TStrIndex) to High(TStrIndex) do begin
   if Strings[I]<>nil
     then begin
       Result:=Result+WideChar(Length(Strings[I]))+Strings[I];
       Len:=Len+Length(Strings[I]);
     end
     else begin
       Result:=Result+WideChar(0);
       Len:=Len+2;
     end;
   Len:=Len+2;
 end;
end;

var
 Lib:THandle;
 MyStr:WideString;
 Len:Integer;
 Strings:TStrArr;

begin
 FillChar(Strings,SizeOf(Strings),0);
 Strings[0]:='qwe';
 Strings[1]:='asd';
 StringsToResource(Strings,MyStr,Len);
 Lib:=BeginUpdateResource(PChar(ExtractFilePath(ParamStr(0))+'lib.dll'),True);
 UpdateResource(Lib,RT_STRING,MAKEINTRESOURCE(1),0,@MyStr[1],Len);
 EndUpdateResource(Lib,False);
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо