◇◇◇请问如何将edit1中的内容加入到exe中去?(100分)

  • 主题发起人 主题发起人 laohe
  • 开始时间 开始时间
L

laohe

Unregistered / Unconfirmed
GUEST, unregistred user!

不是先将文字内容编译成资源文件.res文件,是我们自己的exe文件,生成另一个文件;

在此谢过
 
把问题说清楚。是希望在设计时将自符串加入程序,还是在程序运行时加入字符串?
 
是程序运行时,

例如:我制作的程序中有一个edit近件,和一个按钮,当我执行这个程序,并在edit中输入
文字,单击按钮,生成一个exe文件,这个exe文件中的edit文件可以显示刚才我输入的内容。
现在有很多音乐贺卡,你可以输入祝贺词,然后生成一个exe文件。

还请大侠指点,谢谢
 
你怎么生成的exe?
怎么听起来像编译器.
可以说清楚些嘛,这样太含糊了.
你可以去搜一下,汉化,或者PE格式分析.
 
用流的方法,在文件后部添加上你的数据即可。
江涛有一篇文章写过了的。
 
bupack控件中的 TBUDataEmbedded 控件可以实现你的想法。
 
一个笨办法:
写一个小程序,定义一个100字符长的内容为空格的常量,用一Edit显示该常量内容
将该小程序做成资源,加入你的贺卡生成程序.
在贺卡生成程序中点击那按钮时,先将你刚才的小程序释放出来,然后打开,替换里面
所有的100字符长的内容为空格的内容为贺卡生成程序中Edit的内容.
这样,用户运行该贺卡时,本应显示一串空格,但是由于空格被替换为相应的祝语,于是
祝语就显示出来了.
注意,替换后的字符串应也是100字符长度.可由 str := Format('100s', [str]);语句
获得.显示时先作处理: Edit1.Text := Trim(ConstStr); //清除多余空格
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Add: TButton;
procedure FormCreate(Sender: TObject);
procedure AddClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses
TWriteMeB ;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
if not WriteMe.IsFirst then
begin
add.Visible:=false;
edit1.Text:=WriteMe.Read;
end;
end;

procedure TForm1.AddClick(Sender: TObject);
begin
WriteMe.Write(edit1.text);
CopyFile(PChar(WriteMe.FilePath),'New.exe',false);
CopyFile(Pchar(ParamSTr(0)),PChar(WriteMe.FilePath),false);
end;

end.
看看是不是符合你的效果
TWriteMeB 在http://www.delphibbs.com/delphibbs/dispq.asp?lid=917445
 
如果你觉得符合要求,请给我WIN2000下的测试娄数据
 
谢谢各位,问题就这样结束吧
 
后退
顶部