一个菜鸟问题:如何在内存里查找字符串内容?
//程序A
Dim l As String
Dim m As String
Private Sub Command1_Click()
Text3.Text = l
End Sub
Private Sub Form_Load()
l = "Hello中国"
m = "Thank You!"
End Sub
//运行后在没点Command1之前在内存里Search ("Hello中国"转16H码) 48 65 6C 6C 6F D6D0 B9FA找不到.点了Command1之后才能到到,这是为什么?
数是由低到到存储,那汉字和英文字符串呢?谁有这方面的资料也可以share一下,谢谢了
//程序A
Dim l As String
Dim m As String
Private Sub Command1_Click()
Text3.Text = l
End Sub
Private Sub Form_Load()
l = "Hello中国"
m = "Thank You!"
End Sub
//运行后在没点Command1之前在内存里Search ("Hello中国"转16H码) 48 65 6C 6C 6F D6D0 B9FA找不到.点了Command1之后才能到到,这是为什么?
数是由低到到存储,那汉字和英文字符串呢?谁有这方面的资料也可以share一下,谢谢了
03830000:48 65 6c 6c 6f d6 d0 b9 fa 00 54 68 61 6e 6b 20
00380010:59 6f 75 21 如果编译了以后呢.(编译为P代码)只写LZ给出的这些代码..编译后大小是12.0 KB (12,288 字节)它们分别在:
0014F114 48 00 65 00 6C 00 6C 00 …………
0014F89C 54 00 68 00 61 00 6E 00 …………
希望对LZ有所帮助
可以编成EXE独立运行后再找就找不到了,这是为什么?当然我是就在没点Command之前找不到,点了之后就可以找到了
所以楼主可能要试试搜一下多了一个"0"的字串
还请热心人多多帮助!!
48 00 65 00 6C 00 6C 00
就可以搜索到一个,,,换
54 00 68 00 61 00 6E 00
就是下一个你非要搜索它干什么呢?晕,迷糊.
几点错误:
1.代码本身问题:
变量名写错,查找的时候没能正确传递数组的第六位,写成a(0),a(1),...,a(4),a(4),a(6)
应该是a(5)的.结果造成加"0"后找不到.
2.UNICODE的问题
用StrConv可以解决此问题再次感觉大家的热心帮助!!