人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的制作一个简单的setup懂设计的网友们快点来了解吧!
【 tulaoshi.com - 编程语言 】
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls, Grids,
DirOutln, Buttons, DdeMan,shlobj,comobj,activex;
type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
Image2: TImage;
Label3: TLabel;
Label2: TLabel;
Image3: TImage;
Label4: TLabel;
DdeClientConv1: TDdeClientConv;
Label5: TLabel;
procedure FormPaint(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure Label4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
smacro:string;
szmacro:array[0..254] of char;
sgroupdesc,sgroupname:string;
sprogdesc:string;
sprogicon:string;
res:tresourcestream;
resname,resnewname:string;
implementation
uses Unit4, Unit5;
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
{$R *.dfm}
{$R myres.RES}
procedure TForm1.FormPaint(Sender: TObject);
var
i,j:Integer;
Dct:TRect;
begin
form1.WindowState:=wsMaximized;
j:=form1.width;
//获得表单高度
for i:=0 to 255 do
//此处设置RGB()中一个颜色值
begin
Canvas.Brush.Color:=RGB(0,0,255-i);
//每次画矩形的画刷颜色 (左,上,右,下)
//Dct:=Rect(i*2,0,(i+1)*2,j);
Dct:=Rect(0,i*2,j,(i+1)*3);
//每次刷绘的矩形区域
Canvas.FillRect(Dct);
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
//填充颜色
end;
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
end;
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
procedure TForm1.Label3Click(Sender: TObject);
var
smacro:string;
szmacro:array[0..254] of char;
sgroupdesc,sgroupname:string;
sprogdesc:string;
sprogicon:string;
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
tmpObject:IUnknown;
tmpSLink:IShellLink;
tmpPFile:IPersistFile;
PIDL:PItemIDList;
StartupDirectory : array[0..MAX_PATH] of Char;
StartupFilename : String;
LinkFilename : WideString;
c1:THandle;
begin
label5.Enabled:=false;
form5.show;
if label5.Enabled=false then
begin
if not DirectoryExists('C:方奇flash播放器') then
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
try
ForceDirectories('C:方奇flash播放器');
resnewname:=trim('C:方奇flash播放器方奇flash播放器.exe');
resname:='MYDBAPP';
res:=tresourcestream.Create(hinstance,resname,pchar('mydbappfile'));
res.savetofile(resnewname);
ddeclientconv1.OpenLink;
//建立组群
sgroupdesc:='方奇系列软件 ';
sgroupname:='方奇flash播放器v1.0';
//组成宏指令
smacro:='creategroup('+'方奇系列软件 '+','+sgroupname+')';
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/) strpcopy(szmacro,smacro);
ddeclientconv1.ExecuteMacro(szmacro,false); //执行宏指令
//建立ICON图像
sprogicon:=trim('C:方奇flash播放器方奇flash播放器.exe');
sprogdesc:='方奇系列软件';
smacro:='[additem('+sprogicon+','+sprogdesc+')]';
strpcopy(szmacro,smacro);
ddeclientconv1.ExecuteMacro(szmacro,false);
StartupFilename := '方奇flash播放器.exe';
tmpObject := CreateComObject(CLSID_ShellLink);
tmpSLink := tmpObject as IShellLink;
tmpPFile := tmpObject as IPersistfile;
tmpSLink.SetPath(pChar(StartupFilename));
tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(StartupFilename)));
SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);
SHGetPathFromIDList(PIDL,StartupDirectory);
LinkFilename := StartupDirectory +'方奇flash播放器.exe';
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
resnewname:=trim(LinkFilename);
res.savetofile(resnewname);
res.free;
//showmessage('方奇flash播放器v1.0安装在C:方奇flash播放器文件夹下');
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
except
MessageBox(getFocus,'创建目录失败!','信息',0);
Exit;
end
else Exit;
ModalResult:= mrOK;
end;
end;
procedure TForm1.Label4Click(Sender: TObject);
begin
form4.show;
end;
end.
来源:http://www.tulaoshi.com/n/20160219/1622447.html
看过《制作一个简单的setup》的人还看了以下文章 更多>>