⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 教你如何制作电子卡片
💻 PAS
字号:
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}
//创建可执行文件
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;
//写入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 ;
//写入资源文件
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.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -