第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·
今天9月10日是教师节,我们今天有没有让孩子带礼物和花送给老师?我们这边不允许带礼物进学校,直接有校长在门口遇到有带礼物的直接拦截下来。今天有看到Friendhosting最近推出了教师节优惠,VPS全场45折,全球多机房可选,有需要的可以看看。Friendhosting是一家成立于2009年的保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌...
公司成立于2021年,专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、三线高防、香港等优质的IDC资源。公司一直秉承”以人为本、客户为尊、永续创新”的价值观,坚持”以微笑收获友善, 以尊重收获理解,以责任收获支持,以谦卑收获成长”的行为观向客户提供全面优质的互...
Vultr 商家有新增韩国首尔机房,这个是继日本、新加坡之后的第三个亚洲机房。不过可以大概率知道肯定不是直连中国机房的,因为早期的日本机房有过直连后来取消的。今天准备体验看看VULTR VPS主机商的韩国首尔机房的云服务器的速度和性能。1、全球节点PING速度测试这里先通过PING测试工具看看全球几十个节点的PING速度。看到好像移动速度还不错。2、路由去程测试测试看看VULTR韩国首尔机房的节点...
windows95为你推荐
摩根币摩根币原名【BBT】我是会员现在的我推介人把我从微信删除已经跑路,不给兑现了!请大家不要做了硬盘工作原理硬盘的工作原理是什么?咏春大师被ko大师:咏春是不会败的 教练:能不偷袭吗,咏春拳教练地图应用什么地图导航最好用最准确老虎数码我想买个一千左右的数码相机!最好低于一千五!再给我说一下像素是多少?bbs.99nets.com怎么制作RO单机百度关键词分析如何正确分析关键词?partnersonline电脑内一切浏览器无法打开www.175qq.com求带名字的情侣网名!www.cn12365.orgwww.12365china.net是可靠的网站吗?还是骗子拿出来忽悠人的
华众虚拟主机管理系统 如何查询域名备案号 godaddy支付宝 网页背景图片 韩国网名大全 蜗牛魔方 域名转向 电子邮件服务器 七夕快乐英文 admit的用法 hktv 鲁诺 如何注册阿里云邮箱 789电视剧 超级服务器 免费mysql数据库 万网主机管理 实惠 国外网页代理 香港ip 更多