登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

miaozk2006

点滴积累与收藏:关于技术,关于生活

 
 
 

日志

 
 

VB 一行代码的诀窍  

2013-02-10 10:38:26|  分类: 编程-VB |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

摘自:(黑客编程网)

编程要讲效率,尽管现在的计算机,速度是不成问题,但是,如果一行代码能完成,为什么要用更多的代码呢?现在介绍VB中一些可用一行代码完成的技巧。

1、下列代码,则是对逻辑运算不清楚造成
If A = True Then
    C = Not B
Else
    C = B
End If
 可以:
C=A XOR B


2、如果加上下列代码:
If C = True Then
    D = 28
Else
    D = 29
End If


D=Iif((A XOR B),28,29)

3、布尔赋值,常被人忽略,如:
If A = 13 Then
    B = True
Else
    B = False
End If
 可以:
B = A = 13

 或者:
B = (A = 13)

 我更喜欢用后者,这样代码易于看懂。

4、字串有效性检测:
If IsNull(StrOrg) Or StrOrg="" then

 可以:
If Len(StrOrg & "")<>0 then


5、字串重复次数
RepeatCount=Ubound(Split(StrOrg,StrFind))

 同样,如果要对字串有效性判断:
RepeatCount=Iif((Len(StrOrg & "")=0), 0, Ubound(Split(StrOrg,StrFind))


6、有时需要判断字串数组中是否有这一元素,这时最好不用数组,而用分隔符字串,于是:
If Len(OrgStr)= Len(Replace(OrgStr,FindStr)) then

 则表明,此元素不存在。


7、对数组初始化,最好用变体,这样,也是一行语句,如:
IntArr=Array(12,28,29,30,31,52,24,60)

 注意,此时需要用变量后缀。上面代码,如要定义为长整型,则
IntArr=Array(12&,28&,29&,30&,31&,52&,24&,60&)

 要将IntArr 定义为变体


8、判断大小:
IntMax = Iif((IntA > IntB), IntA, IntB)

IntMin = Iif((IntA < IntB), IntA, IntB)

9、按索引的Select Case
Function GetChoice(Ind As Integer)
       GetChoice = Choose(Ind, "Speedy", "United", "Federal")
End Function


10、按表达式的Select Case(这种转换要求不能有Case Else的才可以这样,否则会出错)
Function MatchUp(CityName As String)
    MatchUp = tch(CityName = "London", "English", CityName _
              = "Rome", "Italian", CityName = "Paris", "French")
End Function



11、使用Iif,前面已有
Function CheckIt (TestMe As Integer)
        CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function


12、字串动态数组是否已初始化
If Len(Join(StrArr))=0 then

 字串动态数组未初始化。


13、指定只读CombBox的当前值,如果能确认这个值就在其中,一定不会错,则:
Combbox=CurValue

 注意,不可以写成:
Combbox.text=CurValue

 前者实际是写 _default 这个属性,而后者则是写Text 因为只读,则会导致错误
14、如果有下列代码:
Select Case CombBox.Text
    Case "London"
    Call FuncStrLang(3)
    Case "Rome"
    Call FuncStrLang(5)
    ......
End Select


 则可以用ItemData属性,即:
"London" 的 Itemdata=3
"Rome" 的 Itemdata=5

 于是:
Call FuncStrLang(CombBox.ItenData)


15、如果有下列代码:
Select Case CombBox.Text
    Case "London"
    Call ClsCity.CityIntr_London
    Case "Rome"
    Call ClsCity.CityIntr_Rome
    ......
End Select


 只要:
CallByName ClsCity, "CityIntr_" & CombBox.text, vbMethod


16、复制数组到另一变量中:
Dim iOrgArr(30) as Integer
Dim iDesArr as Variant
......
iDesArr = iOrgArr

 即主变体直接取数组指针,则所有元素都复制了过去。


17、如果有下列代码:
Do While Not RsAdo.EOF
    If Len(DesStr) <> 0 Then
        DesStr = DesStr & vbTab
    End If
    DesStr = RsAdo!Rec_id
    RsAdo.MoveNext
Loop
 则只要:
DesStr=RsAdo.GetString()

摘自:网络整理

VB相关


VB 释放资源文件到指定目录函数

VB 读取资源文件里面的字符串

VB中资源文件.res的使用方法详解

VB6.0中创建和使用文本资源文件

VB WindowsMediaPlayer 播放

vbWindowsMediaPlayer的常用属性和方法

VB Environ系统环境变量函数大全

VB 去除文本框粘贴功能

VB LISTBOX

VB 删除数组中的重复元素

VB数组快速排序算法

关于三个概念:ActiveXOLECOM

VB 获得磁盘的文件系统

VB中用API实现文件拖放

加密算法-MD5算法

VB中使用MD5算法

VB 全局热键HOOK (不占系统资源版本)

VB 小技巧自定义TextBox文本框右键菜单

VB 写下载者代码

VB 一行代码的诀窍

VBS教程-wscript对象

vb枚举进程

VB中如何让线程或进程在指定的CPU上运行

VB判断指定的WORD文档是否被打开

VB如何读取快捷方式的目标路径

VBAPI控制输入法状态

为系统加载右键注册控件选项【VB 注册控件】

VB如何根据窗口标题获得进程名称

VB快速查找大型文件中包含的字符串

VB实现可执行文件运行时自删除

VB 打开txt,bat,jpg 任意后缀程序

VB 写文件关联程序

VB 自启动建立右键菜单

VB 判断IP能否ping

VB FTP操作类(可上传、下载、创建文件夹等等)

VB部分文件汇总B

Vb 求素数最经典的方法也是最快的方法

vb用数组方式快速导出MSFlexGrid表格数据到Excel表格中

VBMsFlexGrid控件的使用细则

点击MSFlexGrid数据控件的标题进行数据排序

VB 获取鼠标坐标

VBNEW的用法(申请内存空间)

VB CreateObject函数

VB中的New CreateObject的区别

VB ListBox 添加不重复的值

VB 单击ListView控件某列表头进行排序

VB 简单实现简体与繁体互转

VB 阿拉伯数字转换为中文大写数值函数

VB 获取Textbox文本框中的行数函数


更多精彩>>>
  评论这张
 
阅读(1022)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018