备份及取备份.zip

源代码在线查看: bf.prg

软件大小: 3 K
上传用户: zxj334
关键词: zip 备份
下载地址: 免注册下载 普通下载 VIP

相关代码

				*数据备份子程序
				*程序名: BF
				*开发日期: 95,8,10
				*程序员: 庄帆
				
				*变量说明
				*QDQ:选择驱动器
				*ERR:接收错误信息
				*DD:用于等待的伪变量
				*TC:是否退出
				*SCR1:存屏
				*YYHQDQ:原隐含驱动器
				*CPXYRL:磁盘剩余容量
				*ESC1:READ时未修改按ESC键退出的READKEY值
				*ESC2:READ时修改后按ESC键退出的READKEY值
				*PS:磁盘盘数
				*BBFILE:备份文件名
				*JSQ:计数器
				*XL:虚拟变量(无意义)
				
				*修改记录
				*1998.9.14 庄稼
				*1999.5.3  庄稼
				
				TC=.F.
				ERR=0
				DIMENSION BBFILE(99)
				JSQ=1
				XL=' '
				QD=1
				DO WHILE JSQ				  IF JSQ				    BBFILE(JSQ)='BB.00'+STR(JSQ,1)
				  ELSE
				    BBFILE(JSQ)='BB.0'+STR(JSQ,2)
				  ENDIF
				  JSQ=JSQ+1
				ENDDO
				
				
				DO WHILE .T.
				*确认和检测软盘
				  ON ERROR ERR=ERROR()
				  CPXYRL=DISKSPACE('A')
				
				*驱动器没准备好的处理
				  IF ERR#0
				    qd=MESSAGEBOX('软盘没有准备好或软盘损坏, 请检查!是否重试?',33,'')
				    IF QD=2
				      TC=.T.
				      EXIT
				    ENDIF
				    ERR=0
				  ELSE
				    EXIT
				  ENDIF
				ENDDO
				ON ERROR
				IF TC
				  EXIT
				ENDIF
				
				*利用ARJ在硬盘上生成数据
				close table all
				DELETE FILE BB.0??
				RUN ARJ U -Y -V1440 BB.001 *.DBF *.FPT *.?DX *.MEM
				
				*检测数据有几张盘
				PS=1
				DO WHILE .T.
				  IF FILE(BBFILE(PS))
				    PS=PS+1
				  ELSE
				    EXIT
				  ENDIF
				ENDDO
				=MESSAGEBOX('本次备份需要'+STR(PS-1,2)+'张盘,请插入第一张盘。',64,'')
				
				*SET COLOR TO
				JSQ=1
				XZ=1
				DO WHILE JSQ				*检测磁盘容量和盘正确与否
				  IF JSQ>1
				    =MESSAGEBOX('请放第'+STR(JSQ,2)+'张盘.',64,'')
				  ENDIF
				  DO WHILE .T.
				    BFFILE=BBFILE(JSQ)
				    IF FILE('A:\'+BFFILE)
				      DELETE FILE A:\&BFFILE
				    ENDIF
				    IF DISKSPACE('A')				      qd=MESSAGEBOX('磁盘容量不够,是否换盘重试?',33,'')
				      IF qd=1
				        LOOP
				      ELSE
				        EXIT
				      ENDIF
				    ENDIF
				    EXIT
				  ENDDO
				  IF qd=2
				    EXIT
				  ENDIF
				  wait window '正在备份数据, 请稍候...' nowait
				  COPY FILE &BFFILE TO A:\&BFFILE
				  DELETE FILE &BFFILE
				  JSQ=JSQ+1
				  IF TC
				    EXIT
				  ENDIF
				ENDDO
				IF QD=1
				  SAVE TO A:\PS ALL LIKE PS
				  WAIT WINDOW '备份完毕!' NOWAIT
				ENDIF
				
							

相关资源