VB程序设计3-VisualBasic语言基础.ppt_第1页
VB程序设计3-VisualBasic语言基础.ppt_第2页
VB程序设计3-VisualBasic语言基础.ppt_第3页
VB程序设计3-VisualBasic语言基础.ppt_第4页
VB程序设计3-VisualBasic语言基础.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第3章 Visual Basic语言基础,2,VB程序,程序代码,窗体界面,某些信息的说明,过程,事件过程,通用过程,Function过程,Sub过程,3,指附在对象上的程序代码,是事件的处理程序,由事件调用。事件过程存储在窗体模块(.frm)中。 形式: Private Sub 对象名_事件过程名(参数列表) (事件过程代码) End Sub 例如: Private Sub CmdOK_Click() MsgBox “你好” End Sub,1、事件过程(Private),4,可被共享的代码构成的过程,即该代码可被不同的窗体所共享,或被一个窗体中不同的事件所共享。由事件过程或其他通用过程调用。 形式: Public/Private Static Sub 过程名 (参数列表) (语句块) End Sub,2、通用过程(Public/Private),窗体模块(.FRM) 窗体内的事件过程、窗体及窗体中各个控件对象的属性和相关说明。 标准模块(.BAS) 通用过程及相关说明。 创建方法:工程添加模块输入代码 类模块(不作要求),6,7, 语句体,语句的一般形式:,例如: Dim a As Integer,8,VB代码中不区分字母大小写 为了提高程序的可读性,VB对用户程序代码进行自动转换。 对于VB中的关键字,首字母总被转换成大写,其余字母被转换成小写。 若关键字由多个英文单词组成,自动将每个单词的首字母转换成大写。,9,语句书写自由 在同一行上可以书写多条语句,语句间用 :(西文冒号)分隔。 单行语句可分若干行书写,在本行后加入续行符 空格和下划线“_” 。 一行允许多达255个字符。 例如: X=10:Y=20:Z=30 Dim Name As String,Age As Integer,Sex As _ Boolean,ID As String,10,注释有利于程序的维护和调试,方法有: Rem 必须单独一行书写 可单独一行,也可在语句后书写 在工具栏上右击,在快捷菜单中选择“编辑”菜单,其中有“设置注释块”、“解除注释块”两个按钮。,注 释,Private Sub CmdOK_Click() Rem 2003年1月编写如下代码 若用户单击了确认按钮,则执行下列代码 End Sub,11,3.2 Visual Basic 数据类型,整数 整数是不带小数点和指数符号的数,在机器内以二进制补码形式表示。 整型(Integer):整型以两个字节的二进制码表示和参加运算,取值范围为-3276832767。 长整型(Long):长整型以四个字节的二进制码表示和参加运算,取值范围为 -21474836482147483647。,12,3.2 Visual Basic 数据类型,浮点数 浮点数也称实型数或实数,是带有小数部分的数值。它由三部分组成:符号、指数和尾数。 单精度型(Single):以4个字节存储,符号1位,指数8位,尾数23位,1位隐含位。用E来表示指数。例如:-9.654E-6 双精度型(Double):以8个字节存储,符号1位,指数11位,尾数52位,1位隐含位。用D来表示指数。例如:-8.573264907D-15,13,3.2 Visual Basic 数据类型,字节型(Byte) 字节实际上是一种数值类型,以一个字节的无符号二进制数存储,取值范围为0255。 布尔型(Boolean) 布尔型是一个逻辑值,用两个字节存储,它只有两种值,即True(真)或False(假)。 对象型(Object) 对象型数据用来表示图形或OLE对象或其他对象,用4个字节存储。,14,3.2 Visual Basic 数据类型,字符串型(String) 字符串是一个字符序列,由ASCII字符组成,包括标准的ASCII字符和扩展ASCII字符及汉字等。 字符串是放在双引号内的若干个字符,长度为0的字符串称为空字符串。 VB中的字符串分为两种,即变长字符串和定长字符串。变长字符串的长度是不确定的,最大长度不超过231;定长字符串的长度是固定的,最大长度不超过216。,15,3.2 Visual Basic 数据类型,货币型(Currency) 货币数据类型是为表示钱款而设置的。该类型数据以8个字节存储,精确到小数点后四位,小数点前有15位,小数点后4位以后的数字将被舍去。 浮点数中的小数点是“浮动”的,而货币类型数据的小数点是固定的。 变体型(Variant) 变体数据类型是一种可变的数据类型,可以表示任何值,包括数值、字符串及日期等。,16,3.2 Visual Basic 数据类型,日期型(Date) 日期型数据用来表示日期信息,格式为mm/dd/yyyy或mm-dd-yyyy。 表示范围:1000年1月1日到9999年12月31日。 任何可辨认的文本日期都可以赋值给日期变量。日期文字必须用符号#括起来, 如#3/18/2003# #12:30:45#,17,不同数据类型占用空间比较,Byte,Integer Boolean,Long Single Object,Double Date Currency,字节,18,常量 在程序中取值始终保持不变的数据,可以是具体的数值,也可以是专门说明的符号。(10、PI) 变量 以符号形式出现在程序中,且取值可以发生变化的数据。,3.3 常量与变量,19,3.3.1 常量(1),数值常量 整型和长整型均有三种表示方式,即十进制,十六进制和八进制。 十进制:09,正负号组成。 八进制:07,正负号组成。表示时在前面加上&O。 如:&O37相当于十进制数3*8+7=31 十六进制:09,AF,正负号组成。表示时在前面加上&H。 如:&H3D相当于十进制数3*16+13=61 浮点型由尾数、指数符号和指数组成。如: 单精度:-9.654E-6 双精度:3.1415926D8,20,字符串常量:不能超过65535个字符。 如“Hello”、“1234.343”、“苏州” 逻辑型常量:只有两个(True、False) 日期型常量:#2/25/2003#,3.3.1 常量(2),21,符号常量 Public|PrivateConst 常量名 As Type= Public表示常量可在整个工程中使用 Private表示常量只在声明的窗体模块或标准模块中使用 Type表示常量的类型 如:Const Tax As Single=1.05 Const Pi=3.1415926 Public Const Num As Integer=45,3.3.1 常量(3),22,窗体模块,Const a1 = 3.1415926 仅在本窗体模块中有效 Private Const b1 = 4 仅在本窗体模块中有效 Public Const c1=5 出错,不能出现在窗体模块中 Private Sub Command1_Click() Const d1 = 3 该常量仅在本事件过程中有效 Private Const e1 = 4 出错,不能在过程中使用 Public Const f1=5 出错,只能出现在标准模块中 End Sub,23,Const a2 = 3 该常量在本标准模块中有效 Private Const b2 = 4 该常量在本标准模块中有效 Public Const c2 = 5 该常量在整个工程中有效 Public/Private Sub Fun() Const d3 = 3 该常量仅在本通用过程中有效 Private Const e3 = 4 出错 Public Const f3=5 出错 End Sub,标准模块,24,类型说明符,字节、布尔、日期、对象及变体型没有类型说明符。,声明常量和变量时也可以使用类型说明符。,Const One%=1 等价于 Const One As Integer=1,25,3.3.2 变量,变量是内存单元的映射,变量名即为内存单元地址的映射。 一个有名称的内存位置叫变量。 变量的三要素: 变量名 变量类型 变量的值,26,变量名的命名规则,变量名只能由字母、数字、汉字和下划线组成 必须以字母开头,大小写等价 长度不超过255 作用域内唯一 不能和VB保留字重名 不能含有标点符号,类型说明符只能出现在名称的最后,27,定义变量,显式定义 Dim 变量名 As 类型,变量名 As 类型 Public 变量名 As 类型,变量名 As 类型 Private 变量名 As 类型,变量名 As 类型 Static 变量名 As 类型,变量名 As 类型 隐式定义 将类型说明符放在变量名最后 例如:Country$=“China”,k%=1 等价于 Dim Country As String,k As Integer Country=“China”:k=1 如果变量未被显式或隐式定义则为变体型。,注意:Dim a,b As Integer,则b为整型,而a则为变体型。,28,3.3.3 变量作用域与生命周期,过程级变量:又称局部变量。在过程中说明,仅在说明它的过程中有效。 窗体模块级、标准模块级变量:在窗体模块或标准模块的通用声明中说明,在该窗体模块或标准模块的所有过程内有效。 全局变量:又称公有变量。在窗体模块或标准模块的通用声明中说明,在工程内有效。 使用Dim语句声明变量时,系统自动给该变量赋一个初值。若为数值型,则值为0;若为字符串型,则值为空串;若为布尔型,则值为False。,29,Dim a1 As Integer 窗体级变量,在该窗体内有效 Public b1 As Integer 全局变量,在工程内有效 Private c1 As Integer 窗体级变量,在该窗体内有效 Static d1 As Integer 出错 Public S1 As String Private S2 As String Public S3 As String * 5 出错 Private S4 As String * 5 Private Sub Command1_Click() Dim e1 As Integer 过程级变量,只在该事件过程内有效 Public f1 As Integer 出错 Private g1As Integer 出错 Static h1 As Integer 静态变量,只在该事件过程内有 End Sub,窗体模块,30,Dim a2 As Integer 模块级变量,在该模块内有效 Public b2 As Integer 全局变量,在工程内有效 Private c2 As Integer 模块级变量,在该模块内有效 Static d2 As Integer 出错 Public S1 As String Private S2 As String Public S3 As String * 5 Private S4 As String * 5 Public/Private Sub Fun() Dim e2 As Integer 过程级变量,只在该通用过程内有效 Public f2 As Integer 出错 Private g2 As Integer 出错 Static h2 As Integer 静态变量,只在该通用过程内有效 End Sub,标准模块,31,定长字符串的定义,系统默认的字符串是变长的。 定长字符串的定义方法为: Dim 变量名 As String * size 如果在给定长字符串变量赋值时,字符数未达到定义的长度,则用空格填补;如果字符数超过定义的长度,则多余的部分将会被自动截去。 在标准模块中定长字符串可说明为Public或Private;在窗体模块中只能说明为Private。,32,Option Exlicit语句,变量可以不用定义就可使用。 没有定义的变量默认为局部变量。 为了安全起见,最好能显式地定义程序中所使用到的变量。 Option Explicit语句的作用是防止未显式定义的变量直接使用。 Option Explicit语句写在(通用)-(声明)下。 可以通过“工具”菜单中的“选项”进行设置,33,3.4 常用系统函数,函数是一种特殊的运算。 函数有函数名和参数(部分函数可没有参数)。 函数的结果有一定的数据类型。 VB的通用函数大体上可分为5类: 算术函数 字符函数 转换函数 日期与时间函数 格式化函数,34,算术函数,Abs(x)求绝对值 Abs(-10)=10 Atn(x)求反正切值 Atn(0)=0 Cos(x)求余弦值,参数的单位是弧度 Cos(0)=1 Exp(x)求ex的值 Exp(1)=2.71828182845905 Hex$(x)求对应的十六进制的值 Hex(20)=“14” Log(x)求自然对数 Log(1)=0 Oct$(x)求对应的八进制的值 Oct(20)=“24” Rnd(x)产生一个0,1)区间内的单精度随机数 Sin(x)求正弦值,参数的单位是弧度 Sin(0)=0 Sgn(x)求符号 Sgn(-2)=-1 Sgn(0)=0 Sgn(2)=1 Sqr(x)求平方根 Sqr(4)=2 Tan(x)求正切值,参数的单位是弧度 Tan(0)=0,35,字符串函数(1),InStr(C1,C2)求字符串C2在C1中首次出现的字符位置 InStr(“abcd”, “c”)=3 InStrB(C1,C2)求字符串C2在C1中首次出现的字节位置 InStrB(“abcd”, “c”)=5 LCase$(C)将字符串C中的大写字母改为小写字母 LCase(“aBcD”)=“abcd” Left$(C,N)返回字符串C左边N个字符 Left(“abcd”,3)=“abc” Len$(C)返回字符串C的字符数 Len(“abcd”)=4 LenB$(C)返回字符串C的字节数 LenB(“abcd”)=8 LTrim$(C)去掉字符串C左边的空格 LTrim(“ abcd”)=“abcd”,36,字符串函数(2),Mid$(C,N1,N2)求字符串C中从N1位置开始的N2个字符 Mid(“abcd”,2,2)=“bc” Right$(C,N)返回字符串C右边N个字符 Right(“abcd”,3)=“bcd” RTrim$(C)去掉字符串C右边的空格 RTrim(“abcd ”)=“abcd” Space $(N)返回N个空格 Space(3)=“ ” String $(N,C)返回N个由C字符组成的字符串 String(3, “a”)=“aaa” String(3, “abc”)=“aaa” UCase$(C)将字符串C中的小写字母改为大写字母 UCase(“aBcD”)=“ABCD”,37,日期与时间函数,Date$返回系统当前的日期 Now返回系统当前的日期和时间 Time$返回系统当前的时间 Weekday(x,C)返回日期表达式x的星期号(17) 17表示星期日星期六 Weekday(#3/18/2003#)=3 Weekday(#3/18/2003#, 2)=2 Day(x)返回日期表达式x中的日 Day(#3/18/2003#)=18 Month(x)返回日期表达式x中的月 Month(#3/18/2003#)=3 Year(x)返回日期表达式x中的年 Year(#3/18/2003#)=2003,38,转换函数,ASC(x)以十进制值返回字符x的ASCII码 Asc(“a”)=97 CBool(x)将表达式x转成逻辑值。如果表达式的结果为非零的值,返回 True;否则返回False。 Cbool(10)=True CByte(x)将0255之间的数转为字节型 CByte(97.68)=98 CCur(x)将数值型转为货币型 CDate(x)将有效的日期字符串x转换成为日期型。 CDate(“3/18/2003”)=#3/18/2003# CDbl(x)将数值型转换成双精度型 Chr$(x)返回ASCII码为x的字符 Chr(97)=“a”,39,转换函数,CInt(x)将数值型数据x的小数部分四舍五入取整。 CInt(3.78)=4 CLng(x)将数值型转换成为长整型,小数部分四舍五入。 CSng(x)将数值型转换成为单精度型 CStr(x)将表达式x转换为字符串 CStr(-123)=“-123” CStr(123)=“123” CVar(x)将表达式x转换为变体型 Fix(x)取x的整数部分 Fix(-3.78)=-3 Int(x)若x为正则取整数部分,若x为负则取小于等于x的整数。Int(5.6)=5 Int(-5.6)=-6 Str$(x)将数值数据转换为字符串 Str(-123)=“-123” Str(123)=“ 123” Val(x)将字符串x起始部分的数字串转成数值数据 Val(“123abc”)=123,40,格式化函数,专门用于将数值、日期和时间数据按指定格式输出,但不会改变数据在计算机内部的存储形式。 形式:Format$(,fmt$),41,InputBox函数接收用户通过键盘输入的数据 使用格式: V=InputBox(Prompt,Title,default,x,y,Helpfile,Context) Prompt: 提示用的文字信息,如果要在提示中分行可用Chr(13)+Chr(10)或vbCrLf。 Title: 对话框标题,若缺省则为工程名。 Default: 显示在用户编辑框中的缺省值,若缺省则为空。 x,y: 对话框左上角点的坐标。 注意: 内的项目可以省略,但有时逗号不能省略。,InputBox函数,42,V=InputBox(Prompt,Title,default,x,y,Helpfile,Context),InputBox函数,N = InputBox(“请输入你的学号:“, “程序示例“, “ 23001 “),43,MsgBox函数,MsgBox函数向用户发布提示信息,并要求用户作出必要的响应。,使用方法: Ans=Msgbox(Prompt,Button,Title,Helpfile,Context) Print Msgbox(Prompt,Button,Title,Helpfile,Context) Msgbox Prompt,Button,Title,Helpfile,Context 注意:后两种方法得不到返回值。逗号有时不能省略。,44,MsgBox函数,Msgbox(Prompt,Button,Title,Helpfile,Context) Prompt:提示用的文字信息。 Button:一个数值,为c1+c2+c3+c4,决定按钮的个数和类型。 Title:信息框标题。,返回值: 选择“重试”按钮:返回 4 选择“确定”按钮:返回 1 选择“忽略”按钮:返回 5 选择“取消”按钮:返回 2 选择“是”按钮:返回 6 选择“终止”按钮:返回 3 选择“否”按钮:返回 7,45,46,MsgBox函数,MsgBox(“非法数据!”,48,“提示信息”),48=c1+c2+c3+c4 =0+48+0+0,47,其它函数,IsNumeric(x) 若x为数值型数据返回True,否则返回False。 IsNumeric(“5.6”)=True IsNumeric(“5.6abc”)=False RGB(R,G,B):返回一个颜色,R、G、B取0255之间的数。,48,3.5 运算符与表达式,算术运算符 (乘方)-(负号)*(乘)/(除)(整除)Mod(取余)+(加)-(减) Mod运算中,结果与被除数同号。 字符运算符 +、&:连接最好用&。 关系运算符 =、=、Is,表达式由运算对象、运算符组成,有返回值。,49,逻辑运算符 Not(非)、And(与)、Or(或)、Xor(异或),50,一个表达式可能含有多种运算,一般的运算顺序如下: 函数运算; 算术、字符运算: 负号 * / Mod + - & 关系运算; 逻辑运算: Not And Or Xor 相同优先级的运算符的结合性都是从左向右。 改变运算顺序可使用括号。 表达式中只能使用圆括号,且可以嵌套。,运算符的优先级与结合性,51,4.5 赋值语句,执行过程: 首先计算等号右边表达

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论