| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1066 人关注过本帖
标题:[求助]关于NULL和Chr$(0)的问题,请大家帮忙
只看楼主 加入收藏
jionjion
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-7-21
收藏
 问题点数:0 回复次数:5 
[求助]关于NULL和Chr$(0)的问题,请大家帮忙
Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long RegQueryValueEx hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize strBuf = String(lDataBufSize, Chr$(0)) RegQueryValueEx hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1) 这一段代码是从注册表中读取密码用的, 红色部分这两处,哪位能帮我解释一下,我看了半天也没搞明白,到底是什么意思啊, 似乎反回来的都是空的,确又不能少,少了就读不出数据了,这是为什么呀?

[此贴子已经被作者于2005-8-7 13:30:01编辑过]

搜索更多相关主题的帖子: Chr NULL strBuf lDataBufSize FONT 
2005-08-07 13:07
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 
strBuf = String(lDataBufSize, Chr$(0)) 意思就是将 strBuf 填充为 lDataBufSize 个空字符(因为后面 strBuf 需要存储密码,所以先要设置 strBuf 的长度),lDataBufSize 已经在第一个 RegQueryValueEx 函数中被赋予了值。RegQueryValueEx 函数返回的字符串值保存在第四个参数 strBuf 中。 当 RegQueryValueEx 函数返回了密码到 strBuf 后,此时的 strBuf 的值并不是真正的密码,因为它还包含 Chr $(0),所以要使用 Left 函数获取 strBuf 从第一个字符开始到 strBuf 中发现第一个 Chr(0) 字符的位置,也就是 Left$(strBuf, InStr(1, strBuf, Chr$(0) - 1)。

[此贴子已经被作者于2005-8-7 16:11:13编辑过]

2005-08-07 16:06
jionjion
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-7-21
收藏
得分:0 
leon2一席话让我恍然大悟,多谢了。

我是菜鸟中的菜鸟。 QQ:103248112
2005-08-07 21:08
jionjion
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-7-21
收藏
得分:0 
但我还有一个地方不明白,再麻烦一下,谁叫我是菜鸟呢,提的问题都这么菜。
按照leon2的意思,那么InStr(1, strBuf, Chr$(0)这一句,应返回Chr$(0)在strBuf
中处在第几个的值,比如说我密码是六位,那么e=InStr(1, strBuf, Chr$(0),e的值
应该是7,但我让Text1.Text=e时,Text1中却什么也没有,这是怎么回事啊?

我是菜鸟中的菜鸟。 QQ:103248112
2005-08-07 21:25
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 
不可能的,除非 Text1.Text=e 语句下面有一条语句把 Text1 的内容清除了。
2005-08-08 10:16
jionjion
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-7-21
收藏
得分:0 
哦!是吗,多谢leon2老兄了。

我是菜鸟中的菜鸟。 QQ:103248112
2005-08-08 20:47
快速回复:[求助]关于NULL和Chr$(0)的问题,请大家帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014356 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved