有用delphi对应用程序进行编译成exe文件的控件吗?(100分)

  • 主题发起人 主题发起人 海风
  • 开始时间 开始时间
我找到了一种最简单的方法:
先建立一个资源文件,里面包括要打包的文件。然后将该资源文件编译,最后
写一个程序,程序可以用TResourceStream装载该资源文件,然后用SaveToFile
方法将资源里面的文件写到一个目录就可以了。
 
其实,install.exe对自己进行读操作很简单.
这里有一个例子,稍加修改就可以形成install.exe
源代码:
unit unit1;

interface

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

type
TForm1 = class(TForm)
Read1: TButton;
Memo1: TMemo;
procedure Read1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Read1Click(Sender: TObject);
var
f:file of char;
size:longint;
p,i:integer;
s:string;
c:char;
begin
assignfile(f,application.ExeName);
{取得运行文件本身的名字}
s := '';
p := 10;
filemode := 0;
{将文件操作模式设为只读}
reset(f);
{建立关联,在这里,编译器不会报错,因为已经设了只读模式}
size := filesize(f);
seek(f,size-p);
{将读指针定位在倒数10字节的位置}
for i := 1 to p do
begin
read(f,c);
if (byte(c) < 32) or (byte(c) > 126) then c := '.';
s := s + c;
end;
memo1.Lines.Add(s);
closefile(f);
end;

end.

当然,为了配合这个程序,我另外写了一个程序,在这个程序的
末尾加入10个字节.(可以向我索取,很简单的)
还有问题,欢迎来信讨论! mophy@188.net
 
可以参考VB的安装程序,它在VB目录里的SETUP1.VBP。VB的安装大师就是在
SETUP1.VBP中,我想是你要的.
 
VB的安装程序不是通用的,就是说每次不同的东西都需要重新编译生成新的setup.exe.

莫非真要给用户装一个delphi编译器不可?
 
虽不通用,可以参考其原理
 
全部问题已经搞定了,做一个简单的安装程序我想没有问题了。
 
本来就不难. 最简单的就是事先做好个exe, 然后将你要打包的文件用
copy /b 和这个exe连在一起就行了. 当然你的exe里要处理读取自己然后
将附加在后面的东东拆到一个一个单独文件中就行了.
 
还有问题就问,要不然就给分嘛.(我还没得过分呢! :-))
 
哈哈,我手上就有这个构件,谁要,请留E-mail
 
Ridolph,我要,给我一份,qming@cmmail.com
 
给我一个吧! mophy@188.net
 
多人接受答案了。
 
后退
顶部