第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·
韩国云服务器哪个好?韩国云服务器好用吗?韩国是距离我国很近的一个国家,很多站长用户在考虑国外云服务器时,也会将韩国云服务器列入其中。绝大部分用户都是接触的免备案香港和美国居多,在加上服务器确实不错,所以形成了习惯性依赖。但也有不少用户开始寻找其它的海外免备案云服务器,比如韩国云服务器。下面云服务器网(yuntue.com)就推荐最好用的韩国cn2云服务器,韩国CN2云服务器租用推荐。为什么推荐租用...
老薛主机怎么样?老薛主机这个商家有存在有一些年头。如果没有记错的话,早年老薛主机是做虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站业务所以能持续到现在。这不,站长看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港vps主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港vps。点击进入...
atcloud主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御+不限流量,杜绝DDoS攻击骚扰,比较适合海外建站等相关业务。ATCLOUD.NET是一家成立于2020年的海外主机商,主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解...
windows95为你推荐
敬汉卿姓名被抢注为什么最近b站up主都被问是否注册了商标?netlife熊猫烧香是怎么制作的地图应用哪个手机定位软件最好用?老虎数码我想买个一千左右的数码相机!最好低于一千五!再给我说一下像素是多少?刘祚天还有DJ网么?杰景新特美国杰尼.巴尼特的资料丑福晋谁有好看的言情小说介绍下同一服务器网站同一服务器上的域名/网址无法访问www.se333se.com米奇网www.qvod333.com 看电影的效果好不?www.45gtv.com登录农行网银首页www.abchina.com,
云南服务器租用 sugarhosts tier godaddy域名转出 远程登陆工具 建站代码 论坛空间 丹弗 网站挂马检测工具 架设服务器 建立邮箱 php空间推荐 南通服务器 东莞服务器托管 1美元 域名和主机 葫芦机 上海联通 香港博客 zcloud 更多