(完整word版)VB语言基础
- 格式:doc
- 大小:107.01 KB
- 文档页数:30
VB基本知识介绍条件语句1、单分支结构(1)单行语句If <表达式>Then <语句块>(2)多行语句If<表达式> Then<语句块>Endif2、双分支结构If <表达式 > Then<语句块1>Else<语句块2>Endif3、多分支结构If <表达式> Then<语句块1>Else if <表达式2> Then<语句块2>……..Else<语句块n>Endif选择语句Select case<变量>Case <值列表1><语句块1>Case <值列表2><语句块2>………Case <值列表n-1><语句块n-1>Case Else<语句块n>End select注意:case指定的<值列表>可以是下面的4种情形之一:1)具体的值或表达式,例如 case 12) 一组枚举表达式,例如 case 1,3,53) 表达式1 To 表达式2 ,例如 case 1 to 10 ‘变量的值为1~10,包括1和104) Is 关系运算符表达式,例如 case Is >0 …变量的值大于0循环语句1)For ……. Next 语句这种语句用于循环次数已经确定的循环结构For i=0 to 10Sum=sum+iNext i2)Do ……. Loop 语句a)Do While …….LoopDO While <表达式>循环体[Exit Do]Loopb)Do …… Loop whileDo循环体[Exit Do]Loop While <表达式>c)Do Until …… LoopDo Until <表达式>循环体[Exit Do]Loop程序运行时先判断执行条件<表达式>,当表达式为False时,执行该循环体,直到表达式为True 时,则终止循环d)Do….Loop UntilDo循环体[Exit Do]Loop Until <表达式>其它控制语句GoTo语句GoTo语句使程序无条件跳转到过程中指定的语句行执行。
§3.1V i s u a l B a s i c语言字符集及编码规则一、V i s u a l B a s i c的字符集V i s u a l B a s i c的字符集就是指用V i s u a l B a s i c语言编写程序设计时所能用的所有符号的集合。
字符是构成程序设计语言的最小语法单位,每一种程序语言都有一个自己的字符集。
V i s u a l B a s i c使用U n i c o d e字符集。
◆基本字符包括:字母:大写英文字母A—Z;小写英文字母a—z。
数字:0一9;◆专用字符:空格!”#$%&‘()*+-/\^, .:;<>=?@[]_ {}|~等。
二、编码规则与约定(一)编码规则1、V i s u a l B a s i c代码中不区分字母的大小写。
2、在同一行上可以书写多条语句,但语句间要用冒号“:”分隔。
3、若一个语句行不能写下全部语句,或在特别需要时,可以换行。
换行时需在本行后加入续行符,即1个空格加下划线“_”。
4、一行最多允许255个字符。
5、注释以R e m开头,也可以使用单引号“'”,注释内容可放在过程、模块的开头作为标题用,也可直接出现在语句的后面,但不能放在续行符的后面。
6、在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。
(二)约定1、为了提高程序的可读性,对于V B中的关键字其首字母大写,其余字母小写。
2、注释是非执行语句,它不被解释和编译,仅对程序的有关内容起注释作用。
例如:T h i s i s a V BR E M T h i s i s a V B3、通常不使用行号4、对象名命名约定:每个对象的名字由3个小写字母组成的前缀(指明对象的类型)和表示该对象作用的缩写字母组成。
3.2.1 Visual Basic 6.0的标准数据类型V i s u a l B a s i c 6.0提供的基本数据类型主要有字符串型数据和数值型数据,此外还提供了字节、货币、对象、日期、布尔和变体数据类型。
通用属性:修改对象的前景颜色:ForeColor属性。
修改对象的背景颜色:BackColor属性。
对象的标题或内容:Caption属性。
对象是否需要三维立体的外观:Appearance属性。
对象是否自动对齐到它所在容器的边缘:Align属性。
对象是水平放置还是垂直放置:Orientation属性。
0为水平,1为垂直。
对象在它所在容器内的位置和大小:Left,Top,Width,Height属性。
对象内部坐标系统的左上角位置和内部大小:ScaleLeft,ScaleTop,ScaleWidth,ScaleHeight属性。
当鼠标在对象上时显示的不同形状:MousePointer属性。
当鼠标在对象上时显示的提示文字:TooltipText属性。
在对象外部是否包围有1个边框:BorderStyle属性。
对象边框的颜色:BorderColor属性。
改变对象上文字成不同字体:Font属性。
可分别开来:①是否要粗体:FontBold属性;②是否要斜体:FontItalic属性;③设置字体名称:FontName属性。
④设置字号大小:FontSize属性。
⑤是否要加删除线:FontStrikethru属性。
⑥是否要加下划线:FontUnderline属性。
由用户自定义的1个对象标记:Tag属性。
设置1个对象是否可自动拖放操作,同时不响应对象事件:DragMode属性。
对象在拖放过程中显示的图标:DragIcon属性。
当对象中内容很多,对象大小不够时,是否自动扩大对象的尺寸以完全显示对象的内容:AutoSize属性。
对象是否在界面中可见:Visible属性。
对象是否有效:Enabled属性。
当对象是对象数组时,确定对象的下标:Index属性。
对象是否可通过TAB键转移获得焦点:TabStop属性。
用TAB键转移焦点时本对象所处的顺序位置:TabIndex属性。
如果对象可设置为不同样式,选择各种样式:Style属性。
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语言基础_VisualBasic基础_3.1数据类型确定数据类型的作用有两个:一、在生成数据时,它指出应为数据分配多大的存储空间;二、它规定了数据所能进行的操作1.数值数据类型 numeric1) Integer(2个字节)和Long(4个字节)运算速度快定义变量类型时应考虑取值范围,否则程序运行时会产生“溢出”中断;VB中用+n[%]来表示整数,其中%为整数的类型符,可以省略,n为0~9数字;长整数用4字节二进制存储,VB中用+n&来表示长整数,其中&为长整数的类型符2) Single和DoubleClick浮点数也称实数,由符号、指数和尾数组成,分单精度和双精度浮点数,其指数部分分别用E(e)和D(d)表示。
浮点数表示数的范围很大,但有误差,且运算速度慢。
VB中规定单精度浮点数精度为7位,双精度浮点数精度为16位。
单精度浮点数表示形式:+n.n, +n!, +nE+m, +n.nE+m要表示双精度浮点数,对小数形式只要在数字后加“#”或用“#”代替“!”;对指数形式用“D”代替“E”或指数形式后加“#”;3) Currency货币型用8位字节存储,最多保留小数点左边15位,小数点右边4位,其余的数字被舍去,用于货币计算。
表示形式为在数字后加上“@”4) Byte字节型用1个字节的无符号二进制数存储。
2.日期数据类型日期型表示日期和时间,8字节的浮点数来存储,表示的范围从公元100年1月1日~9999年12月31日,而时间范围从0:00:00~23:59:59。
表示方式:1.日期文字必须用两个“#”符号括起来,如#january 15,202#,#1985-10-1 9:45:00 PM#2.以数字序列表示当以数字序列表示时,小数点左边的数字代表日期,而小数点右边的数字代表时间;0为午夜,0.5为中午12点;负数代表的是1899年12月31日之前的日期和时间。
3.逻辑数据类型逻辑判断True或False,用2字节二进制存储。
第2章VB语言基础2.1 学习要点与必备知识【学习要点】∙常量、变量与数据类型,运算符与表达式。
∙数组:概念,基本操作。
∙常用标准函数,人机对话函数。
∙编程基础与程序流程控制:顺序结构,选择结构,循环结构。
基本程序的编制与算法。
【必备知识】1.数据运算基础数据类型(种类、表示范围、自定义数据类型),常量(文字常量、符号常量),变量(命名、类型、定义、类型符),运算符与表达式(算术运算、关系及逻辑运算、运算优先顺序)。
2.标准函数转换函数,数学函数,时间与日期函数,字符串处理函数。
算术函数(Abs、Sin/Cos/Atn/Tan、Exp/Log、Rnd/Randomize、Sgn、Sqr);字符串函数(Lcase/Ucase、Left/Right、Len、Ltrim/Rtrim/Trim、Mid、Space、String、InStr);日期及时间函数(Time/Date、Now、DateValue、Day/Month/Year/WeekDay);转换函数(Str/Val、Chr/Asc、Fix/Int、Cint/ Cbool/ Cbyte/ Cdate/ Cdbl/Cstr)。
由于VB的函数众多,为了学好函数的使用,可以通过立即窗口。
立即窗口是VB提供的交互执行窗口。
在立即窗口中可以输入命令,命令行解释程序对输入的命令进行解释,并立即响应。
3.数据的输入与输出InputBox函数,MsgBox函数,Print方法。
(1) 字体的控制在VB的应用程序中,可以输入或显示各种英文字体和汉字字体。
字体具有类型、大小、字形等属性。
这些属性可以通过属性窗口进行静态设置,亦可通过代码进行动态设置。
使用代码动态设置的方法如下:字体的类型:object.FontName [= font]object能够接收字符的对象名,可以是窗体、文本框、标签、打印机等。
其中,font是系统字体的合法名称,其名称可以通过Fonts属性得到。
第1章 VB简介1.1 VB概述1.1.1 VB介绍1.什么是Visual BasicVisual Basic(简称VB)是美国微软公司推出的Microsoft Visual Studio可视化开发工具套件中的一个组件,是在Quick BASIC的基础上,为开发Windows应用程序而提供的强有力的开发工具,是一种具有良好的图形用户界面(Graphic User Interface,简写为GUI)的程序设计语言。
它采用面向对象和事件驱动的程序设计两种新机制,把过程化和结构化编程集合在一起。
VB作为基于Windows平台最方便快捷的软件开发工具,无论是网络应用,多媒体技术还是当前流行的MIS系统(信息管理系统)的开发,都应付的游刃有余。
因此,Visual Basic 也就成为众多程序员的首选编程工具。
Visual的原意是“视觉的”或“可视的”,而在VB中是指开发图形用户界面的方法,即不需要编写大量代码去描述界面元素的外观和位置,只要把VB预先定义好的对象(如工具箱提供的各种控件)拖放到窗体上即可。
也就是说,屏幕上的用户界面是用VB提供的可视化设计工具直接“画”出来的,而不是用程序“写”出来的。
这种直观的编程方法,就是我们通常所说的可视化编程。
Basic是指BASIC语言,它是Beginner’s All-purpose Symbolic Instruction Code(初学者通用符号指令代码)的缩写,与其他高级语言相比,它的语法规则相对简单,容易理解和掌握,且具有实用价值,被认为是最理想的初学者语言。
之所以叫做“Visual Basic”就是因为它是在BASIC语言的基础上发展而来的,并赋予了全新的面向对象的可视化编程方法。
2.Visual Basic的发展史20世纪70年代末,Microsoft在当时的PC机上开发了第一代Basic语言,那时的Basic 语言因为受当时计算机技术发展水平的影响,与现在的Visual Basic不可同日而语。
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函数可以产生一个对话框,用于将用户从键盘输入的数据作为函数的返回值返回到当前程序中。