VB 复制文件有进度

来源:百度知道 编辑:UC知道 时间:2024/05/31 18:05:52
设计一程序 要求:
共9个资源文件 资源文件编号(101.102.103........“CUSTOM")(注:是自定义文件 后缀名.NPK)
有一个 “label” 一个名为 “浏览” 的按钮 一个 “确定” 按钮
点 浏览 弹出 “浏览文件夹” 对话框 选择 路径后
将 路径 显示在 LABEL 中 ,点 确定 将那9个资源文件复制到 label 显示的路径文件夹内 完成后弹出对话框 显示成功与失败

本人VB新手 不懂 求高人指点
程序代码能否解释一下是么意思??
还有资源文件怎么调用?

懒的写具体代码了,大致思路说下:
1.获得源文件和目标文件夹的路径
2.在目标文件夹中创建一个空文件,和源文件同名
3.用FileLen函数获得源文件长度
4.用一个For循环,从0开始到源文件长度结束,从源文件读取一个Byte,然后将其立刻写入到目标文件,并用Cint( i / 源文件长度 × 100)的公式计算百分比。

至于如何更新进度条,我个人倾向于用事件。
算了,还是写一个代码吧……

Public Event Progress(percent as integer) ‘这个要得是全局变量
Dim b as Byte

Private Sub Copy(path1 As String, Path2 as String)
'Path1是源文件路径,Path2是目标文件夹(不以“\”结尾!)

Open Path1 For Binary As #1
Open Path2 For Binary As #2

Dim _srcLen As Long
_srcLen = FileLen(#1)

For i = 0 to _srcLen
Get #1, i , b
Put #2, i, b
RaiseEvent Progress(Int( i / _srcLen * 100))
Next i

End Sub

Private Sub Form1_Progress(percent As Integer)
'在这里刷新界面,percent变量里存储了进度
‘进度的范围是0~100
End Sub

Option Explicit

Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrows