VB语言基础
- 格式:doc
- 大小:107.00 KB
- 文档页数:23
vb知识点总结VB(Visual Basic)是一种广泛应用于软件应用开发的编程语言,它具有简单易学、功能强大和灵活的特点。
本文将总结一些VB的知识点,从基础概念到高级应用,帮助读者更好地理解和运用VB。
1. VB的基础概念VB是一种基于事件驱动的编程语言,它的核心思想是根据用户的操作(如点击按钮、输入文本等),来触发相应的事件处理程序。
在VB中,开发者可以通过编写代码,来定义和控制这些事件的响应行为。
此外,VB还支持对象导向编程(OOP),开发者可以使用类、对象等概念来组织和管理程序。
2. VB的开发环境VB的开发环境提供了直观、友好的界面,使得开发者可以方便地创建、编辑和调试代码。
在VB的开发环境中,开发者可以通过拖放控件的方式来设计用户界面,例如窗体、按钮、文本框等。
同时,开发者可以在代码编辑器中编写事件处理程序,实现自定义功能。
3. VB的数据类型与变量在VB中,数据类型是用来定义变量和常量的数据类型。
常见的数据类型包括整型、浮点型、字符串型等。
开发者可以根据需要选择合适的数据类型,并使用变量来存储和操作数据。
VB还支持变量的声明和初始化,开发者可以通过赋值语句来初始化变量的值。
4. VB的控件与事件VB提供了丰富的控件库,包括文本框、按钮、列表框等。
开发者可以通过操作这些控件,实现用户界面和功能的设计。
每个控件都有一些内置的事件,例如按钮的点击事件、文本框的文本变化事件等。
开发者可以通过编写事件处理程序,来响应这些事件,实现相应的功能。
5. VB的函数与过程函数和过程是VB中组织和管理代码的重要方式。
函数是具有返回值的代码块,可以接受输入参数并返回结果;而过程则是不返回值的代码块,仅执行一系列操作。
开发者可以自定义和调用函数或过程,使得代码更加模块化和可复用。
6. VB的条件和循环结构条件和循环结构是控制程序执行流程的重要手段。
VB提供了if语句、select语句等条件结构,可以根据不同的条件执行不同的代码块。
第3章VB语言基础3.1 基本要求1. 掌握VB的数据类型和变量的定义及赋值方法;2. 掌握各种运算符的用法和表达式的建立方法;3. 掌握常用内部函数的用法;4. 掌握输入/输出函数及VB的输入输出方法。
3.2 知识点1. VB数据类型(1)标准数据类型它是系统定义的数据类型。
主要有字节型(Byte)、整型(Integer)、长整型(Long)、单精度型(Single)、双精度型(Double)、货币型(Currency)、字符数据类型(String)、日期数据类型(Date)、逻辑数据类型(Boolean)、对象数据类型(Object)、变体数据类型(Variant)。
✧字节型数据在内存中占1个字节,无符号,取值范围为0-255。
✧整型数据在内存中占2个字节,可以表示1个带符号的整数,取值范围为-32768-+32767。
✧长整型数据在内存中占4个字节,可以表示1个带符号的整数,取值范围为-231-+231-1✧单精度型数据在内存中占4个字节,可以表示1个带符号的实数。
有效数字精确到7位,表示数的范围为-3.402823E38-+ 3.402823E38✧双精度型数据在内存中占8个字节,可以表示1个带符号的实数。
有效数字精确到15位或16位十进制数。
✧货币型数据采用8个字节存放。
可以表示1个带符号的实数,但小数部分保留4位有效数字,整数可以达到15位精确数字。
✧日期型数据表示由年、月、日组成的日期信息或由时、分、秒组成的时间信息。
用符号“#”表示日期型数据。
✧逻辑数据类型采用2字节存储,逻辑数据类型只有两个值:True(真)、False(假)。
✧字符数据类型用于表示字符的数据。
存储时根据实际情况安排字节数,是不定长的。
字符可以包括西文字符和中文字符及其他可以表示出来的形式。
VB中字符型数据以Unicode码存放,一个西文字符和中文字符均占2个字节。
✧对象型数据用来表示图形、OLE对象或其他对象,占用4个字节。
V B语言基础一、数据类型1、数值型:取值范围:Byte(字节型)━占1字节; 0~255无符号Integer(整型)━占2字节; -32768~32767long(长整型)━占4字节; -2147483648~2147483647single(单精度浮点)━占4字节;略Double(双精度浮点)━占4字节;略Currency(货币型)━占8字节小数点左15位,右4位(精确定点数据类型)2、逻辑型:Boolean(布尔型)━占2字节; true或false3、字符串型:String¡ª¡ª定长型占字符串长度,变长型再加104、日期型:Date(日期型)━占8字节 100-1-1~9999-12-315、对象型:Object━占4字节;任何Object引用6、变体型:Variant━变体型数字占16字节,变体型字符占22字节+字符串长注:此类型还包含三种特定值:Empty;Null;Error;•7、用户定义的数据类型:•用户可以利用Type语句定义自己的数据类型。
格式如下•Type 数据类型名•数据类型元素名As 类型名•……•End Type•用Type可定义类似于C语言中的结构体类型。
例如:•Type Date_Rec•RYear As Integer•RMonth As String*3•RDay As Integer•End Type•注:记录类型中的元素可以是字符串,但必须是定长字符串,其长度由类型名加上一个星号和常数指明。
•数据类型转换函数:•函数名及书写格式转换结果•CBool(表达式)布尔型•CCur(表达式)货币型•CByte(表达式)字节型•CDate(表达式)日期型•CDbl(表达式)双精度•CSng(表达式)单精度•CInt(表达式)整型•CLng(表达式)长整型•CStr(表达式)字符串•Cvar(表达式)变体型•二.变量•1.变量名V中变量的命名遵从标识符命名原则:必须以字母开头;变量中间不能有空格;不能使用VB关键字;•2.变量的声明VB允许使用不声明的变量,即一个变量未经声明就可以在程序中使用。
这种变量使用方式称为隐含变量声明。
(使用隐含变量时,VB会自动创建变量,并赋予它变体类型。
在为其指定值之前,其值为Empty,当为它赋值后,会采用所赋值的类型作为自己的类型。
)•显式声明:•①用类型说明符:将类型说明符加在变量名的尾部;•②定义变量时指定其类型:•格式:Declare 变量名 As 类型名•其中的Declare 可以是Dim ,Static, Redim, Public中之一•③用Def type语句:Def type 字母范围•这里的Type是类型标志,Def是系统保留字,它们之间没有空格。
例如:DefInt D-J•该定义声明了D、E、F、G、H、I、J都是整型变量,而且以这些字母开头的变量名也都是整型变量。
•类型说明符:•%:整型;•& :长整型;•!:单精度浮点型;•# :双精度浮点型;•@ :货币型;•$ :字符串型;•字节、布尔、日期、对象及变体型没有类型说明符。
•注意:•①Dim a,b,c As Integer是错误的。
只有c被声明成Integer,而a,b缺省为Variant类型。
•②如果使用Dim x As Integer语句声明了变量x为Integer,而在后面又使用带有类型说明符的该变量,如x$,x!,x@和x#,程序运行时就会产生“duplicate definition”错误。
•③使用不带As的Dim语句,会被声明成变体类型的变量。
•④通过不带长度说明的字符串声明语句可以声明变长字符串。
•⑤对于声明布尔型的变量,其缺省值为False ;•⑥为声明为Date类型的变量赋值时,日期值应放在一对#之间,且多种日期和时间格式在VB中都是有效的。
•3.变量的作用域和生存期:•变量的作用域——指变量的有效作用范围,也就是变量可以被访问的范围。
按以下三种方式来定义变量的作用范围:•范围说明•过程在过程内使用Dim或Static•私有在模块开头加上Dim或Private•公共在模块开头加上Public•变量的生存期——指VB保存该变量值的时间,是变量在整个程序运行过程中的有效生存时间1)过程层变量——过程层变量是指在过程或函数内部定义的变量,这种变量无论是用Dim还是Static声明,其作用域都只是该过程或函数体,在过程或函数外不能引用;2)窗体层变量——窗体层变量是指在窗体的通用部分声明的变量,即不是在任何一个窗体内的过程或函数中声明的变量。
它的作用范围至少是窗体的存在范围,也就是说在窗体内的每个过程或函数中都可以使用窗体层变量。
•窗体层变量的声明有三种方式:•用Dim语句声明。
•用Private语句声明。
•用Public语句声明。
•对于用Dim和Private声明的窗体层变量,其作用范围都是在所声明的窗体范围内。
用Public声明的窗体层变量作为窗体公用数据成员,可以在其他窗体或模块中以“窗体名.变量”方式引用。
其作用可以大于当前窗体范围。
窗体层变量在本窗体所有过程中都是可见的。
•3)模块层变量——模块(Module)是构成VB工程(Project)的一部分,是包含数据和过程的集合。
定义模块层变量只需在模块的通用部分加入Dim,Private,Global或Public等声明语句即可。
用Dim和Private声明的模块层变量作用域为所在模块范围,而用Public和Global定义的模块层变量则可以全局使用。
•注:全局变量必须用Public或Global声明,不能用Dim•三.常量•常量是一个有意义的名字,用来表示程序运行时不变的数值和字符串。
•Visual Basic中的常量分为文字常量和符号常量两种,文字常量又可分为数字常量和字符串常量。
•符号常量(自定义常量):在程序中程序员用Const声明的常量。
•使用常量时应注意:•(1)用Const声明的常量在程序运行过程中是不能被重新赋值的。
•(2)在常量声明的同时赋值。
•(3)可以为声明的常量指定数据类型,如Const conVal As Currency=3.78,缺省时为所赋值的类型。
•(4)在用常量为常量初始化时注意,不可有循环引用。
例如:•模块1中:•Public const con1=con2+8 ……•模块2中:•Public Const con2= con1*3……•四.数组•1.数组的定义:•必须用Global或Dim语句定义。
Dim语句的语法格式如下:•Dim 数组名([lower To ] upper,[[lower To ] upper])[As type]•在这里,每对lower和upper为数组的一维,lower是该维下标的下限,upper是该维下标的上限,如不标明lower,其默认值为0。
Upper不可省略。
•例如:•(1)一维数组的定义:•Dim Record (5) As Integer•定义了一个有六个数据元素的整型数组•(2)二维数组的定义•Dim Matrix(2,3) As Integer•该数组定义了一个二维数组,可以存储12个整型数,三行四列下标:00,01,02,03,10, (23)•2.动态数组•带有空()的Dim可以声明一个动态数组,如:•Dim dynArray( )•然后,可用ReDim语句在一个过程或函数中定义动态数组的维数和元素个数。
申请或重申请存储空间的一般格式为:•ReDim [Preserve ]数组名([lower TO ] upper [,[lower To] upper]) [As Type]•其中,Preserve为可选项,表示是否保护己有数据。
缺省时为不保护。
•例如:ReDim dynArray(10) //为动态数组申请10个单元•ReDim Preserve myArray (Ubound(myArray)+10)•其中,Ubound函数返回数组的指定维的上限。
•这是一个保留原数据的增量分配数组•五、枚举类型:•当一个变量只有几种可能的值时,可将这个变量定义为枚举类型。
•枚举类型的声明放在窗体模块、标准模块或公用类模块中的声明部分,用Enum语句来定义,格式如下:• [Public|Private] Enum 类型名称•成员名[=常数表达式]•成员名[=常数表达式]•¡¡• End Enum••默认情况下,枚举类型中的第一个常数被初始化为0,其后的常数逐项递增1。
•例如:Enum Days•Saturday•Sunday•Monday•Tuesday•Wednesday•Thursday•Friday•End Enum•例如在如上定义的Days枚举类型的基础上,有如下单击某按钮的过程:•Private Sub Command1_Click()•Dim MyDay As Days•MyDay = Saturday•If MyDay < Monday then•MsgBox “It’s the weekend !”•End If•End Sub•MyDay是一个枚举变量,Saturday的值为0,而Monday 的数值为2,If中的条件成立•六、运算符与表达式•1.赋值运算符:Visual Basic中的赋值运算符是“=”。
•2.数学运算符:•优先级运算符说明•高^指数运算,如2^3=8•-负号运算符•* / 乘除运算,其中除法(/)的所得结果•为实数•\ 整除。
所得结果为实际结果•的整数部分•Mod 取模运算符,两数相除取余数•+ - 加、减运算•低& 连接字符串。
•3.关系运算符:=(等于);<>或><(不等);•<(小于);>(大于);<=(小于等于);>=(大于等于);like (比较样式);Is(比较对象变量)•4.逻辑运算符:•逻辑运算用于判断操作数之间的逻辑关系。
VB提供了非(Not)、与(And)、或(Or)、异或(Xor)、相等(Eqv)和隐含(Imp)逻辑运算。
逻辑运算符的优先级低于数学运算符和关系运算符。
逻辑运算符本身也有优先级,其顺序为Not,And,Or,Xor, Eqv,Imp。
•5、表达式的执行顺序::•1)函数运算;•2)算术运算;•3)关系运算;(优先级:=,<,>,<>,<=,>=)•4)逻辑运算;•注:乘除法同时出现时,遵循从左到右顺序;括号的运算总是优先;字符串连接(&)不是算术运算符,但其优先顺序在所以算术运算符之后,又优先于其他运算符•七、输入与输出:•InputBox函数:InputBox函数可以产生一个对话框,用于将用户从键盘输入的数据作为函数的返回值返回到当前程序中。