翻新时间: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
下载文档
网友最新关注
- 搭积木
- 给爸爸的一封信
- 说谎
- 害怕的夜晚
- 快乐的一天
- 辛勤的园丁
- 我的妈妈
- 我记忆最深的一件事
- 贝贝爸爸的生日
- 一件难忘的事
- 一次难忘的游泳
- 一节有趣的美术课
- 我不想去
- 我的玩具文具盒
- 我和小猪
- 建筑公司工程部经理述职报告
- 土建工程师述职报告
- 总监理工程师2010年个人述职报告
- 建筑公司工程部经理年终述职报告
- 建筑工程师述职报告
- 工程项目经理部质量管理工作述职报告
- 项目部总工程师个人年终总结
- 总工程师年度述职报告
- 工程部经理述职报告
- 建筑工程项目部经理述职报告
- XX年总工办工作总结
- 焦化厂技术员岗位申请报告
- 2010年度工程总监述职报告
- 总工办年度工作总结及第二年度工作设想
- 某公司技术总工述职报告
- 《中彩那天》 同步范文二
- 《七月的天山》教学重难点
- 《中彩那天》考点练兵 一
- 《七月的天山》整体阅读感知
- 《中彩那天》 作文指导
- 《中彩那天》 字词
- 《中彩那天》 老师语录
- 《中彩那天》 美文欣赏一
- 《中彩那天》 作者简介
- 《中彩那天》 同步范文一
- 《中彩那天》 主旨 线索
- 《中彩那天》 随堂练习 提高篇
- 《中彩那天》 结构
- 《七月的天山》相关资料
- 《七月的天山》教师语录