首页
社区
课程
招聘
请教VB的问题
2004-9-13 15:07 3969

请教VB的问题

2004-9-13 15:07
3969
Const bPatch = "aDate.TXT"
Dim Filename As String

Private Sub Command1_Click()              
'On Error GoTo exit1               

Dim codate As String
Dim codate As String
Dim a As Long,a1 As Long

   Filename = App.Path & "\" + aPatch
   Open Filename For Binary As #1         '以二进制方式打开文件
   Text1.Text = StrConv(InputB(LOF(1), #1), vbUnicode)
   codate = StrConv(Text1.Text, vbUpperCase)  '转换大写字母
   a1 = Len(codate)
   codatea = ""
   For a = 1 To a1
     codatea = Trim(codatea) & Trim(Mid(codate, a, 1)) '清除空字符//这里出问题
   Next a
exit1:
   Close #1                                     '关闭文件
   'Unload Me                                   '退出程序

End Sub

aText.TXT数据文件内容,该内容是在 OD 的 DUMP 区以二进制方式拷贝到记事本。

C7 44 24 04 80 00 40 00 A1 34 D8 63 00 C7 80 D4
9A 00 00 E9 85 00 00 C6 80 B1 9B 00 00 EB C6 80
1D 9C 00 00 EB C7 80 D0 9C 00 00 E9 94 00 00 C6
80 B8 9D 00 00 EB C6 80 26 6B 01 00 EB C7 80 26
6B 01 00 EB 00 00 00 C7 80 C3 6B 01 00 E9 89 00
00 E9 F6 21 18 00 90 90

问题:

在把文件读入变数codatea清除空字符后,在0x20h及0x40h处多了00,整个
长度多了两个字节,直接拷贝到文字方块并且手动把空字符去掉就不会有问题.

我错在那里请各位指点,谢谢。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞1
打赏
分享
最新回复 (3)
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无奈无赖 2004-9-13 16:55
2
0
codate = StrConv(Text1.Text, vbUpperCase)  '转换大写字母
把这一句改成这样不知道对不对。为什么我也不知道
codate = StrConv(trim(Text1.Text), vbUpperCase)  '转换大写字母
雪    币: 227
活跃值: (160)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
lipton 2 2004-9-18 15:29
3
0
最初由 无奈无赖 发布
codate = StrConv(Text1.Text, vbUpperCase) '转换大写字母
把这一句改成这样不知道对不对。为什么我也不知道
codate = StrConv(trim(Text1.Text), vbUpperCase) '转换大写字母


谢谢指点

发现多了00的地方是多了一个换行符或是ENTER符
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无奈无赖 2004-9-18 15:37
4
0
呵呵,客气客气。。。
游客
登录 | 注册 方可回帖
返回