第18卷第6期水利水电科技进展1998年l2月用Delphi设计Windows95下通用软件安装程序陈月英胡晓军庄卫华笪尚亮L一/7,,寸(河海大学计算机及信息工程学院南京210098)(淮阴市广播电视大学江苏淮阴223OOO)关毽词塞夔垂庄DDEelientDelpIIi视窗95'_·一.
_-'~Windows95环境下开发32位Windows应用程序是目前国内较为流行的,也是今后软件发展的趋势.
目前,在Windows环境下开发的应用程序13益增多,为了达到商品化程度,不但要有高质量的软件,还要有相应配套的辅助工具,如:帮助程序HELP,系统安装程序SETUP.
过去由于开发的基础平台和实用工具的局限性,一个新的软件的安装及使用.
用户会感到无从着手,因为在当时,大部分软件都是只包含了一个可执行程序和一个readme.
txt文件;而今天的应用程序就像一个庞大的"怪兽"一样,经常包古数百个文件(程序文件、帮助文件及安装程序等等).
一般情况下,一个软件在使用之前,必须先将系统安装在相应的机器上,然后才能开始使用.
因此.
拥有一个高效、方便的安装程序,对整个系统来说是十分重要且必不可少的.
我们在开发应用软件的过程中,设计了一个采用Delphi3.
0开发Wind95下通用软件的安装程序,实现的方法简单.
下面就该安装程序的实现方法及主要技术问题、程序摸块进行介绍.
l安装程序实现方法在Wind13WS95或WindNT下安装过系统的读者,应该比较熟悉安装的一般过程.
这里不再复述.
在{6j作安装程序之前,必须先建立一个安装信息文件(可利用现行的编辑软件),用存放安装时所需要的信息参数,如:需安装的软件名称、软件所需空间、原文件目录结构和文件分配及目标文件目录结构和文件分配情况等.
通过DeIphi30与Windows95之间的通信,实现参数的传递,为安装程序提供了必要的安装信息(详见程序实现举例).
再利用De~hi30所提供的函数等,实现安装程序的设计….
2安装信息文件(setup.
;nf)setupiI1f文件描述了文件在安装盘及目标盘上的分布情况.
下面的描述,仅供参考.
读者可根据自已需要安排信息文件中的内容信息文件结构如下:[app];节名.
谚节下包古有三十信息a~name=管理信息系统;安装软件名称ddd~=c:、j;鳗省安裴路径呻㈣d=25;安裴直用轼件所需融盘空问25MB[ma~fde】;节名hum=2:文件十缸l=";文件2=】.
exe;文件名[name]l=propel;缺省文件夹名[disk~]diskrmm=2;镡盘数l=diskl:l号盘2=disk2.
;2号盘[~rdlrs]{谭盘目录2;谭盘有2十目录l={谭盘当前缺者日录2=sel~ss{谭盘当前目录下的子目录[dsdi~];目标日录dau,n=2;目标盘目录散l=;缺省安装目录2=sel~ss;安装日录下一级子目录[1一1];镡盘l号盘第一目录下farm=2;谭盘第一目录下有2十文件l_l目Ixt2=J[I一2][2一门fnum=l豫盘I号盘第谭盘2号盘第碌盘2号盘第目录下目录目录有l十文件第一作者简介:陈月英,女.
硕士,讲师,从事计算机应用研究,曾发表'高校选课系境公平算法及其研究)等论文.
66·1,,一扒啪哗1=setup.
inf[1】fram:2丈件名目标盘第一目录目标盘第一目录下有2十丈件3主要技术要点说明下面就如何建立Delphi30与信息文件之间的信息传递、安排目标结构、文件夹等所涉及的问题作一舟绍.
日.
从信息文件读取信息及建立目录结构.
采用De.
【phi中的itfifile单元,定义变量iniflxlel:Tiinfrh(Tinifile是inifde单元中定义的一种结构类型);inifilel:;n;Create('、setupinr):建立Delphi与信息文件之间的联系;inifil~1.
Free:释放与信息文件的连接;dslnum:=stz'toial(iinfilelreadslring(dstdirs.
dnum,):其中dstnum为安装目标盘目录数.
read.
siring过程的作用是建立一个Tiaifile对象的应用,从信息文件中读取一个字符型值.
该语句实现了从信息文件的sectioa中.
即从带【]的节名中取所对应的参数值,本例为从[dstdirs]节中取damn=3目标目录数,由于所取值为字符型量,用转换面数slfloint将字符型量转换成为数值型量.
最终dstuum变量值为3.
createdir(、):建一jw子目录chdir(、j):改变目录search:=FileExists(【ry1.
exe):检查文件【ry1.
exe是否存在,返回的值是true或falsegetdit(0,n—path):取当前目录ffeespacel:=diskfree(curt—drive):测试当前磁盘空同sid:=hopenfde(pehar(mename1),v,of—read):打开源文件did:=hopenfde(pehar(filename2),v,of—create):建目标文件lzcopy(filenamel,f'doname2):将源文件复制到目标文件lz~ose(filename1):关闭原文件lzclose(filenanm2):关闭目标文件b.
程序实现举例.
peduTForm2.
FormCreate(Sender:TObject);wspace1.
cupalh.
needspaee,ds:string;h'oespace1,~IIIba:integer;begingeldlr(0.
CHiT—path);//取当前目录clld"CUlT—path);//进^当前目录ia/filel:=fiaiFile.
Create(Culx"path+、setup.
inf);//建立Delphi与信息文件之间的联系labeH.
蛆n:=inifile1.
adsg(app',spacenead,");//读取app节中的spaceneod的值赋给Delphi控件lab~14.
caphondo:=i.
tfi~hlrea&tring(app,'dofdir,")//读取app节中的defdir为系统安装缺省目录dsif(ds[i1>=a')and(do[1]<=z)thenl¨】n—drive:=ord(&【1])一ord(a)+1elseCUrt"一drive:=oral(do[1])一ord(A)+1;,/取当前驱动器号freespacel:=diskfre~(CHIT—drive);//检查当前盘自由空坷freespace:=inttostr(heespaeeidiv(1024*1024));hbe15.
caption==do[i];]ab~17.
captionfreespace;//在屏幕上显示可用空间inifile1.
Free;end:c.
建立文件夹及向括动文件夹中添加文件.
在Delphi中提供了一个DDE的组件Ddeclieat.
COny.
以实现与Prograaa的通信.
程序管理器在Wia.
dows95中的兼容程序名为Progman.
exe的程序,与wdows3.
的程序管理器相同…crealegroup:通过程序管理器甸建一个新的文件夹;addi~m:通过程序管理器向活动的文件夹中添加一个新的文件名;Ddeelleatcoav1.
execute.
macro(}ereategroup(jwg1)]',fa1se):通过蹦edntc0nv建文件夹;文件夹名为jw,false不等待.
可连续发送;Ddeclienteonv1.
executemacro([additem(trv1)~aLse):通过DdoelieD,too~V向活动文件夹中添加新文件,文件名为时l,false不等待,可连续发送;(程序略)4结语利用本文所介绍的方法设计安装程序.
设计简单、方便,如再选用一些图形文件厦De】phi所提供的功能.
效果更佳,读者若有兴趣不妨一试.
参考文献Jeffrey.
Richter.
Windows3.
1程序开发指南.
北京:电子工业出版社,1994.
453—542(收藉日期:1998—09—08编辑:马敏峰)67·
HostKvm又上新了,这次上架了2个线路产品:俄罗斯和香港高防VPS,其中俄罗斯经测试电信CN2线路,而香港高防VPS提供30Gbps攻击防御。HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。俄罗斯VPSCPU:1core内存:2G...
reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...
greencloudvps怎么样?greencloudvps是一家国外主机商,VPS数据中心多,之前已经介绍过多次了。现在有几款10Gbps带宽的特价KVM VPS,Ryzen 3950x处理器,NVMe硬盘,性价比高。支持Paypal、支付宝、微信付款。GreenCloudVPS:新加坡/美国/荷兰vps,1核@Ryzen 3950x/1GB内存/30GB NVMe空间/1TB流量/10Gbps...
windows95为你推荐
h连锁酒店有哪些快捷酒店连锁酒店。甲骨文不满赔偿工作不满半年被辞退,请问赔偿金是怎么算的?rawtools照片上面的RAW是什么意思,为什么不能到PS中去编辑同一ip网站最近我们网站老是出现同一个IP无数次的进我们网站,而且是在同一时刻,是不是被人刷了?为什么呀?mole.61.com摩尔大陆?????www.kknnn.com求有颜色的网站!要免费的kb123.netwww.zhmmjyw.net百度收录慢?www.147.qqq.com谁有147清晰的视频?学习学习dpscycleDPScycle插件为什么没有猎人模块 最好详细点汴京清谈汴京平,众争趋赀货,璋独无所取,惟载书数千卷而还什么意思
厦门虚拟主机 备案域名购买 子域名查询 工信部域名备案 如何注册中文域名 贝锐花生壳域名 warez 免费申请网页 美国翻墙 美国主机论坛 tightvnc 网站实时监控 ca4249 jsp空间 北京双线 徐正曦 metalink 金主 群英网络 1美元 更多