第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·
今天遇到一个网友,他之前一直在用阿里云虚拟主机,我们知道虚拟主机绑定域名是直接在面板上绑定的。这里由于他的网站项目流量比较大,虚拟主机是不够的,而且我看他虚拟主机已经有升级过。这里要说的是,用过阿里云虚拟主机的朋友可能会比较一下价格,实际上虚拟主机价格比云服务器还贵。所以,基于成本和性能的考虑,建议他选择云服务器。毕竟他的备案都接入在阿里云。这里在选择阿里云服务器后,他就蒙圈不知道如何绑定域名。这...
EdgeNat 商家在之前也有分享过几次活动,主要提供香港和韩国的VPS主机,分别在沙田和首尔LG机房,服务器均为自营硬件,电信CN2线路,移动联通BGP直连,其中VPS主机基于KVM架构,宿主机采用四路E5处理器、raid10+BBU固态硬盘!最高可以提供500Gbps DDoS防御。这次开年活动中有提供七折优惠的韩国独立服务器,原生IP地址CN2线路。第一、优惠券活动EdgeNat优惠码(限月...
georgedatacenter这次其实是两个促销,一是促销一款特价洛杉矶E3-1220 V5独服,性价比其实最高;另外还促销三款特价vps,georgedatacenter是一家成立于2019年的美国VPS商家,主营美国洛杉矶、芝加哥、达拉斯、新泽西、西雅图机房的VPS、邮件服务器和托管独立服务器业务。georgedatacenter的VPS采用KVM和VMware虚拟化,可以选择windows...
windows95为你推荐
著作权登记为什么要申请著作权登记工信部约谈电信工信部投诉电信 电信会被罚款吗12306崩溃12306网站显示异常,什么原因啊百度商城百度商城里抽奖全是假的rawtools闪迪32Gsd卡,无法格式化,显示只有30M,并且是raw格式。如何恢复?同ip域名两个网站同一个IP怎么绑定两个域名haole16.com玛丽外宿中16全集在线观看 玛丽外宿中16qvod快播高清下载百度指数词百度指数为0的词 为啥排名没有抓站工具仿站必备软件有哪些工具?最好好用的仿站工具是那个几个?抓站工具抓鸡要什么工具?
域名申请 重庆网站空间 美国linux主机 鲁诺vps 企业主机 息壤备案 winhost paypal认证 租空间 bgp双线 如何用qq邮箱发邮件 raid10 独享主机 英雄联盟台服官网 贵阳电信测速 百度云空间 阿里云手机官网 hdsky 酷锐 cx域名 更多