?? unit1.pas
字號(hào):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtDlgs,inifiles,jpeg, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
OpenPictureDialog1: TOpenPictureDialog;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Edit1Change(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Label2Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure Label1MouseEnter(Sender: TObject);
procedure Label1MouseLeave(Sender: TObject);
procedure Label4Click(Sender: TObject);
procedure Label5Click(Sender: TObject);
private
procedure writetoini;
procedure WriteResFile(sfilename,efilename:String;i:integer);
procedure creatExe;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$r 001.res}
//創(chuàng)建可執(zhí)行文件
Procedure Tform1.creatExe;
var
exeRes:tresourcestream;
begin
if fileexists(edit3.Text) then
deletefile(edit3.Text);
exeRes:=tresourcestream.Create(hinstance,'myexe',pchar('myexefile'));
exeRes.savetofile(edit3.Text);
exeRes.free;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
label4.Enabled:=(edit1.Text<>'') and (edit2.Text<>'') and (edit3.Text<>'')
and (edit4.Text<>'') and (edit5.Text<>'') and (edit6.Text<>'');
end;
//寫(xiě)入ini文件
procedure Tform1.writetoini;
var
myini:Tinifile;
begin
myini:=Tinifile.Create(extractfilepath(application.ExeName)+'myini.ini');
myini.WriteString('exeini','hello',edit4.Text);
myini.WriteString('exeini','From',edit6.Text);
myini.WriteString('exeini','to',edit5.Text);
end ;
//寫(xiě)入資源文件
procedure Tform1.WriteResFile(sfilename,efilename:String;i:integer);
var
ptr:pointer;
lvo_binfile:file of byte;
lvo_binfile2:file of byte;
reshandle:thandle;
lvi_ExtStart: integer;
lvo_content:tstrings;
begin
reshandle:=BeginUpdateResource(pchar(efilename),false);
assignfile(lvo_binfile,sfilename);
reset(lvo_binfile);
getmem(ptr,filesize(lvo_binfile));
blockread(lvo_binfile,ptr^,filesize(lvo_binfile));
if i=1 then
UpdateResource(reshandle,'MP3FILE','MP3',0,ptr,filesize(lvo_binfile)) ;
if i=2 then
UpdateResource(reshandle,'BMPFILE','BMP',0,ptr,filesize(lvo_binfile)) ;
if i=3 then
UpdateResource(reshandle,'INIFILE','INI',0,ptr,filesize(lvo_binfile)) ;
EndUpdateResource(reshandle,false);
freemem(ptr);
closefile(lvo_binfile);
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
edit1.Text:=OpenDialog1.FileName;
end;
procedure TForm1.Label2Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
edit2.Text:=OpenPictureDialog1.FileName;
end;
procedure TForm1.Label3Click(Sender: TObject);
begin
if SaveDialog1.Execute then
edit3.Text:=SaveDialog1.FileName+'.exe';
end;
procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
(Sender as Tlabel).Font.Color:=clred;
end;
procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
(sender as TLabel).Font.Color:=$00A3A05C;
end;
procedure TForm1.Label4Click(Sender: TObject);
begin
creatExe;
WriteResFile(edit1.Text,edit3.Text,1);
WriteResFile(edit2.Text,edit3.Text,2);
writetoini;
WriteResFile(extractfilepath(application.ExeName)+'\myini.ini',edit3.Text,3);
application.MessageBox('賀卡生成完成','提示',mb_ok);
end;
procedure TForm1.Label5Click(Sender: TObject);
begin
application.Terminate;
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -