動的に Delphi のリソース ファイルのコンテンツを修正する方法を教えてください。

Delphi リソースファイルの中身を動的に書き換えられるようにするには、以下のステップを実行します。

  1. ネイティブでパラフレーズされた日本語バージョン: リソースストリーム
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HInstance, 'RESOURCE_NAME', RT_RCDATA);
try
// 根据需要修改资源文件的内容
finally
ResStream.Free;
end;
end;
  1. ResStream.読み取り
  2. ResStream.書き込む
  3. Seek
var
ResStream: TResourceStream;
Buffer: array of Byte;
begin
ResStream := TResourceStream.Create(HInstance, 'RESOURCE_NAME', RT_RCDATA);
try
// 读取资源文件内容
SetLength(Buffer, ResStream.Size);
ResStream.Read(Buffer[0], ResStream.Size);
// 修改资源文件内容
// ...
// 将修改后的内容写入资源文件
ResStream.Position := 0;
ResStream.Write(Buffer[0], Length(Buffer));
ResStream.Size := Length(Buffer);
finally
ResStream.Free;
end;
end;
  1. TResourceStream
  2. ファイルに保存
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HInstance, 'RESOURCE_NAME', RT_RCDATA);
try
// 修改资源文件内容
// ...
// 保存修改后的资源文件到硬盘
ResStream.SaveToFile('PATH_TO_SAVE');
finally
ResStream.Free;
end;
end;

ランタイムでリソースファイルを動的に変更する方法をいくつか示しました。具体的なニーズに応じて適切な方法を選択して実装してください。

bannerAds