Содержание материала

 
Пример вызова:

Code:

ExportExeFromRes('Data', путь куда извлекать);

 
 
4. Помещение в ресурсы извлеченного файла содержимого StringGrid'a.
 
Вот это было для меня самым сложным. Но мне помог один человек с ником Alex-Co, который ко всему прочему является автором отличного модуля AcWorkRes.pas. Этот модуль нам понадобится, его можно скачать тут и почитать про него тут.
Итак, установите этот модуль. Для этого откройте его и нажмите в Делфи Component\Install Component. После этого в появляющихся окнах нажимайте ОК, Compile и возможно Install.
Затем пропишите в разделе uses этот модуль.
Ниже представлен код процедуры, которая сохраняет содержимое StringGrid'a в ресурсы exe-файла:

Code:

 

procedure SaveStringGridToFile(StrGrid: TStringGrid; FName: string);

var

SaveList: TStringList;

i, j: integer;

Handle: THandle;

s: String;

begin

SaveList := TStringList.Create;

try

SaveList.Add(IntToStr(StrGrid.RowCount));

SaveList.Add(IntToStr(StrGrid.ColCount));

SaveList.Add(IntToStr(StrGrid.FixedRows));

SaveList.Add(IntToStr(StrGrid.FixedCols));

 

for j := 0 to StrGrid.RowCount-1 do

for i := 0 to StrGrid.ColCount-1 do

begin

SaveList.Add(StrGrid.Cells[i, j]);

end;

 

notLang:= True;

try

s:=SaveList.Text;

Handle := BeginUpdateResourceW(StringToPWide(FName),false);

UpdateResourceW(Handle,'MYEXE','EXEEXPORT',LANG_NEUTRAL,@(s[1]),Length(s));

EndUpdateResourceW(Handle, false);

finally

notLang:= False;

end;

finally

SaveList.Free;

end;

end;

 

Ранние статьи

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить