📄 restore.prg
字号:
CLOSE DATA ALL
CLOSE TABLE ALL
SET TALK OFF
SET SAFE OFF
SET DATE TO ANSI
SET CENT ON
SET HOUR TO 24
IF !FILE('RAR.EXE')
=MESSAGEBOX('缺少可执行文件 RAR.EXE ,本功能暂不可用。 '+CHR(13)+'请与电脑程序设计维护人员联系。',64,'信息')
RETURN
ENDIF
LNMSGRESULT=MESSAGEBOX('此项程序仅在数据受损坏,需要用已备份的数据来恢复时方可使用!',3+48,'数据恢复')
IF LNMSGRESULT<>6
RETURN
ENDIF
LNMSGRESULT=MESSAGEBOX('是否要恢复数据?',3+48,'数据恢复')
IF LNMSGRESULT<>6
RETURN
ENDIF
IF !FILE('TMP.RAR')
WAIT WINDOW '保存现有数据,请稍候......' NOWAIT
RUN RAR.EXE U -PAdmin9 TMP.RAR *.DBF *.CDX *.FPT -R -M5 -RR -V1200K
WAIT WINDOW '现有数据已保存!' NOWAIT
ENDIF
LDDATE=DATE()
LLFILE=.F.
LLFILEEXT=.F.
FOR LNDATENUM=0 TO 6
LCFILENAME=DTOC(LDDATE-LNDATENUM)
LCFILENAME=LEFT(LCFILENAME,4)+SUBS(LCFILENAME,6,2)+RIGHT(LCFILENAME,2)
LCFILENAME=LCFILENAME+'.RAR'
IF FILE(LCFILENAME)
LLFILE=.T.
LCFILEDATE=DTOC(FDATE(LCFILENAME))
LCFILETIME=LEFT(FTIME(LCFILENAME),5)
LNMSGRESULT=MESSAGEBOX('是否恢复到 '+LCFILEDATE+' ';
+LCFILETIME+' 时的状态?',3+32+512,'数据恢复')
DO CASE
CASE LNMSGRESULT=6
WAIT WINDOW '数据恢复......' NOWAIT
LCEXT='RUN RAR.EXE X -PAdmin9 -O+ '+LCFILENAME
&LCEXT
LLFILEEXT=.T.
EXIT
CASE LNMSGRESULT=7
LOOP
CASE LNMSGRESULT=2
RETURN
ENDCASE
ENDIF
ENDFOR
IF LLFILEEXT
WAIT WINDOW '数据已恢复!' NOWAIT TIMEOUT 3
=MESSAGEBOX('数据已恢复到 '+LCFILEDATE+' '+LCFILETIME+' ',64,'数据恢复')
ENDIF
IF !LLFILE
=MESSAGEBOX('无近期的备份数据!',48,'数据恢复')
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -