应用软件中批量数据文件备份的实现
应用软件中批量数据文件备份的实现 摹I8卷第l期
2000年1月
沈阳师范学院(自然科学版)
fourv~lqfSlw,L'~ngNrmmalU,'Hversity(Natural&)
I8No.1
Jan2000
文章编号:1008—374X《2000)01—0032—04
@
Z,
应用软件中批量数据文件备份的实现
吴庆州,宫静
,———
——一
—————,
鞍山广播电规大学电教部,豇宁鞍山114014
TI~3j7
丁尸311,f3
摘要:研究如何在Foxp~应用程序中实现批量数据文件的动态备份.并结出了实现的基本思路
关锎:据文件;堡丝应月柳关键词:应用程序;翌生芝竺/7中圉分类号:TP3IIJ32文献标识码:A.
0引言
Fo.颤据牵
在运用数据开发应用软件时,一般在主菜单的某一子菜单中总挂接一个数据备份模
块,这在实践中是十分有用的.在应用软件的开发过程中,实现这一功能往往面临
两方面
l司
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
.其一是我们可以通过调用外部命令来进行批量备份,但由于在使用外部拷贝命令
时,Foxpro的控制权交给了DOS,这样在Foxpro下的应用程序界面就会被破坏掉;其二
是在考虑成批备份时用copyfile…to…去实现,由于一个应用软件系统派生的数据库等数
据文件不只一个,故而用该命令去逐一拷贝众多数据文件也是不现实的,特别是应用程序
的界面无法较好地反映这一过程.根据数据库软件开发的实践,用Foxpm编制出了能进
行成批数据备份的程序,它不仅能实现功能要求,而且具有良好的应用程序界面,从而满
足了用户的要求.
L设计思路
调试通过后,挂到相应的菜单把成批备份数据文件程序作为,个独立的模块考虑,
上
即可实现功能要求是实现对应用程序产生的数据文件进行成批备份,同时在备份过程中
屏幕上要有相应的提示信息(如选择驱动器A:B:或备份进度)程序中的主要技术要点:
收稿日期:1999一?一27
作者简介:吴庆州(1962一),男.辽宁太连^,鞍山广播电视大学升师
第l期吴庆州等:应用软件中批量数据文件备份的实现33
(1)如何利用ADIR()函数该函数的功能是:将与挠窆文件有关的信息放人一个二 维数组中,然后返回文件数语法:ADIR('数组名)[,《expc1)[,(expc2)]]).其中(数组 名)是一个二维数组,系统将自动创建,数组的5个列分别
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示匹配文件的文件名,文件大
小,创建日期,时间和文件特性(expe1)是文件的主干,可以使用通配符,而《expc2)是用来
进行文件查询的利用ADIR()函数可以把批量数据文件的各种信息存人几个数组.中主
要信息包括文件数,文件名和文字所占字节数,这样就可以计算出要备份的文件的总字节
数,也可得到已经备份的文件占全部备份文件总字节数的比例. (2)在备份数据之前,要使用DISKSpace()函数判断目标盘的剩余空间是否够用 (DISKSpace()的功能是检测默认盘上的剩余自由空间).检测结果够用,则进行备份,否
则给出换盘提示信息
2程序清单
下面给出已滴试通过的程序清单(清单中仅给出实现这一过程的主体,若想对其优 化,在此基础上做适当修改即可实现).
#批量数据动态备份程序BB1
SETTALKOFF
SETSAFEOFF
COLOR='1/3,7+/1,7/7,7+/7,7/1,7+/1,7+/7,?/1,0/?,7+/7'
DEFIWINDSOFTBACKFROM6,20TO16,59DOUBLE.OLO&C0LORSHAD
ACTIWrNDS0FTBACK
@2,5AY'请选择驱动器号:'
DISKN=0
@2,21GETDISKNFUNC'*HTA;B'SIZE1,6COLO…,,6+/4…6/3 READCYCL
DRIVE二=rIF(DISKN=1,'A:','B:') FII.ESN1=ADIR(BACKUP1,'"X-.DBF') FILESN2=ADIR(BACKUP2,'"X-IDX') SUMSIZE=0
FORK=1TOFILESN1
SUMSIZE=SUMSIZE+BACKUP1(K,2)
ENDF&&计算待备份文件的总字节数
FORK=1TOFIISN2
SUMSIZE=SUMSIZE+BACKUP1(K,2) ENDF
34?沈阳师范学院(自然科学舨)2000年
@4,4sAY'正在拷贝文件:'COLO4/3
@5,25,2TO9,35COLO0+/3
ADDsizE=0
SUMR0W=30
SETCOLOTOl+/3
FoRK:1TOFILESN1
:CHKDISK(B~CKUP1(K,2),DRIVE)&&判断更换磁盘 @4,18SAYBACKUP1(K,1)+SPACE(8) FSOURCE=BACKUpl(K,1)
FOBJECT=DRIVE+BACKUP1(K,1) c0PYFILE&FSoURCETo&FOBJECT ADDSIZE=ADDSIZE+BACKUP1(K,2)&&累计已拷贝的字节数 ADDROW=INT(SUNROW*ADD_SIZE/SUM_SIZE)&&计算光条应显示的长度
@6,4sAYREPL(CHR(177),ADDROW)COLOR4/3 ENDF
FoRK=1TOFILEN2
=CHKDISK(BACKUP2(K,2),DRIVE) @4,18SAYBACKUP2(K,1)+SPACE(8) FS0URCE=BACKUP2(K,1)
c0PYFILE&FSOURCETO&F()B】ECT
ADDSIZE=ADDSIZE+BACKUP1(K,2) ADDRoW=INT(SUMROW*ADDSIzE/SUMSIZE) @6,4sAYREPL(CHR(177),ADDROW)COLo4/3
@7,4SAYREPL(CHR(177),ADDROW)COL04/3 ENDF
RELEWINDSOFTBACK
RETU
FUNCCHKDISK&&判断换磁盘
PARAFILESIZE;DISKITTE
CURDRIVE=SYS(5)&&保存当前盘符
SETDEFATO&DISKITTE
DOWHILEFILESIZE>DISKSPACE() DEFIWINDCHANGDSKFROM8,20TO14,55DOUBCOLO
GT+/R,N/w,W/R,W+/G…,,N/W
ACTIWINDCHANGDSK
第l期吴庆州等:应用软件中批量数据文件备份的实现35 @1,5SAY'磁盘已满,请更换磁盘'
@3,5SAY'按任意键继续…'COLO3+/4
WAIT"
RELEWINDCHANGDSK
ENDD
SETDEFATO&CURDRIVE&&恢复原盘符
RrURN
参考文献
1】翁证科.FOXPRO2.5实用
教程
人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程
[M】北京:清华大学出版社.1997 2】王利.敦据库基础及应用[M】.北京:中央广播电视大学出版社.1998 Thebackupaccomplishmentofgroups ofdatafilesinapplication
wuQing-zhou,GONGJing
(AnOnTIc咖t,AnOn114014,m)
Abstract:Thispaperintroduceshowtoaccomplishthedynamicbackupofbatchesofda'
tafilesinFoxproapplicationprogramandthebasicideaandprogramlistare
providedwithit.
Keywords:applyingprogram;datafiles;backup