strTemp = String(100, Chr$(0))
GetTempPath 100, strTemp
strTemp = Left$(strTemp, InStr(strTemp, Chr$(0)) - 1)其中,GetTempPath的声明是这样的:
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long谢谢,谁来给俺解释下可以么
GetTempPath 100, strTemp
strTemp = Left$(strTemp, InStr(strTemp, Chr$(0)) - 1)其中,GetTempPath的声明是这样的:
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long谢谢,谁来给俺解释下可以么
解决方案 »
- 生成了96个picturebox的控件数组
- 怎样将一个自定义函数写入SQL 数据库的"用户定义的函数"中?
- 如何调用IE浏览器中的打印预览\打印功能对某一Html网页文件预览打印???
- 一个关于WebBrowser的菜鸟问题,请高手们帮帮忙!!!!谢谢了!!!!!
- 【请教】用过QBasic的看一下!【转】
- 哦耶,CSDN终于要关了,散分庆祝!
- 如何关掉conn。。。
- 初来贵论坛,送礼金咯
- 世界杯开赛在即,我来开盘口。。。。。欢迎参加!!!!!!!!!!!!!!!!!!
- 麻烦大家帮我吧下面的代码转换为VB。
- 怎样保存控件属性
- vb+SqlServer开发的程序用IS8。02打包后安装过程中发生奇怪的错误
我查msdn,chr的定义是这样的呀:Chr(charcode)
怎么后面又有个$符号,括号里面的0又是啥意思呀sorry,看似简单,不过我还真是不明白
Left$(strTemp, InStr(strTemp, Chr$(0)) - 1)获得Chr$(0)前面的字符,这才是真正
的windows临时文件目录字符串!
只是这个还不是特别清楚,Chr$(0)是啥字符呢,可以用别的表示么,比如Chr$(5),或者用Chr(0)表示可以么谢谢哦,想多了解一点
chr(ascii码),即把一个ascii码转换成字符,chr(0)也可以写成vbNullChar
这一句就把strTemp填充成一个由100个vbNullChar组成的缓冲区,用来接收GetTempPath返回的字符串
GetTempPath 100, strTemp
将GetTempPath返回的串放进strTemp中,100是返回串的长度
strTemp = Left$(strTemp, InStr(strTemp, Chr$(0)) - 1)
如果返回的串的长度小于100,所以strTemp后面还有若干的vbNullChar,所以需要用InStr找到第一个vbNullChar的位置,然后用Left取它从左到右的第一个字符起到找到的第一个vbNullChar的位置-1的位置的内容,也就是系统临时文件夹的路径这样可清楚?
C语言格式的字符串都是以 Chr(0) 作为结束标志(Windows显然遵循了C语言约定)而VB字符串不是以Chr(0)作为结束的。
MsgBox strTemp
GetTempPath 109, strTemp
MsgBox strTemp我认为后面一个msgbox出来的结果应该是临时文件夹的路径加上一些*号,可是,测试结果发现那些*号被自动去掉了,如果这样那我开始问的那个问题,不是不需要这一句了:strTemp = Left$(strTemp, InStr(strTemp, Chr$(0)) - 1)