vb 数据类型与语法.doc
文本预览下载声明
Public 声明的就是全局的..
在用VB开发软件时,经常需要在不同的窗体间共享数据,但在过多的使用全局变量时不便于软件的调试和修改。通常有两种解决方法。
第一种方法:定义全局变量,然后在各个窗体中直接使用,例如
Public strCustomerID As String
Public strCustomerName As String
第二种方法:添加一个模块专门用于定义变量,然后定义一些Public过程或函数来设置和获取这些数据,例如
Dim strCustomerID As String
Dim strCustomerName As String
Public Sub SetCustomerID(CustomerID As String)
strCustomerID = CustomerID
End Sub
Public Function GetCustomerID() As String
GetCustomerID = strCustomerID
End Function
Public Sub SetCustomerName(CustomerName As String)
strCustomerName = CustomerName
End Sub
Public Function GetCustomerName() As String
GetCustomerName = strCustomerName
End Function
其实这两种方法都有缺点,使用第一种方法时,当过程或函数中过于频繁的使用全局变量时会给调试和修改程序带来很大的工作量,有时会产生灾难性的后果。使用第二种方法时,若共享数据很多,则需要定义很多的Set*和Get*函数。
代码基础:变量的简单定义格式:dim 变量名 这种定义未指明变量的数据类型,这时的变量类型是变体类型,它自动识别字符串或数字(字符串要加引号)。?数据类型的定义方法:?定义变量最简单的方法是用Dim关键字,它的语法:?Dim 【变量名】As 【数据类型】如:Dim Index As Integer也可以在一行中定义多个变量,如:Dim Index As Integer , Number As Long但把多个变量定义成同一类型不能写:Dim Index , Number As Integer ,这样实际index是变体变量。有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用%代替,长整型可以用代替,单精度可以用!,双精度实型可以用#定义,字符型用$,如刚才的第一个例子可以写成:Dim Index% 等价于 Dim Index As Integer对于常量的定义用Const定义,如:Const COLOR=255。const PI=3.1415926?注:变量一般用小写,常量则全部大写。对于程序中经常出现的数值,应设常量,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。重点笔记: 变量变量名要以字母开头,在变量名中唯一能用的符号是下划线(_),相同的大写或小写字母的变量,视为同一变量,即不区分大小写。变量的作用范围关健字:Public(公用), Private(单个模块),Dim(局部);在VB代码区域中包含四类模块区域:窗体,MDI窗体,标准模块,类模块。这是第一层;每一模块区域又分成了通用区域和过程区域,这是第二层。这就是VB的结构,各个区域之间界线分明。变量受这些因素的影响也要采用不同方式,标明它的作用范围是全局还是单个模块还是单个过程。1,在单个事件过程中可见的:在本过程内部用DIM关健字;2,在单个模块中可见的:在本模块顶部(窗体模块会标明通用字样)声明段用Private关健字(也可用DIM关健字);注意,不能在一个过程内部声明模块级变量。3,在所有模块可见的:在任一模块顶部(窗体模块会标明通用字样)声明段用Public关健字,注意:1,在Form窗体模块顶部的通用部分不能声明public的数组,常数,结构类型和API函数。2,在一个过程的内部不能声明公用变量。在一个事件中用DIM声明的局部变量,每次触发时产生,完成后消失,不会保留事件运行后的值;如果要一直保留一个局部变量的值,要使用--静态变量。在过程内部用static关健字声明,它能在第二次触发该事件时保留前一次运行结果,继续运算,而不会来个重新DIM,初始化,它只在运行时第一次触发该事件时进行初始化。注:静态变量如果要初赋值,不能直接进行,要根据变量未赋值的状态使用if语句,如lxn为变体变量:if lxn=EMPTY then lxn=336525,例下:Private Sub Command1_
显示全部