关于覆盖文件的实现?

yuseqing 2010-07-10 03:08:23
我想实现这样的功能:在我的安装路径下有个xx.wmv文件。用户一点按键就可以打开对话框然后选择他自己的wmv文件(之前已经也命名成xx.wmv),然后自动把他的wmv文件覆盖掉我之前的wmv文件。(如果能够自动将他的yy.wmv文件重命名成和我的一样的名字xx.wmv再覆盖更好)

希望大家给予意见,会尽快结贴给分,谢谢!
...全文
102 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yachong 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yuseqing 的回复:]
我想能不能判断出打开CommonDialog1对话框后如果打开了文件则继续执行,如果选择取消就跳出退出不执行后面的语句[/Quote]
属性窗口设置CommonDialog1的CancelError属性为True,就可以在点取消按钮的时候触发一个错误
捕捉这个错误就行了。
yuseqing 2010-07-13
  • 打赏
  • 举报
回复
顶一下
zjl1234567 2010-07-13
  • 打赏
  • 举报
回复
这个是正解。

判断文件为空的方法不准。因为选择了文件再按取消,文件名不为空
yuseqing 2010-07-12
  • 打赏
  • 举报
回复
是的[Quote=引用 6 楼 jbwd1 的回复:]
判断文件名是不是空?
[/Quote]
futosky 2010-07-12
  • 打赏
  • 举报
回复
判断文件名是不是空?
yuseqing 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 of123 的回复:]
Dim FileLen As Long, FileData() As Byte

Kill "你的xx.wmv文件"

Open "他的yy.wmv文件" For Binary As #1
Open "你的xx.wmv文件" For Binary As #2
FileLen = LOF(1)
Redim FileData(4095)
ProgressBar1.Value = 0
……
[/Quote]谢谢楼上的朋友们,还有一个问题:我用的是Open CommonDialog1.FileName For Binary As #1 但是假如打开对话框后我选的是取消他仍然会执行后面的语句,我想能不能判断出打开CommonDialog1对话框后如果打开了文件则继续执行,如果选择取消就跳出退出不执行后面的语句?
of123 2010-07-11
  • 打赏
  • 举报
回复
Dim FileLen As Long, FileData() As Byte

Kill "你的xx.wmv文件"

Open "他的yy.wmv文件" For Binary As #1
Open "你的xx.wmv文件" For Binary As #2
FileLen = LOF(1)
Redim FileData(4095)
ProgressBar1.Value = 0
ProgressBar1.Max = FileLen
Do While FileLen
If FileLen < 4096 Then ReDim FileData(FileLen - 1)
Get #1, , FileData
Put #2, , FileData
ProgressBar1.Value = ProgressBar1.Value + Ubound(FileData) + 1
ProgressBar1.Refresh
FileLen = FileLen - Ubound(FileData) - 1
Loop
Close #2
Close #1
threenewbee 2010-07-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yuseqing 的回复:]
引用 1 楼 zjl1234567 的回复:
kill 你的xx.wmv文件

filecopy yy.wmv 到你目录下

rename yy.wmv xx.wmv
恩 filecopy可以 但是我发现在执行filecopy的时候软件会卡住 想放个进度条也不行 等执行完filecopy才会恢复正常
[/Quote]
卡住是没有办法的。VB不支持多线程。

除非自己实现文件拷贝(二进制读写)。每个分块中间调用DoEvents。
yuseqing 2010-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zjl1234567 的回复:]
kill 你的xx.wmv文件

filecopy yy.wmv 到你目录下

rename yy.wmv xx.wmv
[/Quote]恩 filecopy可以 但是我发现在执行filecopy的时候软件会卡住 想放个进度条也不行 等执行完filecopy才会恢复正常
zjl1234567 2010-07-10
  • 打赏
  • 举报
回复
kill 你的xx.wmv文件

filecopy yy.wmv 到你目录下

rename yy.wmv xx.wmv

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