VB 的基本用法1

前端之家收集整理的这篇文章主要介绍了VB 的基本用法1前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 1. VB中的数据类型;
  2. 2. VB中的常量与变量;
  3. 3. VB中的运算符;
  4. 4. VB中的流程控制语句。
  5.  
  6.  
  7. 1VB中的数据类型
  8. 基本数据类型
  9.  
  10. •比较特别的有对象类型和变体类型。Object 对象类型可以简单的理解成为对控件对象的引用;Variant 变体类型可以算是VB中的特殊类型,由于它的存在常常让人对VB的数据类型检查产生误解。VB在变量声明时,如果不指定变量类型则VB就将为该变量指定为 Variant 类型。
  11. •在最常用的数据类型中,特别要注意的就是 Integer 整型,之所以要特点注意就是因为它的值域很小,在使用中可能会产生数值溢出,通常的做法是在VB中直接使用 Long 来替换全部的 Integer
  12. •表中可以看到有个“类型符”列,它是声明变量类型的简化形式。
  13. 自定义数据类型 / 枚举类型
  14.  
  15. PPT中只简述了类型的声明语法,实际上这两种类型的用处极大,通过对它们的使用可以让你的程序更加具有有读性和面向对象的特点,呵呵。来看看俺的示例代码,从中应该可以有点感觉(在VB6中书写枚举类型的变量时可是会有弹出提示的哟)。
  16. Option Explicit
  17. ' 这里使用了一个自定义类型来表现登录中的关键信息
  18. ' 通过这里的使用将登录中相互关联的3属性绑在一起
  19. Private Type typLogInfo
  20. UserName As String ' 登录用户名
  21. Pwd As String ' 登录密码
  22. LogState As enuLogState ' 登录结果
  23. End Type
  24. ' 这里的枚举类型表现了登录的结果,从下面可以看到对于代码的可读性可以有很大的改善
  25. Public Enum enuLogState
  26. Success = 0 ' 登录成功
  27. Faile ' 登录失败
  28. End Enum
  29.  
  30. ' 这是登录窗体上的"登录"按钮的Click事件
  31. Private Sub cmdOK_Click()
  32. Dim LoginInfo As typLogInfo ' 声明变量
  33. ' 存入登录用户名以及密码以便下面的检查时使用
  34. LoginInfo.UserName = Trim (txtUserName.Text)
  35. LoginInfo.Pwd = Trim (txtPassword.Text)
  36. ' 检查登录名称及密码是否正确
  37. Call loginCheck(LoginInfo)
  38. ' 根据检查的结果来分支逻辑
  39. If LoginInfo.LogState = Success Then ' 这里可以看到枚举对于改善代码的可读性提供了极大帮助
  40. MsgBox " 欢迎您: " & LoginInfo.UserName
  41. Else
  42. MsgBox " 登录失败 "
  43. End If
  44. End Sub
  45.  
  46. ' 这是一个自定义的过程,利用它来做登录检查
  47. ' 过程具有一个typLogInfo类型的参数,外部将登录的信息传进来
  48. Private Sub loginCheck(logInfo As typLogInfo)
  49. ' 检查登录名称及密码是否正确
  50. If txtUserName = " ddm " And txtPassword = " 123 " Then
  51. ' 通过了登录检查
  52. logInfo.LogState = Success
  53. Else
  54. ' 登录失败
  55. logInfo.LogState = Faile
  56. End If
  57. End Sub
  58. 如果你是一位VB的新手(写过几段小程序),看过上面的代码后就应该能够体会到这两种类型的优势所在。不过就培训后的效果来看,这段代码对于真正的初学者是一点效果也没有,哎...。
  59. 2、VB中的常量与变量
  60. •常量,在VB中最为常见的就是VB常量;常量的最大用处就是助记(VB支持中文,但是中文编程也不能滥用,因此在常量中使用是比较好的选择)
  61. Public Const 单位资料表 As String = " DAD6CPP "
  62.  
  63. •变量,变量的声明需要注意。因为VB支持隐式声明(就是不声明)和声明时省略数据类型,这两种情况下变量并不是没有类型,而是 Variant 类型。
  64. Public Sub doSomthing()
  65. x = 1
  66. Dim y
  67. Dim i1,i2,i3 As Long
  68. End Sub
  69.  
  70. 这是三个例子,其中的变量 X 和 Y 都是 Variant 类型,这个比较看出,注意的是第3行声明,这是极易出错的地方,只有 i3 是Long,i1、i2 都是 Variant。
  71. 3、VB中的运算符 •连接运算符多用 & 就好,+ 对两边操作数会有类型要求
  72. •全部的运算符没什么可好说的,按规矩来即可,只是要注意一点在使用运算符时多用括号比依赖记忆的效果要好。
  73. 4、VB中的流程控制语句 •条件语句 IF ... Then ... Else ... EndIF,如果是单条语句用 IIF函数 来替换也是不错的,在使用IF语句时必须注意将 Else 写全,这对于日后的调试有很大的益处(当你找半天都没能发现错误所在时就知道了)。
  74. •分支语句 Select Case ... Case ... Case Else ... End Select,Case表达式所支持的语法非常的灵活性,这样使得分支语句可使用的范围非常的广,它在特定情况下可有效改善 多IF条件 代码可读性下降的问题。下面来看看对上面示例的改善过程:
  75. Option Explicit
  76. ' 这里使用了一个自定义类型来表现登录中的关键信息
  77. ' 通过这里的使用将登录中相互关联的3个属性绑在一起
  78. Private Type typLogInfo
  79. UserName As String ' 登录用户名
  80. Pwd As String ' 登录密码
  81. LogState As enuLogState ' 登录结果
  82. End Type
  83. ' 这里的枚举类型表现了登录的结果,从下面可以看到对于代码的可读性可以有很大的改善
  84. Public Enum enuLogState
  85. Success = 0 ' 登录成功
  86. PwdFaile ' 密码错误
  87. Faile ' 登录失败
  88. End Enum
  89.  
  90. ' 这是登录窗体上的"登录"按钮的Click事件
  91. Private Sub cmdOK_Click()
  92. Dim LoginInfo As typLogInfo ' 声明变量
  93. ' 存入登录用户名以及密码以便下面的检查时使用
  94. LoginInfo.UserName = Trim (txtUserName.Text)
  95. LoginInfo.Pwd = Trim (txtPassword.Text)
  96. ' 检查登录名称及密码是否正确
  97. Call loginCheck(LoginInfo)
  98. ' 根据检查的结果来分支逻辑,这里示例的是IF嵌套
  99. If LoginInfo.LogState = Success Then ' 这里可以看到枚举对于改善代码的可读性提供了极大帮助
  100. MsgBox " 欢迎您: " & LoginInfo.UserName
  101. Else
  102. If LoginInfo.LogState = PwdFaile Then
  103. MsgBox " 密码错误 "
  104. Else
  105. MsgBox " 用户不存在 "
  106. End If
  107. End If
  108. End Sub
  109.  
  110. ' 这是一个自定义的过程,外部将登录的信息传进来
  111. Private Sub loginCheck(logInfo As typLogInfo)
  112. ' 检查登录名称及密码是否正确,这里示例了使用ElseIf语句
  113. If txtUserName = " ddm " And txtPassword = " 123 " Then
  114. ' 通过了登录检查
  115. logInfo.LogState = Success
  116. ElseIf txtUserName = " ddm " Then
  117. ' 用户名正确,密码错误
  118. logInfo.LogState = PwdFaile
  119. Else
  120. ' 用户名错误
  121. logInfo.LogState = Faile
  122. End If
  123. End Sub
  124.  
  125. 这里的登录状态只使用了3种状态,可以看到 cmdOK_Click 事件中对状态的检查使用的是多条IF,如果状态更多的话那么这里的代码会显得更加的繁琐,看看CASE能够给我们带来什么。
  126. ' 这是登录窗体上的"登录"按钮的Click事件
  127. Private Sub cmdOK_Click()
  128. Dim LoginInfo As typLogInfo ' 声明变量
  129. ' 存入登录用户名以及密码以便下面的检查时使用
  130. LoginInfo.UserName = Trim (txtUserName.Text)
  131. LoginInfo.Pwd = Trim (txtPassword.Text)
  132. ' 检查登录名称及密码是否正确
  133. Call loginCheck(LoginInfo)
  134. ' 根据检查的结果来分支逻辑
  135. Select Case LoginInfo.LogState
  136. Case enuLogState.Success
  137. MsgBox " 欢迎您: " & LoginInfo.UserName
  138. Case enuLogState.PwdFaile
  139. MsgBox " 密码错误 "
  140. Case enuLogState.Faile
  141. MsgBox " 用户不存在 "
  142. Case Else
  143. MsgBox " 未知结果 "
  144. End Select
  145. End Sub
  146.  
  147. 这里的分支比较少,如果多的话优势则更明显。
  148. •循环语句 For ... Next / For Each ... Next,这里举一个使用 For Each 语句的示例,这种形式的运用比较多:
  149. ' 清空文本框的内容
  150. Private Sub clearText()
  151. Dim objTextBox As Control
  152. For Each objTextBox In Me .Controls ' 使用FOR EACH在窗体的控件集合中遍历
  153. If TypeName (objTextBox) = " TextBox " Then
  154. objTextBox.Text = ""
  155. End If
  156. Next
  157. End Sub
  158.  
  159. Private Sub Form_Load()
  160. Call clearText ' 清空窗体上文本框的内容
  161. End Sub
  162.  
  163. •循环语句 Do ... Loop,这个需要注意的一点就是要在适当的时候记住要能够终止。
  164. •循环语句中选用 For ... Next 还是 Do ... Loop 没有特定的要求。For 更适于循环次数明确的情况,而 Do 适于循环次数不明,但终止条件了解的情况。

猜你在找的VB相关文章