帅一生 發表於 2022-12-27 13:38:14

VB十七种可用一行代码完成判断的技巧代码

<p>1、下列代码,则是对逻辑运算不清楚造成</p>
<div class="jb51code"><pre class="brush:vb;">If A=true Then
C= Not B
Else
C= B
End If</pre></div>
<p>可以:<br />C=A XOR B</p>
<p>2、如果加上下列代码:</p>
<div class="jb51code"><pre class="brush:vb;">If C=true then
D=28
Else
D=29
End IF</pre></div>
<p>D=Iif((A XOR B),28,29)</p>
<p>3、布尔赋值,常被人忽略,如:</p>
<div class="jb51code"><pre class="brush:vb;">If A= 13 then
B=True
Else
B=False
End If</pre></div>
<p> 可以:<br />B = A = 13<br /> 或者:<br />B = (A = 13)<br /> 我更喜欢用后者,这样代码易于看懂。</p>
<p>4、字串有效性检测:</p>
<p>If IsNull(StrOrg) or StrOrg=&rdquo;&rdquo; then<br /> 可以:<br />If Len(StrOrg &amp; &ldquo;&rdquo;)&lt;&gt;0 then</p>
<p>5、字串重复次数</p>
<p>RepeatCount=Ubound(Split(StrOrg,StrFind))<br /> 同样,如果要对字串有效性判断:<br />RepeatCount=Iif((Len(StrOrg &amp; &ldquo;&rdquo;)=0), 0, Ubound(Split(StrOrg,StrFind))</p>
<p>6、有时需要判断字串数组中是否有这一元素,这时最好不用数组,而用分隔符字串,于是:</p>
<p>If Len(OrgStr)= Len(Replace(OrgStr,FindStr)) then<br /> 则表明,此元素不存在。</p>
<p>7、对数组初始化,最好用变体,这样,也是一行语句,如:</p>
<p>IntArr=Array(12,28,29,30,31,52,24,60)<br /> 注意,此时需要用变量后缀。上面代码,如要定义为长整型,则<br />IntArr=Array(12&amp;,28&amp;,29&amp;,30&amp;,31&amp;,52&amp;,24&amp;,60&amp;)<br /> 要将IntArr 定义为变体</p>
<p>8、判断大小:</p>
<p>IntMax = Iif((IntA &gt; IntB), IntA, IntB)<br />IntMin = Iif((IntA &lt; IntB), IntA, IntB) 9、按索引的Select Case Function GetChoice(Ind As Integer) GetChoice = Choose(Ind, &quot;Speedy&quot;, &quot;United&quot;, &quot;Federal&quot;) End Function 10、按表达式的Select Case(这种转换要求不能有Case Else的才可以这样,否则会出错) Function MatchUp (CityName As String) Matchup =tch(CityName = &quot;London&quot;, &quot;English&quot;, CityName _ = &quot;Rome&quot;, &quot;Italian&quot;, CityName = &quot;Paris&quot;, &quot;French&quot;) End Function 11、使用Iif,前面已有 Function CheckIt (TestMe As Integer) CheckIt = IIf(TestMe &gt; 1000, &ldquo;Large&rdquo;, &ldquo;Small&rdquo;)<br />End Function</p>
<p>12、字串动态数组是否已初始化</p>
<p>If Len(Join(StrArr))=0 then<br /> 字串动态数组未初始化。</p>
<p>13、指定只读CombBox的当前值,如果能确认这个值就在其中,一定不会错,则:</p>
<p>Combbox=CurValue<br /> 注意,不可以写成:<br />Combbox.text=CurValue<br /> 前者实际是写 _default 这个属性,而后者则是写Text 因为只读,则会导致错误</p>
<p>14、如果有下列代码:</p>
<div class="jb51code"><pre class="brush:vb;">Select Case CombBox.text
Case “London”
Call FuncStrLang(3)
Case “Rome”
Call FuncStrLang(5)
……
End Select</pre></div>
<p> 则可以用ItemData属性,即:<br />&ldquo;London&rdquo; 的 Itemdata=3<br />&ldquo;Rome&rdquo; 的 Itemdata=5<br /> 于是:<br />Call FuncStrLang(CombBox.ItenData)</p>
<p>15、如果有下列代码:</p>
<div class="jb51code"><pre class="brush:vb;">Select Case CombBox.text
Case “London”
Call ClsCity.CityIntr_London
Case “Rome”
Call ClsCity.CityIntr_Rome
……
End Select</pre></div>
<p> 只要:<br />CallByName ClsCity, &ldquo;CityIntr_&rdquo; &amp; CombBox.text, vbMethod</p>
<p>16、复制数组到另一变量中:<br />Dim iOrgArr(30) as Integer<br />Dim iDesArr as Variant<br />&hellip;&hellip;<br />iDesArr = iOrgArr<br /> 即主变体直接取数组指针,则所有元素都复制了过去。</p>
<p>17、如果有下列代码:</p>
<p>Do While Not RsAdo.Eof<br />If len(DesStr)&lt;&gt;0 then<br />DesStr=DesStr &amp; VbTab<br />End if<br />DesStr=RsAdo!Rec_id<br />RsAdo.MoveNext<br />loop</p>
                           
                            <div class="art_xg">
                              
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: VB十七种可用一行代码完成判断的技巧代码