Foxtable(狐表)用户栏目专家坐堂 → 没人能解决,解密密码和加密密码不一致时的错误码?


  共有20827人关注过本帖树形打印复制链接

主题:没人能解决,解密密码和加密密码不一致时的错误码?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/26 11:40:00 [显示全部帖子]

有的话,早就告诉你了。

没必要就同一个问题反反复复的提问。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/26 12:54:00 [显示全部帖子]

那就用ZIpFile吧,更加方便,而且还可以压缩文件:

 

Dim zip As New zipFile
zip.Open("c:\data\backup.zip")
zip.Password = "密码"
Try
    zip.Extract("foxtable.exe", "c:\data\foxtable.exe")
Catch ex As Exception
   Messagebox.show("密码错误")  
End Try
zip.Close()

[此贴子已经被作者于2010-8-26 12:54:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/26 13:21:00 [显示全部帖子]

你让我有拿头撞墙的冲动,只需改动不到10行代码而已,这算哪门子工程量太大?

你甚至不需要自己写代码,用zipFile文件带密码压缩文件,代码实现成的,从帮助复制过来即可,6楼是带密码判断的解压代码,也是现成的。

你对foxtable要求太高了。

 

图片点击可在新窗口打开查看

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/26 15:10:00 [显示全部帖子]

我在6楼写得如此清楚,用try来捕获密码不对的时候的解压错误:


Dim zip As New zipFile
zip.Open("c:\data\backup.zip")
zip.Password = "密码"
Try
    zip.Extract("foxtable.exe", "c:\data\foxtable.exe")
Catch ex As Exception
   Messagebox.show("密码错误")  

   Return
End Try
zip.Close()

 

你自己的代码用到了Try吗?你到底有没有看我的回复?难道永远都要人家直接帮你设计好?

 

方法已经告诉你了,代码也贴出来了,至少可以自己先用简单的代码测试带密码的压缩和解压,测试一下能不能正确压缩? 能不能正常解压?测试一下解压的文件是否能正常打开?全部通过后再应用到自己的系统中。
如果有问题,那么究竟是压缩不行,还是解压不行,都可以通过一段简单的代码来测试验证,不需要动不动就整段整段的代码上传和上传项目。
你不是新手,你是老得不能再老的用户,别永远都在用人家的代码拼凑自己的系统,学会自己解决哪怕是一点点简单的问题,版主也是人,也有自己的工作,不是你的自动代码编写器。

[此贴子已经被作者于2010-8-26 15:17:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/26 15:44:00 [显示全部帖子]

你15楼贴出来的代码,解压部分的代码为:

 

Dim zip As New zipFile
zip.Open(dlg.filename & ".bak")
zip.Password = "8888"
zip.Extract(dlg.filename)
zip.Close()
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)

 

你没有用Try开捕获错误,密码不对时自然就直接报错。

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/26 15:52:00 [显示全部帖子]

还有13楼的压缩文件:

 

Dim zip As New zipFile
zip.Create(dlg.filename)
zip.AddFile(dlg.filename & ".bak",dlg.filename)
zip.Password = "8888"
zip.Close()

 

可以看出生成的压缩文件的后缀是dsb,因为没有添加bak

 

而解压文件的代码是:

 

Dim zip As New zipFile
zip.Open(dlg.filename & ".bak")
zip.Password = "8888"
zip.Extract(dlg.filename)
zip.Close()
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)

 

后缀名是bak,两段代码压缩文件的名称都不一样,还解压什么?

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/26 16:14:00 [显示全部帖子]

上报按钮压缩部分的代码改为:

 

Dim zip As New zipFile
zip.Create(dlg.filename)
zip.AddFile(dlg.filename & ".bak", Filesys.GetName(dlg.filename))
zip.Password = "8888"
zip.Close()

 

 

接受部分的解压代码改为:

 

Dim zip As New zipFile
zip.Open(dlg.filename & ".bak")
zip.Password = "8888"
zip.Extract(Filesys.GetName(dlg.filename))
zip.Close()
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)

 

自己测试一下,通过后再加上Try。

 

[此贴子已经被作者于2010-8-26 16:15:17编辑过]

 回到顶部