谁能帮我把这段VB源码转换成delphi啊

PrivateSubcrackR()DimiAsLongDimtmpbyte1AsByteDimtmpbyte2AsByteDimfilenum1AsLong,filen... Private Sub crackR()
Dim i As Long
Dim tmpbyte1 As Byte
Dim tmpbyte2 As Byte
Dim filenum1 As Long, filenum2 As Long
'read list from idx file one by one (4byte)
filenum1 = OpenBin(App.Path & "\ranger.idx", "R")
'data == idxRole
ReDim data(LOF(filenum1) / 4 - 1)
Get filenum1, , data
Close (filenum1)

FileCopy App.Path & "\ranger..grp", App.Path & "\ranger.grp.enc"
filenum1 = OpenBin(App.Path & "\ranger..grp", "R")
filenum2 = OpenBin(App.Path & "\r1.grp.enc", "W")

For i = 1 To MIN(800, data(2) - data(1))
Get filenum1, data(0) + i, tmpbyte1
Get filenum1, 36 + i, tmpbyte2
Put filenum2, data(0) + i, tmpbyte2
Put filenum2, 36 + i, tmpbyte1
Next i

For i = 1 To MIN(data(2) - data(1), data(4) - data(3))
Get filenum1, data(1) + i, tmpbyte1
Get filenum1, data(3) + i, tmpbyte2
Put filenum2, data(1) + i, tmpbyte2
Put filenum2, data(3) + i, tmpbyte1
Next i
Close (filenum2)
Close (filenum1)
MsgBox "DONE"
End Sub

注释:
' status = "R" 读
' status = "W" 写

VB不怎么明白 帮帮忙啦~
对了,忘了这个 Dim data() As Long
最好是还能帮我解读一下哦delphi代码中的函数对应的VB函数的功能
比如ReDim data(LOF(filenum1) / 4 - 1) 如果转换成setlength(xxx,XXX);该怎么写

我知道需要重新写啊 但是我读懂这段代码都比较困难 更不知道怎么用VB实现这段代码了 谁帮我写写 给个方法出来我就明白了
展开
 我来答
九州树
2009-10-07 · 超过30用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:0
展开全部
Dim data() As Long//声明一个数组
var array[] data:integer;
ReDim data(LOF(filenum1) / 4 - 1)//重新声明这个数组的长度,lof下标
setlength(filenmu1,high(filenum1) div 4 -1);//delphi的语法更简单
Private Sub crackR()//声明一个函数
procedure crackR();//delphi的声明更简洁,写在Private区段中
Dim tmpbyte1 As Byte//声明一个变量
var tmpbyte1:Byte;//以此类推
delphi中的文件读写,有多个方法,有blockread,filestream等,比如filestream
Afilestream:=TFilestream.create(filepath,...);
for i = 0 to Afilesteam.size-1
Afilestream.write(Abuf,sizeof(Abuf));
klm6
2009-10-06 · TA获得超过349个赞
知道答主
回答量:51
采纳率:0%
帮助的人:0
展开全部
不可以,

VB 和 delphi 的语言方式不同,如果你需要把这段代码的功能写在delphi里,有一个办法,就是利用delphi重新写你VB中代码的功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
testerHooK
2009-10-06 · 超过67用户采纳过TA的回答
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:193万
展开全部
这种新版VB的语法不熟悉。
暂时没法帮你。
不过得告诉你一点,SetLength只能改变动态数组的大小。
我看你的filenum1不是数组
……
所以我赞同一楼的观点,还是从新写来得方便。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luiwei0114
2009-10-07
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
行不通
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式