16313.html

来自「VB技巧问答10000例,是一个教程」· HTML 代码 · 共 31 行

HTML
31
字号
<html>
  <head>
    <title>Re: 程式问题</title>
  </head>
  <body bgcolor="#FFFFFF" vlink="#808080">
    <center>
      <h1>Re: 程式问题</h1>
    </center>
<hr size=7 width=75%>

<hr size=7 width=75%><p>
Posted by <a href="mailto:honey0@tcts1.seed.net.tw">Honey</a> on July 28, 1999 at 18:51:14:<p>
In Reply to: <a href="16289.html">程式问题</a> posted by j on July 28, 1999 at 13:04:35:<p>
: <br>: 请问以下的两行程式有什么作用?<br>: 以下的两行程式执行过后只得到长度为0的空字串,<br>: 为什么要大费周章的打那么多字?<p>: CloseStr = String(255, 0)<br>: CloseStr = Left(Closestr, InStr(1, Closestr, Chr(0)) - 1)<p>: 拜托各位帮帮我……<br>: 小弟感激不尽、感激不尽<p>我想这是某个程式的片段吧 <br>试试以下程式<br>Dim Closestr As String<br>Closestr = "Hello Honey" & String(244, 0)<br>Closestr = Left(Closestr, InStr(1, Closestr, Chr(0)) - 1)<br>Me.Caption = Closestr<br>你会发现执行后Closestr这个变数剩下Hello Honey<br>原来填的空白部分消失了 若原来是一堆空白字串<br>空白去掉后 当然只剩空字串了<p>这个程式对VB的用途 是在API上 <br>当某个API需要用传址(也就是将某个变数在记忆体上的位址传给程式)<br>的方式传回某个字串 这时得传入一个变数给他 <br>他会将这个变数改成他要传回的值<br>而Dim Closestr As String<br>为可变长度的字串 实际上在记忆体上只有占用只有10个位元组<br>传入API也只有这样的长度 当字串超过这个长度时 后面的部分变看不到了<br>比较保险的办法就是先给他一个很长的空白字串->CloseStr = String(255, 0) <br>当API在CloseStr 填入一段不为空白的字串后<br>将后面的空白去掉 ->Closestr = Left(Closestr, InStr(1, Closestr, Chr(0)) - 1)<br>懂吧
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 16313-->
<!--top: 16339--><li><a href="16339.html">多谢小琳和Honey的帮助</a> <b>j</b> <i>01:05:45 7/29/99</i>
(<!--responses: 16339-->0)
<ul><!--insert: 16339-->
</ul><!--end: 16339-->
<!--top: 16337--><li><a href="16337.html">感激不尽……</a> <b>j</b> <i>23:31:15 7/28/99</i>
(<!--responses: 16337-->0)
<ul><!--insert: 16337-->
</ul><!--end: 16337-->
</ul><!--end: 16313-->
<br><hr size=7 width=75%><p>

</body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?