VB程序设计总结Word文档下载推荐.docx
《VB程序设计总结Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB程序设计总结Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
![VB程序设计总结Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-12/19/10c8b374-7b3d-4ae0-a98e-78177b70d1fa/10c8b374-7b3d-4ae0-a98e-78177b70d1fa1.gif)
发生在对象上的事情(同一事件,对不同的对象,会引发不同的反应)
格式:
(代码窗口自动产生事件过程的模板,不要修改模板内容,只需键入过程代码)
Sub对象名_事件(参数)
ﻩ…事件过程代码
EndSub
事件驱动程序设计方式:
程序执行的次序与程序设计者无关,取决于用户的操作
VB程序的执行步骤
启动应用程序,装载和显示窗体-窗体(或窗体上的控件)等待事件的发生-事件发生时执行对应的事件过程-再次等待
方法:
面向对象的程序语言为设计人员提供的一种特殊的过程和函数;
调用时一定要指明对象
ﻩ[对象.]方法[参数名表](省略对象表示当前对象,一般指窗体)
Ex:
Text1.SetFocus:
此语句使Text1控件获得焦点,光标在本文框内闪烁
2.2窗体和基本控件
窗体和控件具有基本属性
Name:
名称属性-所创建的对象名称
Caption:
标题属性-对象上显示的内容
Height,Width,Top,Left:
决定对象的高度、宽度,和位置
Enabled:
对象是否允许操作
Visible:
对象是否可见
Font:
文本的外观属性组
FontName:
字体ﻩ
FontSize:
大小
FontBold:
粗体
FontItalic:
斜体
ﻩFontStrikethru:
删除线
ﻩFontUnderline:
下划线
ForeColor:
前景颜色
BackColor:
背景颜色
MousePointer:
鼠标指针类型,设置值范围0~15,由系统指定(若为99,由用户提供的图形文件定义鼠标指针形状)
MouseIcon:
MousePointer=99,存放自定义的鼠标图标文件(ico或cur)
控件默认属性:
程序运行时,可以改变某控件的值,而不必指定它的哪个属性
文本框Text单选按钮Value
ﻩ命令按钮ﻩﻩDefault标签ﻩCaption
图形、图像框Pictureﻩﻩ复选框ﻩﻩValue
窗体
事件:
Load事件(窗体被装入触发的事件,常为初始化);
Click事件;
DblClick事件
[对象]方法[参数列表]
Cls方法:
清除窗体或图形框运行产生的文本图形,不能清除窗体在设计时的文本图形
Move方法:
可移动窗体或控件,并改变其大小
ﻩ格式:
[对象.]Move左边距离[,上边距离[,宽度[,高度]]]
标签:
用来显示文本信息(不能输入)
文本框:
文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容
属性:
Text:
显示或输入正文内容
Maxlength:
可输入的文字最大长度(默认0表示任意长度,字母和汉字长都为1)
MultiLine:
设置True可输入或显示多行;
自动换行,按Enter可插入空行
ScrollBars:
滚动条属性(当MultiLine为True时,ScrollBars才有效)
None:
无滚动条
Horizontal:
水平滚动条
Vertical:
垂直滚动条
Both:
同时加水平和垂直滚动条
PassWordChar:
设置显示文本的替代符(设置口令)
(MultiLine为True时,该属性不起作用,密码不允许多行)
Locked:
指定是否可被编辑,默认False表可编辑;
值为True相当于标签
SelStart:
选定的正文开始位置
SelLength:
选定的正文长度
SelText:
选定的正文内容
(设置SelStart、SelLength后,SelText自动存放指定的文本)
Changed事件:
属性值发生改变时引发该事件
KeyPress事件:
按下并释放键,引发的事件,键值存在参数KeyAscii
LostFocus事件:
对象失去焦点发生的事件(数据验证确认;
检查Text属性内容)
GotFocus事件:
对象获得焦点时发生
方法:
最有用是SetFocus;
形式:
[对象.] SetFocus
命令按钮:
程序运行时执行相应的事件
Caption:
按钮上显示的文字
Style:
按钮样式(0-不显示图形;
1-可显示图形文字)
Picture:
在按钮装入图形
ToolTipText:
加以文字提示
一般接收Click事件
第3章VB语言基础
3.1 数据类型
3.2 变量和常量
变量:
在程序运行中其存储的值可以改变
规则:
必须以字母或汉字开头,由字母汉字数字或下划线组成,长度<=255个字符
不能使用VB中的关键字;
不区分大小写,一般变量名首字母大写
声明格式:
Dim变量名[As类型](As部分缺省则为变体类型 )
Ex:
Dim m,nAsInteger,x,yAs Single
常量:
用大写字母表示
直接常量:
其常数值直接反映了其类型
符号常量:
用户声明,便于程序阅读或修改
格式:
Const符号常量名[As 类型] =表达式
Ex:
ConstPI=3.14159
系统常量:
系统提供许多内部常量
vbCrLf:
回车/换行组合符
3.3运算符和表达式
算术运算符
(算术运算符两边操作数应是数值型,数字字符或逻辑型自动转成数值类型)
字符串运算符
&:
两旁的操作数可任意,转换成字符型后再连接
+:
两旁的操作数应均为字符型
都为数值型则进行算术加运算ﻫ一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加
一个为非数字字符,另一个为数值型,出错
运算符
例
结果
=
"
ABCDE "
="
ABR "
False
>
ABCDE"
> "
ABR"
False
>=
“ bc”>
= “大小"
False
<
23<
3
"23"
<
= "
3"
True
abc"
"abcde"
True
逻辑运算符
数据类型的转换:
Integer<
Long<
Single<
Double<
Currency
优先级:
算术运算符>=字符运算符>
关系运算符>
逻辑运算
内部函数:
数学函数
Ex:
产生a-b的之间的随机整数:
Int(Rnd*(b-a)+a)
转换函数
字符串函数
日期函数
Ex:
计算现在到2007年6月30日有多少天?
DateDiff("
d"
Now,#6/30/2007#)
Shell函数:
可调用各种应用程序
Shell(命令字符串[,窗口类型])
命令字符串:
应用程序名(包括路径.com、.exe、.bat)
窗口类型:
执行应用程序的窗口状态,0~4,6的整型数值,1表示正常窗口状态。
函数调用成功返回一个任务标识ID,不成功,则返回0。
3.4程序结构和编码规则
编码规则
代码不区分字母的大小写;
关键字首字母自动变大写,其余变小写;
自定义变量以后输入自动变为首次定义形式
语句书写自由,一行上可写多句语句(冒号分隔),一行最多255个字符;
单行语句可分若干行书写,在行末加入续行符(空格和下划线)
第4章VB控制结构
4.1顺序结构
赋值语句:
变量名=表达式(左边只能是变量,不能是常量、常数符号、表达式)
数据输出和输入:
InputBox函数:
打开个对话框,等待用户输入,返回字符串类型的输入值
形式:
InputBox(提示[,标题][,默认值][,x坐标位置][,y坐标位置])
(提示项不能省略;
多行提示可在每行行末加回车换行vbCrLf)
MsgBox函数:
打开信息框,等待用户选择一个按按钮;
函数返回所选按钮的值,过程不返回值
MsgBox函数形式:
变量[%]=MsgBox(提示[,按钮][,标题])
MsgBox过程形式:
MsgBox提示[,按钮][,标题]
按钮是整型表达式,决定信息框按钮数目和类型及出现信息框上的图标形式
ﻩMsgBox按钮设置
ﻩMsgBox按钮返回值
内部常数
返回值
被单击的按钮
vbOk
1
确定
vbCancel
2
取消
vbAbort
终止
vbRetry
4
重试
vbIgnore
5
忽略
vbYes
6
是
vbNo
7
否
Ex:
Private Sub Form_Load()
Text1.Text = "
Text1.MaxLength=6
Text2.Text="
Text2.MaxLength =4
Text2.PasswordChar= "
*“
EndSub
ﻩPrivateSubText1_LostFocus()
IfNotIsNumeric(Text1.Text) Then
MsgBox“帐号必须为数字”, ,“警告"
Text1.Text ="
Text1.SetFocus
EndIf
EndSub
PrivateSub Command1_Click()
DimiAsInteger
IfText2.Text <
"
Gong"
Then
i =MsgBox(“密码错误”,5 +vbExclamation,“警告"
)
Ifi<>4Then
End
Else
Text2.Text =""
Text2.SetFocus
EndIf
Else
MsgBox“密码校验成功!
EndIf
EndSub
Print函数:
对象.Print[Spc(n)|Tab(n)][输出列表][;
|,]
窗体、图形框或打印机,默认为窗体;
Spc(n)函数:
从当前位置起空n个空格
Tab(n)函数:
从最左端开始计算的第n列
分号:
定位在上一个被显示的字符之后
逗号:
定位在下一个打印区开始处(每区14列)
Format格式输出函数:
Format(表达式[,"格式字符串"])
4.2选择结构
If条件语句
ﻩIf<
表达式>Then
ﻩﻩ语句块
ﻩElseIf<
表达式2>
Then
ﻩﻩ语句快2
ﻩElse
ﻩ语句块3
EndIf
或If <
表达式>
Then<
语句>Else<语句块2>
ﻩEx:
已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符
IfUCase(ch)>
="
A"
And UCase(ch)<
Z"
Then
MsgBox(ch+"
是字母字符"
) '
考虑大小写字母
ElseIfch >
="
0" Andch<
9"
Then'
数字字符
MsgBox(ch+ "是数字字符"
)
Else '
除上述字符以外的字符
MsgBox(ch+"
是其他字符"
EndIf
If语句的嵌套
格式:
If表达式1 Then
If表达式2Then
…
EndIf
EndIf
SelectCase语句
Select Case变量或表达式
Case 表达式列表1
语句块1
ﻩCase表达式列表2
ﻩﻩ语句块2
ﻩﻩﻩ…
[CaseElse
ﻩﻩ语句块n+1]
EndSelect
(表达式:
A";
枚举值2,4,6,8;
60To100;
Is<
60
Select Case后不能出现多个变量;
Case后不能出现变量及有关运算符)
已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符
SelectCasech
ﻩﻩﻩCase"
a" To"
z"
,"
To "
ﻩﻩMsgBox(ch+"
是字母字符")
ﻩﻩﻩCase"0"
To "9"
ﻩﻩﻩﻩMsgBox(ch+"
是数字字符"
CaseElse
ﻩﻩﻩﻩMsgBox( ch+"
EndSelect
条件函数
IIf函数:
If…Then…Else 结构的简洁表示
IIf(表达式,为真时的值,为假时的值)
Choose函数:
根据i值,返回选项列表中第i个选项(i值越出选项范围返回Null)
ﻩ格式:
Choose(整数表达式,选项列表)
根据Nop的值,得到+、-、×
、÷
中的某运算符
DimnopAsInteger, opAs Char
Randomize()
nop=Int(Rnd()*4+ 1)
op=Choose(nop,"
+"
"
-", "
×
"÷
MsgBox("
nop="
&
nop &
"
op="
&
op)
根据当前日期,显示今日是星期几
t= Choose(Weekday(Now),“日”,“一”,“二”,“三”,“四”,“五”,“六”)
MsgBox("
今天是:
&Now&t)
4.3循环结构
两种类型的循环语句:
计数循环语句,条件型循环语句
For循环语句:
控制循环次数预知的循环结构
ﻩFor 循环变量=初值To终值 [Step步长]
语句块
[ExitFor]
Next 循环变量
(循环变量必为数值;
循环次数
;
步长:
>0时初值<
终值;
=1可省略;
0时初值>
终值;
=0时死循环)
计算1~100的奇数和
ﻩﻩDimi%,sum%
Fori=1To100Step 2
sum=sum+i
Next i
MsgBox(sum)
Do-Loop循环语句:
Do循环用于控制循环次数未知的循环结构
形式1:
Do{While|Until}<
条件>
[ExitDo
语句块]
Loop
形式2:
Do
[Exit Do
语句块]
Loop {While|Until}<条件>
4.4 其它辅助控制语句
GoTo语句:
无条件地转移到标号或行号指定的那行语句
Go To{标号|行号}
Exit语句
用于退出某种控制结构的执行
格式:
Exit For、ExitDo、ExitSub、ExitFunction
End语句:
独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中
4.5综合应用
用辗转相除法求两自然数的最大公约数。
求最大公约数的算法思想:
(1)对于两数m,n,使得m>n
(2) m除以n得余数r
(3)若r=0,则n为最大公约数,结束;
否则执行(4)
(4)m=n,n=r,再重复执行
(2)
4.6 程序调试
错误类型:
语法错误、运行时错误和逻辑错误
调试和排错
ﻩF9设置跟踪-F8跟踪-鼠标指向变量
第5章数组和自定义类型
5.1 数组的概念
求100个学生的平均成绩,并统计高于平均分的人数。
用简单变量和循环,求平均成绩
Dim mark(99)AsInteger'
声明数组mark
Dimaver!
overn%,i%
aver=0
Fori=0To99ﻩ '
输入成绩,求分数和
mark(i)=InputBox("
输入学生的成绩"
aver =aver +mark(i)
Nexti
aver= aver/ 100 '
求100人的平均分
overn=0
Fori=0To99'
统计高于平均分的人数
If mark(i)>
averThen overn=overn + 1
Nexti
MsgBox ("平均分:
aver&
"高于平均分人数:
overn)
数组:
相同类型变量的集合,数组必须先后使用,声明后在内存可分配一块连续区域
Dim数组名(下标上界1,下标上界2…) [As类型]
ﻩﻩ(数组每维大小为下标上界+1)
ﻩEx:
Dimmark(2,2) Aslong (3*3数组)
动态数组
建立动态数组要分两步:
用Dim 语句声明数组,但不能指定数组大小
Dim 数组名() As 数据类型
用ReDim语句动态地分配元素个数
ReDim数组名 (下标[,下标2…])
Dims()As Single
SubForm_Load()
ReDims(4,8)
EndSub
(Dim是说明语句,ReDim是执行语句;
过程中可多次用ReDim语句来改变数组的大小,但不能改变维数和类型
在ReDim后加Preserve参数用来保留数组中的数据,使用后只能改变最后一维的大小)
数组的输入
通过TextBox控件或InputBox函数输入
Dims(3,4) ASInteger
Fori =0To 3
Forj=0To4ﻩ
s(I,j)=InputBox("
输入"
i &
“,"&
j&
元素"
Nextj
Next i
数组排序方法:
选择法、冒泡法、插入法、合并排序
5.3 列表框和组合框
列表框:
可显示多个选项供用户选择,不能直接修改其中的内容
组合框:
组合了文本框和列表框的特性而形成的一种控件。
列表框和组合框重要属性
List:
是一个集合
ListIndex:
选项的序号(从0开始)
ListCount:
项目数量
Sorted:
排序
Text:
被选定的文本内容
ﻩEx:
List1.ListIndex= 2
List1.ListCount= 6
List1.Sorted = False
List1.Text为"
C/C++程序设计 "
(List1.List(List1.ListIndex)等于List1.Text)
常用方法
AddItem:
把一个项目加入列表
对象.AddItem项目字符串[,索引值]
(索引值:
决定新增项在列表中的位置,如果省略,则新增项目添加在最后)
RemoveItem:
删除列表中指定项目
对象.RemoveItem索引值
Clear:
清除列表中所有项目
List1.Clear
重要事件
Click、DblClick
组合框:
Click
5.4自定义类型及数组
Type语句:
不同类型数据的集合
形式:
ﻩType自定义类型名
元素名1 As数据类型名
…
ﻩﻩ元素名nAs 数据类型名
EndType
(自定义类型一般在标准模块文件定义,默认Public;
在窗体模块定义,须加Private)
自定义类型的声明
Dim变量名 As自定义类型名
DimS1 AsStudType,S2 As StudType
自定义类型变量成员的引用
引用自定义类型变量中的某个成员,形式如下:
自定义类型变量名.成员名
例如, S1.Name S1变量中的姓名
S1.Sex 性别
可利用With语句简化成员引用:
With 结构变量对象名
语句块
EndWith
5.5综合应用-分类统计
数据输入
输入一系列数据将它们按分隔符分离存在数组中。
对输入的数据允许修改和自动识别非数字数据。
利用文本框输入和编辑数据;
利用Replace函数去除重复输入的分隔符。
利用Split函数将输入的内容分离到数组中。
第6章过程
6.1函数过程的定义与调用
函数过程的定义:
函数过程名+%表示返回空值
ﻩ形式:
ﻩ[Public|Private]Function函