翻新时间:2023-03-12
用VB实现对库文件的分割备份
用VB实现对库文件的分割备份 用VB实现对库文件的分割备份 信息技术论文 更新:2006-4-8 阅读: 用VB实现对库文件的分割备份
用VB实现对库文件的分割备份
殷鹏
在设计信息管理程序时,数据库的软盘备份与恢复是我们经常遇到的一个问题。如果仅仅使用文件复制指令,那么在文件大小超过软盘容量时,就会出现错误。下面我来介绍一种用VB实现的对文件进行分割备份的方法。假设在E:CLASS目录下有一个名为CLASSES.MDB的文件,3.8M,我们现在要按照每个1.4M,把它分割成3个文件进行备份,然后,再恢复成CLASSES1.MDB文件。启动VB,新建一个工程,添加一个模块,将下列代码填入模块的声明中:
Type FileSection
Bytes() As Byte
FileLen As Long
End Type
Type SectionedFile
Files() As FileSection
NumberOfFiles As Long
End Type
Type FileInfo
OrigProjSize As Long
OrigFileName As String
FileCount As Integer
FileStartNum As Long
End Type
然后,在Form1中添加两个按钮,分别命名为cmdBackup,Caption:"备份";cmdRestore,Caption:"恢复"。
分别双击按钮,填入以下代码:
Private Sub cmdBackup_Click()
Dim SplitFileName As String '待备份的文件名
Dim Split As Long '备份文件的大小
Dim SaveName As String '备份文件名
Dim fNum As Integer '可用的文件号
Dim NumFil As Long '备份文件的数目
Dim FilesLen As Long '待备份文件的大小
Dim CurrentFile As SectionedFile '参数结构
SplitFileName = "e:classclasses.mdb"
FilesLen = FileLen(SplitFileName)
fNum = FreeFile
Open SplitFileName For Binary As fNum '计算备份参数
NumFil = CInt(FilesLen /
ReDim CurrentFile.Files(1 To NumFil)
For i = 1 To NumFil
ReDim CurrentFile.Files(i).Bytes(1 To
CurrentFile.Files(i).FileLen = UBound(CurrentFile.Files(i).Bytes)
Next
For i = 1 To NumFil
Get #fNum, , CurrentFile.Files(i).Bytes
Next
ReDim CurrentFile.Files(NumFil).Bytes(1 To FilesLen - ((NumFil -
1) *
CurrentFile.NumberOfFiles = NumFil
Get #fNum, , CurrentFile.Files(NumFil).Bytes
CurrentFile.Files(NumFil).FileLen = UBound(CurrentFile.Files(NumFil).Bytes)
Close #fNum
For i = 1 To CurrentFile.NumberOfFiles '分割备份
SaveName = SplitFileName & "." & Format(BeginningNumber - 1 + i, "00#")
fNum = FreeFile
Open SaveName For Binary As fNum
Put #fNum, 1, CurrentFile.Files(i)
Close #fNum
Next
Dim FileInfoFile As FileInfo '相关数据写入临时文件
FileInfoFile.FileCount = NumFil
FileInfoFile.OrigFileName = SplitFileName
FileInfoFile.OrigProjSize = FileLen(SplitFileName)
FileInfoFile.FileStartNum = BeginningNumber
SaveName = SplitFileName & ".tpl"
fNum = FreeFile
Open SaveName For Binary As #fNum
Put #fNum, , FileInfoFile
Close #fNum
End Sub
Private Sub cmdRestore_Click()
Dim OutName As String '恢复后文件名
Dim fNum As Integer '可用的文件号
Dim tmpFileName As String '临时文件名
Dim File As SectionedFile '参数结构
Dim FileInfo As FileInfo '临时文件的结构
tmpFileName = "e:classclasses.mdb.tpl"
OutName = "e:classclasses1.mdb"
fNum = FreeFile
下载文档
网友最新关注
- 为“玩”正名
- 和小弟弟们谈青蛙
- 给赵老师的一封信
- 珍惜生命之水
- 雨露
- 您就这样的走了
- 瞧,我这一家子
- 父母心
- 我爱绿色的闵行
- 春天在哪里
- 小溪儿
- 游环西文化广场
- 2020相聚母校
- 小溪又见鱼儿游
- 我的老师Ms.Parry
- 房地产企业成本控制研究(1)论文
- 关于旅游业利用外资问题的研究
- 关于医院绩效管理与成本控制的研究(1)论文
- 浅谈施工企业现场成本管理(1)论文
- 降低煤炭企业成本的途径(1)论文
- 施工项目成本管理研究(1)论文
- 探讨施工企业项目成本管理(1)论文
- 新会计审计准则对遏制会计信息失真的作用
- 企业三级内审制的主要内容
- 试论房地产项目管理中的成本控制(1)论文
- 中小服装企业战略成本管理应用研究(1)论文
- 加强人工成本管理促进鞍钢市场竞争力不断提升(1)论文
- 企业成本管理创新的探讨(1)论文
- 向21世纪的管理和管理科学
- 施工企业目标成本管理分析(1)论文
- 《口技》语言特色
- 《口技》知识延伸
- 《口技》词类活用
- 《口技》古今异义词
- 《口技》难句解析
- 《口技》倒装句
- 《口技》课文题解
- 《口技》学习思路
- 《口技》写作背景
- 《口技》主题思想
- 《口技》语法修辞
- 《口技》通假字
- 《口技》词义辨析
- 《口技》重难点点拨
- 《口技》疑难字词解析