«1 2 » Pages: ( 2/2 total )
本页主题: [原创][PC][VB]存档修改器 简单教程 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

乖小子
007
最佳新人奖
级别: 胜利零点修改组


精华: 4
发帖: 135
威望: 36 点
金钱: 122 胜利币
贡献值: 0 点
在线时间:130(小时)
注册时间:2006-03-29
最后登录:2008-09-05

 

在:
Quote:
Private lngAddr(7) As Long


下面加上
Quote:
Private strFileName As String' 文件名


在最下面加入:


Quote:
Private Sub OpenSavedFile()'打开存档文件
  With CommonDialog1
    .DialogTitle = "打开《英雄传说6》SC 存档文件"'弹出的控件名称
    .CancelError = False'错误显示关闭
    .Filter = "存档文件 (SVDAT*.SAV)|SVDAT*.SAV"'选取的文件名以及后缀格式。
    .ShowOpen
    If Len(.FileName) = 0 Then'如果文件的地址为空则退出 OpenSavedFile
        Exit Sub
    End If
   
    strFileName = .FileName'这个是打开的文件
    Text.Text = .FileName'这个是把路径显示到Text
  End With
End Sub
顶端 Posted: 2006-04-22 08:53 | 10 楼
乖小子
007
最佳新人奖
级别: 胜利零点修改组


精华: 4
发帖: 135
威望: 36 点
金钱: 122 胜利币
贡献值: 0 点
在线时间:130(小时)
注册时间:2006-03-29
最后登录:2008-09-05

 

打开文件结束了。

那就剩下(用什么控件来用这个) 怎么读取,怎么保存等

咋们先把所有的事件做好,在来怎么触发这些事件(好比RPG等者主角来触发任务一样)

打开有了,咋再写读取


Quote:
Private Sub OpenSavedFile()
…………
End Sub


下面加入:
Quote:
Private Sub ReadSavedFile()
End Sub


在这里面里,咋要先 定个变量
Quote:
Dim x As Integer'这个在后面一看就知道用在什么地方了
Dim lngVal(0 to 7) As Integer
'这是读取地址后的用到的变量


在继续加入:
Quote:
Open strFileName For Binary As #1
'这个大家在刚才看到了吧。打开刚才打开到的文件,把这个文件的编号 定为 #1 号
顶端 Posted: 2006-04-22 08:53 | 11 楼
乖小子
007
最佳新人奖
级别: 胜利零点修改组


精华: 4
发帖: 135
威望: 36 点
金钱: 122 胜利币
贡献值: 0 点
在线时间:130(小时)
注册时间:2006-03-29
最后登录:2008-09-05

 

继续加入:
Quote:
for x = 0 to 7 '把X定为 0 到 7的循环数
    Get #1, lngAddr(x), lngVal(x)'读取 #1 号文件 的 lngAddr(x)地址 并定到 lngVal(x),也就是 读 lngAddr(0) 就定到 lngVal(0) ……循环。一直从0 到 7
next x '结束这一个循环


在加入一个:
Quote:
Close (1)'关闭1号文件(这里其实可以不关,在保存后在关闭也可以,我个人觉得关闭好点)


上面就是读取完了。算是简单吧
这一部分就差 显示了。

咋继续:
Quote:
For x = 0 To 7'再定一个循环
    Text1(x) = lngVal(x)'这个就是每个TEXTBOX里显示刚才读取到的数据
Next x'结束循环



Quote:
End Sub'这一部分就结束了
顶端 Posted: 2006-04-22 08:54 | 12 楼
乖小子
007
最佳新人奖
级别: 胜利零点修改组


精华: 4
发帖: 135
威望: 36 点
金钱: 122 胜利币
贡献值: 0 点
在线时间:130(小时)
注册时间:2006-03-29
最后登录:2008-09-05

 

现在我们开始写保存的代码了:

这次我一次贴出来,并写上说明,请认真看哦:

