有哪位高手能指点一下我,将vb的程序改写成delphi,急急急!!! ( 积分: 200 )

K

kerwin

Unregistered / Unconfirmed
GUEST, unregistred user!
Dim tmp1 As Byte
Dim tmp2 As Byte
Dim rddata As String

Open "C:/wz.txt" For Binary As #1
Do While Not EOF(1) ' 检查文件尾。
Get #1, , tmp1
Get #1, , tmp2

rddata = rddata + ChrW(tmp2 * CLng(256) + tmp1)
Loop
Close #1

'姓名
nametmp = Mid(rddata, 1, 15)
'性别
sextmp = Mid(rddata, 16, 1)

这段程序就是将GB 13000的UCS-2进行存储的的文本转换成汉字!
哪位大哥能帮帮小弟,小弟先谢了!!!
 
Dim tmp1 As Byte
Dim tmp2 As Byte
Dim rddata As String

Open "C:/wz.txt" For Binary As #1
Do While Not EOF(1) ' 检查文件尾。
Get #1, , tmp1
Get #1, , tmp2

rddata = rddata + ChrW(tmp2 * CLng(256) + tmp1)
Loop
Close #1

'姓名
nametmp = Mid(rddata, 1, 15)
'性别
sextmp = Mid(rddata, 16, 1)

这段程序就是将GB 13000的UCS-2进行存储的的文本转换成汉字!
哪位大哥能帮帮小弟,小弟先谢了!!!
 
1、CLng把值转换为 Long
2、.ChrW 函数返回与指定的字符代码相关联的字符

这个VB函数就是把一个文本文件C:/wz.txt的每两行取出来,通过
rddata = rddata + ChrW(tmp2 * CLng(256) + tmp1)运算后,
再通过nametmp = Mid(rddata, 1, 15)
转换成汉字。有一个函数ChrW,你看看D中是否有相同的函数就行了。
其它的应该没问题
 
谢谢你的回复,我也知道CLng和Chrw这两个函数的含义,但是我在Delphi中却没找到与之对应的函数,所以我现在一直无法将GB 13000的UCS-2进行存储的的文本转换成汉字!你能给我进一步的说明一下吗?谢了
 
顶部