Vb复习资料.docx
- 文档编号:7423251
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:33
- 大小:35.19KB
Vb复习资料.docx
《Vb复习资料.docx》由会员分享,可在线阅读,更多相关《Vb复习资料.docx(33页珍藏版)》请在冰点文库上搜索。
Vb复习资料
Vb复习提纲
Vb的三种工作模式:
设计模式;运行模式;中断模式。
运行模式中不能编辑代码,不能编辑界面;中断模式中可以编辑代码,不能编辑界面。
工程文件包括部分,工程文件扩展名:
.vbp
窗体模块
Form1,form2……
.frm
Function过程,sub过程,事件过程
标准模块
Module1,module2……
.bas
Function过程,sub过程
类模块
Class1,class2……
.cls
Vb程序的执行方式:
解释方式(便于程序的调试和修改,运行速度较慢);编译方式
对象:
对象指现实世界中的实体,可以是抽象的也可以是实体的,有自己的特征(属性),行为(方法),活动(事件)
的类:
对同一种对象的集合与抽象,封装和隐藏是类的重要特性。
类包含所创建对象的属性数据,以及对这些数据进行操作的方法。
Vb对象的三要素:
属性&方法&事件
基本属性:
name(名称):
所有对象都具有的属性,是创建对象的名称
Caption:
决定了控件上显示的文本内容。
(文本框和combo框[也有list属性]为text属性,list框为list属性
Font:
改变文本的外观,包括
1.Fontname:
字体属性,是字符型(”“)
2.Fontsize:
字体大小,是数字型
3.Fontbold:
字体加粗,是逻辑型
4.Fontitalic:
字体斜体,是逻辑型
5.Fontstrikethru:
加删除线,是逻辑型
6.Fontunderline:
加下划线,是逻辑型
Enable属性:
决定控件能不能使用:
true:
可以使用,对操作做出响应;false:
不能操作,呈灰色,对操作无响应。
Visible属性:
决定控件是否可见:
true:
程序运行时控件可见;false:
程序运行时控件隐藏,用户看不到,但控件本身存在。
MouseIcon:
鼠标的指针类型,鼠标类型设置值为0~15,值若为15则是用户自定义鼠标文件。
事件:
Load:
窗体被装入是自动执行,用于对属性值和变量的初始化。
Click,DblClick:
单击和双击事件,由鼠标单击和双击时候触发事件。
方法:
Print:
用于在窗体或者图形框中显示文本
Cls:
在窗体或者图形框中清除运行时产生的图形或者文本
Move:
移动一个窗体或者控件
图片的引用——loadpicture(App.Path+”\summer.bmp”)相对引用,图片和工程文件在一个文件夹中。
Loadpicture(“D:
\summer.bmp”)绝对引用,图片在D盘中。
在文本框中,汉字、字母、数字都只占一个字符,
a=text1.seltext:
将选中的内容放入a中。
Text1.seltext:
=a:
将选中的内容插入到光标所在的位置
数据类型
数据类型
关键字
类型符
占用字节
字节型
Byte
无
1
逻辑型
Boolean
无
2
整型
Integer
%
2
长整型
Long
&
4
单精度型
Single
!
4
双精度型
Double
#
8
货币型
Currency
@
8
日期型
Date
无
8
字符型
String
$
与字符长度有关
对象型
Object
无
4
变体型
Variant
无
根据需要分配
整数的表达形式:
123,123%,123&,+342,-123,
浮点数:
又称为实数,分为单精度和双精度浮点数。
123.45;123.45!
;0.12345E+3;0.12345E+3都是表示同值的单精度浮点数;123.45;123.45#;0.12345D+3;0.12345E+3#都是表示同值的双精度浮点数。
字符型:
用””括起来,包括所有的西文字符和汉字,如”123”,”abc”,”夏天”
若字符串中有双引号,则要用连续两个双引号来表示,如”””123””abc”,输出为”123”abc
逻辑型:
当逻辑型数值转化为整数时,true=-1,false=0;当其他类型的数据转化为逻辑型数据时,非零为true,零为false
日期型:
用一对#括起来,#mm/dd/yy#、#mm-dd-yy#
变量的命名规则:
必须以汉字(中文系统中可以用)或字母开头,由字母、汉字、数字或者下划线组成,长度小于等于255个字符。
不能使用vb中的关键词
Vb中不区分大小写,Xyz,xyz,XYZ都是同一个变量。
3xy:
不能数字开头;y–z:
不能出现减号;wangping:
不能出现空格;dim:
不能使用vb中的关键词;cos:
最好不要使用,与余弦函数混淆。
变量声明:
Dim变量名[as类型]
Dima,b,casinteger,x,yassingle:
表示a,b,x定义为变体型变量,c为整型变量,y为单精度型变量
字符型变量的定义:
dim字符串变量名asstring[*长度]
若长度确定了,而字符串没有达到所定义的长度,则字符串右边用空格补齐,若超过了长度,则将多余的部分截去。
变量类型
数值类型
String
Boolean
Object
Date
初始值
0
“”(空串)
False
Nothing
0/0/0/
常量:
八进制:
&O123,十六进制:
&H1234
运算符与优先级:
优先级:
{^}<{-(负号)}<{*;/(除)}<{\(整除);Mod}<{+;-(减号)},优先级越小越先算
如:
30-true=31;10+false+”14”=24
字符串运算符
&:
字符串的连接,将两个字符串连接起来,若是没有加””的数字字符串变量,与&连接时要有空格,否则就认为字符串为长整型。
当变量与&连接在一起的时,系统先把它作为类型定义符处理,造成错误。
+:
连接符两端都应该是字符型,若均为整型,则进行加法运算;若一个为字符型数字,一个为数值型,则把字符型数字变成数值型,再进行加法运算;若一个为非数字型字符,一个为数字型就会出错。
10+“10”=20
“10”+”10”=1010
“10”+”abc”=10abc
10+”abc”=出错
10&10=1010
“abc”&10=abc10
“10”&”10”=1010
10+“12”&10=2210
关系运算符
=、>、>=、<、<=、<>(不等于)。
结果为逻辑型字符。
数字型比较数字大小。
字符型按字符的ascii码值从左到右逐一比较,直到出现的字符为止。
关系运算符的优先级相同。
逻辑型运算符
Not:
取反;notf=t,nott=f,优先级1
And:
与;tandt=t,fandt=f,tandf=f,fandf=f,优先级2
Or:
或;两者之一为真时结果就为真,优先级3
Xor:
异或;两者为一真一假时结果为真,否则为假,优先级3
表达式
组成:
变量、常量、运算符、函数和圆括号。
规则:
乘号不能省略;括号必须成对出现;表达式从左到右在同一基准上书写,无高低大小的区别。
不同数据类型的转变:
如果操作数具有不同的数据精度,则运算结果的数据类型采用精度高的数据类型。
Integer Long型与single型运算,其数据类型应该是double。 优先级: 算数运算符>字符运算符>关系运算符>逻辑运算符 常见内部函数 数学函数 函数名 含义 实例 结果 Abs(N) 取绝对值 Abs(-3.5) 3.5 Cos(N) 余弦函数 Cos(0) 1 Exp(N) 以e为底的指数函数 Exp(3) 20.086 Log(N) 自然对数 Log(10) 2.3 Rad[(N)] 随机函数 Rad [0,1)任意数 Sin(N) 正弦函数 Sin(0) 0 Sgn(N) 符号函数 Sgn(3.5) 正数为1,0为0,负数为-1 Sqr(N) 平方根 Sqr(4) 2 Tan(N) 正切函数 Tan(0) 0 转换函数 函数名 含义 实例 结果 Asc(C) 字符串转换成ascii码值 Asc(A”) 65 Chr(N) Acsii码值转换成字符 Chr(65) “A” Fix(N) 取整 Fix(-3.5) -3 Int(N) 取小于等于N的最大整数 Int(3.5) 3 Int(-3.5) -4 Hex(N) 十进制数转换成十六进制数 Hex(100) 64 Lcase(C) 字母转换成小写字母 Lcase(“ABC“) abc Oct(N) 十进制数转换成八进制数 Oct(100) 144 Round(N) 四舍五入取整 Round(3.5) 4 Round(-3.5) -4 Str(N) 数值转换成字符串 Str$(123.45) “123.45” Ucase(C) 字母转换成大写字母 Ucase(abc) ABC Val(C) 数字字符串转化成数值 Val(“123ab”) 123 Attention: str(N)在转变数值为字符串时,会在数字前面加上一个空格,即: str(123)=“123”而不是”123” 常用字符串函数 函数名 含义 实例 结果 Instr(C1,C2) 在C1中查找C2是否存在,不存在则为0 Instr(”abcdefgh”,”cd”) 3 Join(A[,D]) 将数组A中的个元素按D(或空格)分隔符连接成字符串 A=array(“13”,”ab”,”4”) Join(A,””) “13ab4” Left(C,N) 取出字符串左边的N个字符 Left(”abcdefg”,3) “abc” Len(C) 字符串的长度 Len(”abcdefg”) 7 Mid(C,N1[,N2]) 取字符子串,在C中从第N个字符开始向右取N2个字符,默认N2到结束 Mid(”abcdefg”,4,2) “de” Replace(C,C1,C2) 在C字符串中用C2代替C1 Replace(“abcd”,”bc”,”fg”) “afgd” Right(C,N) 取出字符串右边的N个字符 Right(“abcdefg”,3) “fg” Space(N) 产生N个字符串的空格 Space(3) ““ Split(C,D) 将字符串C按分隔符D分割成字符数组,与join相反 S=Split(”123,45,ab”,”,”) S(0)=”123”,S (1)=”45” S (2)=”ab” String(N,C) 返回由C中首字母组成的N个相同字符的字符串 String(3,”abcdefg”) aaa Trim(C) 去掉字符串两边的空格 Trim(“abc“) “abc” 编码规则: vb程序中不区分大小写;同一行上可以书写多条语句,语句之间用“: ”分隔,一行最多可达25个字符;单行语句可分若干行书写,在在本行后加入续行符“_”(空格加下划线);在句首加上“’”则把该句注释。 赋值语句: 变量名=表达式 把等号右边的表达式计算结果赋值给等号左边的变量。 Attention: 1.赋值号与表示等于的关系运算符都用“=”表示,但是两者有区别。 赋值语句: a=b和b=a是两个结果不同的赋值语句 关系表达式: a=b和b=a是同一个意思。 2.赋值号的左边只能是变量名,不能是常量,常量函数,常量符号,表达式。 例: Now()=x+y错误,左边是表达式 5=x+y错误,左边是常量 x+y=3错误,左边是表达式 3.赋值号两边数据类型不同时的处理 1当表达式为数值型并与变量精度不同时,需强制转换成左边变量的精度。 例如: n%=3.5n为整型,转换时四舍五入,n中的结果为5 2当表达式是数字字符串,左边变量是数值类型,自动转换成数值类型后再赋值,如果表达式有非字符字串或者空串,则出错。 例如: n%=”123”n中的结果是123,与n=val(”123”)一样 n%=”la123”或者n%=””引发运行时异常出现 3任何非字符型的值赋值给字符型变量,自动转换为字符型 数据的输入和输出 输入: 1.Label1.caption=”************” 2.r=val(text1.text) printr 输出: Inputbox对话框inputbox(”提示”,”标题”,”默认值,[x的坐标],[y的坐标]” Msgbox: msgbox(”提示”,[按钮],[标题]) 按钮设置值: 分组 内部函数 按钮值 描述 按钮数目 VbOkOnly 0 只显示”确定”按钮 VbOkCancel 1 显示”确定”,”取消”按钮 VbAbortRetryIgnore 2 显示”终止”,”重试”,”忽略”按钮 VbYesNoCancel 3 显示”是”,”否”,”取消”按钮 VbYesNo 4 显示”是”,”否”按钮 VbRetryCancel 5 显示”重试”,”取消”按钮 Vb控制结构 分组 内部函数 按钮值 描述 图标类型 VbCritical 16 关键信息图标 VbQuestion 32 询问信息图标 VbExclamation 48 警告信息图标 VbInformation 64 信息图标 在写msgbox的函数时,msgbox(“**”,5+48,”**”), msgbox(“**”,VbRetryCancel+48,”**”),msgbox(“**”,VbRetryCancel+VbExclamation,”***) msgbox(“**”,5+VbExclamation,”**”)执行时效果相同。 返回值 内部函数 返回值 被单击的按钮 vbOk 1 确定 vbCancel 2 取消 vbAbort 3 终止 vbRetry 4 重试 vbIgnore 5 忽略 vbYes 6 是 vbNo 7 否 Print方式 [对象.]print[定位函数][输出表达式列表][分隔符] 如: picture1.printtab(10);string(3,””); 省略picture1.则在窗体上输出,省略tab(10)则在当前位置输入,省略string(3,””),则输出一空行 分隔符有”;”和”,”两种,”;”定位于输出字符的下一个位置,”,”定于为输出字符的后14个为位置 Format格式输出函数 格式: Format(表达式,”格式字符串”) 符号 作用 数值表达式 格式化字符串 显示结果 0 实际数字位数小于符号位数,数字前后加0 1234.567 1234.567 “00000.000” “0000.000” 01234.567 1234.567 # 实际数字位数小于符号位数,数字前后不加0 1234.567 1234.567 “#####.###” “####.###” 1234.567 1234.567 千分位 1234.567 “##.##0,0000” 1,234.5670 % 数值乘以100,加百分号 1234.567 “####.##%” 123456.7% $ 在数字前强制加$ 1234.567 “$###.##” $1234.57 E+ 用指数表示 0.1234 #0.00E+00” 1.23E-01 输出时;为紧凑输出,&为字符串连接符 print“a=”;format(a,”0.00”)|a=12.34 Print“a=”;a|a=[空格]12.34 Print“a=”&a|a=12.34 Printa;”+”|[空格]a[空格]+ Printa&”+”|a+ 选择结构 语句 1.If……Then语句 1.If<表达式>Then <语句块> End 2.If<表达式>Then<语句块> 2.If……Then……Else语句(双分支结构) 1.If<表达式>Then <语句块1> Else <语句块2> EndIf 2.If<表达式>Then<语句块1>Else<语句块2> 3.If……Then……ElseIf语句(多分支结构) 1.If<表达式1>Then <语句块1> ElseIf<表达式2>Then <语句块2> … [Else <语句块n+1>] EndIf : 语句的顺序按照从上往下执行,若不符合表达式n,则跳转到表达式n+1,若符合表达式n,则执行完语句块n之后直接endif : 若有else语句就可以执行else语句,若没有则直接endif,else语句不是必须有的 4.SelectCase语句(情况语句) SelectCase变量或表达式 Case表达式列表1 <语句块1> Case表达式列表2 <语句块2> … [CaseElse <语句块n+1>] EndSelect 变量或表达式: 可以是数值型或字符串表达式 表达式列表i: 必须与“变量或表达式”的类型相同,可以使下面四种形式之一: ☻表达式 ☻一组用逗号分隔的枚举值 ☻表达式1to表达式2(包含表达式1和2) ☻Is关系运算符表达式(配合关系运算符来制定一个数值范围) Attention: 对于多分支结构,用selectcase语句比用if…then…elseif语句更加直观,程序可读性强,但是如果有多个变量,则只能使用if…then…elseif语句。 例: 方法一: Ifx>0andy>0then Msgbox(“在第一象限”) Ifx<0andy>0then Msgbox(“在第二象限”) Ifx<0andy<0then Msgbox(“在第一象限”) Ifx>0andy<0then Msgbox(“在第一象限”) 方法二: Selectcase Casex>0andy>0then Msgbox(“在第一象限”) Casex<0andy>0then Msgbox(“在第二象限”) Casex<0andy<0then Msgbox(“在第一象限”) Casex>0andy<0then Msgbox(“在第一象限”) 循环结构 语句 1.for循环语句——用于控制次数的预知的循环结构。 For循环控制变量=初值to终值[step步长] 循环体 Next循环控制变量 Ps: a.循环控制变量必须为数值型, b.步长=int((终值-初值)/步长+1) c.循环体中有exitfor语句,表示当遇到该语句时直接退出for循环,执行next语句的下一条语句 2.do……loop循环 形式一: (循环次数>=0) Do[{While/Until}条件] 循环体 Loop 形式二(循环次数>0) Do 循环体 Loop[{While/Until}条件] 2.循环嵌套 外一次内一轮 Fori=ntom ********* Forj=xtoy ######### Nextj Nexti 两循环并列 Fori=ntom *********** Nexti Forj=xtoy ########### Nextj 数组 定义: 一组相同类型变量的集合,在使用上的好处是用一个数组名代表逻辑上的一批数据,用下标表示该数组中的各个元素,和循环语句配合使用,使得程序书写更为简洁。 注意: 1.数组必须先声明后使用,要声明数组名、类型、维数、数组的大小。 2.数组声明时下标的个数分为一维数组和多维数组。 3.数组声明时根据数组的大小确定与否可分为定长数组和动态数组。 定长数组和声明: 1.一维数组 表达形式: Dim数组名(下标)[As类型] Ps: 下标: 必须为整数,不可以为表达式或者变量 下标的形式: [下界to]上界,下标可以省略,省略则默认值为0to上界,但如果在vb中的窗体层或者标准模块层用optionbasen语句定义时,下界则被人为规定为n 一维数组的大小: 上界-下界+1 As类型: 如果默认,与前述变量的声明一样,是变体型数组。 2.多维数组 表达形式: Dim数组名(下标1[,下标2,…])[As类型] Ps: 下标个数: 决定了数组的维数。 最多60维。 数组大小: 每一维的大小为上界-下界+1;数组的大小为各维大小的乘积。 动态数组和声明 1.建立 a.用Dim语句声明数组,但不声明数组的大小: Dim数组名()As数据类型 b.用ReDim语句分配元素的个数: ReDim数组名(下标1[,下标2…])[As类型] Ps: 用redim分配元素时可以用变量,但是变量要先赋值,而用dim分配时,绝对不可以用变量! Dim语句是说明性语句,可以出现在程序的任何地方。 而ReDim语句是可执行语句,只能出现在过程中。 在过程中可以多次使用ReDim语句来改变数组的大小,但每次使用完之后,都会清空数组中的值,可以在ReDim保留字后加Preserve参数,用来保留数组中的数据,但使用Preserve只能改变最后一维数组的大小,前面几维的大小不能改变。 例: ReDim[Preserve]A(3,3) 再ReDim[Preserve]A(3,x) 数组的基本操作 1.数组元素的引用 数组名(下标1[,下标2…]) 2.数组的赋值array函数 变量名=array(常量列表) Ps: 其中变量名必须声明为variant变体类型,并作为数组使用。 常量列表用逗号分隔,数组的下界和上界可通过lbound和ubound函数获得。 功能: 将常量列表中的各项值分别赋值给一个一维数组的各元素。 例如: Dima(),i% a=Array(1,2,3,4,5,6) fori=LBound(a)toUbound(a) printa(i) nexti 3.数组的输入 可以通过textbox或者InputBox输入 例如: Dimx(3,4)asinteger Fori=0To3 Forj=0To4 x(i,j)=Val(InputBox("输入"&i&","&j&"元素的值")) Nextj Nexti 4.数组的输出 用print配合for语句。 5.求数组和、最大值和最小值、位置以及交换数组元素。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vb 复习资料
![提示](https://static.bingdoc.com/images/bang_tan.gif)