Quote:
Private Sub SaveSavedFile()
  '定义变量类型
  Dim lngVal(0 To 7) As Long
  Dim x As Integer
  '读取写入值
  For x = 0 To 7
    lngVal(x) = "&H" & Hex(Text1(x))'这一步是因为那数值是10进,想写入到存档,必须要转换为 16 进制,这一步很关键的说。
  Next x
  '打开文件
  Open strFileName For Binary As #1'上次那个是 读取时打开文件,这时是保存再次打开。
 
  '写入数值
  For x = 0 To 7
    Put #1, lngAddr(x), lngVal(x)'写入转换到的16进制。
  Next x
  '关闭
  Close (1)'这里就必须关闭了。
End Sub
顶端 Posted: 2006-04-22 08:54 | 13 楼
乖小子
007
最佳新人奖
级别: 胜利零点修改组


精华: 4
发帖: 135
威望: 36 点
金钱: 122 胜利币
贡献值: 0 点
在线时间:130(小时)
注册时间:2006-03-29
最后登录:2008-09-05

 

现在开始连接 各个事件。

双击 界面上的   打开存档

Quote:
Private Sub Command1_Click()

End Sub


在里面写上:

Quote:
OpenSavedFile'打开文件
If Len(strFileName) > 0 Then ReadSavedFile'如果已经打开文件则读取此文件的相关地址


在双击 保存存档

Quote:
Private Sub Command2_Click()

End Sub


写入
Quote:
Dim x As Integer
'-----------------------------------检查文本里的数值是否超过规定的字节------------------------------
  For x = 0 To 7
    If IsNumeric(Text1(x)) Then
        If Text1(x) < 0 Then Text1(x) = 0
        If x = 0 Then
          If Text1(x) > 99999 Then Text1(x) = 99999
        End If
        If x = 1 Or x = 2 Or x = 3 Or x = 4 Or x = 5 Or x = 6 Or x = 7 Then
          If Text1(x) > 9999 Then Text1(x) = 9999
        End If
    Else
        Text1(x) = ""
        Text1(x).SetFocus
    End If
  Next x
'-------------------------------------如果以上不正常则自动改为正常数值并继续下面事件-------------
SaveSavedFile'保存
顶端 Posted: 2006-04-22 08:55 | 14 楼
乖小子
007
最佳新人奖
级别: 胜利零点修改组


精华: 4
发帖: 135
威望: 36 点
金钱: 122 胜利币
贡献值: 0 点
在线时间:130(小时)
注册时间:2006-03-29
最后登录:2008-09-05

 

源码在此:
[ 此贴被乖小子在2006-04-22 09:21重新编辑 ]
附件: [原创]存档修改器 简单教程[VB].rar (10 K) 下载次数:93
顶端 Posted: 2006-04-22 08:55 | 15 楼
啦啦123
级别: 家徒四壁


精华: 0
发帖: 41
威望: 1 点
金钱: 52 胜利币
贡献值: 0 点
在线时间:8(小时)
注册时间:2005-12-07
最后登录:2008-06-08

 

学到东西了
顶端 Posted: 2006-04-25 14:56 | 16 楼
xiyoujia
级别: 初入江湖


精华: 0
发帖: 5
威望: 1 点
金钱: 0 胜利币
贡献值: 0 点
在线时间:0(小时)
注册时间:2006-04-28
最后登录:2006-04-28

 

好东西DJxiexie
顶端 Posted: 2006-04-28 09:21 | 17 楼
虫的传人
级别: 家徒四壁


精华: 0
发帖: 49
威望: 2 点
金钱: 108 胜利币
贡献值: 0 点
在线时间:12(小时)
注册时间:2004-08-01
最后登录:2008-05-20

 

实用的好文章,一个VB精简版才6MB,很不错,顶
顶端 Posted: 2006-05-03 15:19 | 18 楼
«1 2 » Pages: ( 2/2 total )
帖子浏览记录 版块浏览记录
胜利之歌超级论坛 » PC修改专区


浙ICP备05022506号
Total 0.096214(s) query 5, Time now is:09-07 12:35, Gzip enabled
Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation