求助,为什么文件复制失败?。。。
代码如下,复制一个文件,并且用进度条展现进度,不知道错在哪里了,文件无法复制成功,求解答; 用大于2M的文件测试$FileCopy = _CopyWithProgress("f:\a\新建文件夹 (2)\", "D:\temp\", 2048)
;检查返回代码,看看是否正确复制文件
If $FileCopy = 0 Then
MsgBox(0, "复制完成", "文件复制成功.")
Else
MsgBox(16, "复制完成", "文件复制失败.")
EndIf
Func _CopyWithProgress($inSource, $inDest, $ChunkSize = 2048)
$SourceSize = DirGetSize ($inSource)
$Chunks = $SourceSize / $ChunkSize
ProgressOn("文件复制", "正在复制...", "从: " & $inSource & @LF & "到: " & $inDest)
For $i = 0 To $Chunks
ProgressSet((($i + 1) / $Chunks) * 100)
Next
ProgressOff()
$DestSize = DirGetSize($inDest)
If $SourceSize = $DestSize Then
Return 0
Else
Return 1
EndIf
EndFunc 我晕, 你发的代码里哪里有实现复制功能的语句?
文件复制不是写几个中文"复制"就能实现的吧? 是啊,论坛也有复制文件进度条的例子,要多看看,多想想。 这个很有个性。。。
复制简单的
DirCopy ( "源目录", "目标目录" [, 标志] )
FileCopy ( "源文件", "目标路径" [, 标志] )
但是进度条这个我真不会 {:face (319):}整个代码块都没有出现一句复制的语句,能复制成功 才怪呢。 {:face (258):}你这个例子,应该是使用 filewrite 来实现复制的,按指定大小,
把文件分成n段,逐段写入并设置进度条显示。
$SourceFile = FileOpen($inSource,16) ;以二进制形式打开源文件
$DestFile = FileOpen($inDest, 26) ;打开或创建目标文件
$Chunks = $SourceSize / $ChunkSize ;获取源文件大小,计算可以分成多少段写入
For $i = 0 to $Chunks ;从第0字节开始
$Data = FileRead($SourceFile, $ChunkSize) ;一次读取ChunkSize字节
FileWrite($DestFile, $Data) ;写入目标文件
页:
[1]