VB程序设计课本主要内容Word文档下载推荐.docx
《VB程序设计课本主要内容Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB程序设计课本主要内容Word文档下载推荐.docx(38页珍藏版)》请在冰点文库上搜索。
确定窗体是否对用户事件做出反应;
True-响应用户的鼠标或键盘操作
False-不响应用户操作
通过程序代码为对象的属性赋值
赋值语句格式:
对象名.属性名=新的属性值
例如,将窗体对象frmInput的标题栏文字改为“你好!
Vb”
frmInput.Caption=“你好!
2.窗体的方法
①调用对象方法的一般形式:
对象名.方法名[参数]
(1)Show和Hide
(2)Print
用于在窗体上输出指定的内容
窗体Print方法的语法:
对象名.Printstring
例如,Form1.Print“Hello”/在窗体上显示“Hello”
(3)Move
用于移动窗体,并可改变其大小。
(4)Cls
用于清除运行时窗体上所生成的图形和文字
2、窗体的事件
(1)Load
√当一个窗体被加载到内存中准备显示时,引发Load事件
√此事件由操作系统发送;
√常常在Load事件过程中进行窗体或控件的初始化工作。
(2)Click
◎鼠标单击事件
◎Click事件过程的语法结构:
PrivateSubForm_Click()
程序段
EndSub
◎注意:
窗体对象比较特殊,其事件过程名称为Form_事件名(),不像其他控件,由对象名_事件名组成。
(3)DblClick
◎鼠标双击事件
◎事件过程的语法结构:
PrivateSubForm_DblClick()
◎此事件过程没有参数
当在窗体上双击鼠标时,首先触发的是窗体的Click事件,然后才是DblClick事件。
所以如果两个事件都编写了程序代码,则会被依次执行。
(4)GotFocus、LostFocus
◎焦点是接收用户鼠标或键盘输入的能力。
◎当一个对象处于焦点状态时,可接收用户的输入
◎当对象得到焦点时,触发GotFocus事件;
失去焦点时,触发LostFocus事件
(5)Resize
◎在程序运行时,当窗体的大小发生改变或窗体刚刚显示时,会引发此事件
(6)Unload
◎是从内存中清除一个窗体时触发的事件
2.2常用控件
1.标签控件
◇主要用来显示或输出文本信息
◇常用的属性:
Name,Caption,Alignment,AutoSize,BorderStyle
Alignment:
设置文本的对齐方式:
0-左对齐(默认值),1-右对齐,2-中间对齐
AutoSize:
其值决定标签控件的大小是否
随所显示内容而自动调整:
True/False(默认)
BorderStyle:
决定标签是否有边框:
0-无边框(默认),1-有边框(固定单线框)
2.文本框控件
◇是一个文本编辑区域,用来接收用户输入的信息
◇用户可以在该区域输入、编辑、修改和显示正文内容
Name,Text,Alignment,Enabled,Locked,MaxLength,Multiline,PasswordChar,ScrollBars
◇Text:
文本框中的文本内容;
◇Locked:
设置是否锁住文本框的Text属性的内容;
◇MaxLength:
设置文本框输入的最大字符数;
◇Multiline:
设置是否可以输入多行文本;
◇PasswordChar:
此属性可用来创建“密码文本框”;
◇ScrollBars:
当文本框的MultiLine属性值为True时,ScrollBars属性值决定文本框有无水平或垂直滚动条;
3.命令按钮控件
◇用来接收用户的操作信息,触发相应的事件过程;
◇它是用户与程序进行交互的最直接的手段。
Name,Caption,Default,Cancel,Enabled
Default:
设置该命令按钮是否为窗体的默认按钮,即在运行时按回车键与单击该按钮效果相同,取值为True/False。
Cancel:
设置该命令按钮是否为CancelButton,即在运行时按ESC键与单击该按钮效果相同,取值为True/False。
第三章数据类型、常量、变量及表达式
3.1 VB的字符集及编码规则
1.标识符的命名规则
(1)VB标识符由字母、数字和下划线组成,且以字母打头;
(2)长度不得超过255个字符;
(3)不能与VB中的关键字同名;
(4)在同一个范围(作用域)内必须是唯一的。
2.编码规则
(1)大小写——VB代码不区分字符的大小写。
(2)语句是程序的基本单位,VB中每条语句--enter键结束
(3)一行书写多条语句
◇一行可以书写多条语句,各语句之间用冒号“:
”分隔
(4)续行
◇一行书写不完的语句,可以在该行后加上续行符(由空格+下划线组成),然后换行书写。
3.2 数据类型
1.数值型
1)整数(Integer)
◇在内存中占2个字节
◇取值范是-32768(-215)~+32767(215-1)。
◇VB中用±
n[%]来表示整数,其中%为整数的类型符,
2)长整型(Long)
◇长整型数占4个字节;
◇最大值为231-1。
n&
来表示长整数,其中&
为长整数的类型符。
2.字符串型(string)
◇由若干字符组成的字符序列,专门用来存放文字信息的
◇在VB中有两种类型字符串:
定长字符串和变长字符串
(1)定长字符串:
能够包含字符的个数是可以指定的一定数目的字符,它在程序执行过程中其长度保持不变,如果所赋予的字符长度不够,用空格填补;
如果超出则截去超出部分。
√字符串变量定义
Dim字符串变量名Asstring*长度
(2)变长字符串
◇字符串的长度不确定,它的长度随着赋予的字符串的长度而变化
◇字符串变量定义
Dim字符串变量名Asstring
3.布尔型(Boolean)
◇也称为逻辑型,只有两个值:
真(True)和假(False),用2字节二进制数存储,经常用来表示逻辑判断的结果。
◇布尔型与整型或长整型转换:
当把数值型数据转换为逻辑型数据时,0会转换为False,其它非0值转换为True
反之,当把逻辑型数据转换为数值型时,False转换为0,True转换为-1。
4.日期型(Date)
◇任何在字面上可以被认作日期的文本都可以赋值给日期变量;
日期文字必须用符号“#”括起来。
5.变体型(Variant)
◇Variant数据类型是VB对所有未定义的变量的缺省数据类型的定义
3.3变量和常量
1.变量
程序运行过程中其值可以改变的量称为变量,用于存储程序运行时的临时数据
(1)变量的命名规则
遵循标识符命名规则:
①以字母开头,可以包括数字、字母和下划线;
②不能包含标点符号;
③不能多于255个字符;
④不能与关键字重复;
⑤在同一作用域中,变量名不能相互重复。
(2)变量声明
使用变量前,一般应先声明变量名以及变量的类型,以使系统为变量分配内存单元。
如果没有声明,则默认为变体型数据
声明变量时可以指定变量名、变量的类型以及变量的作用域。
◎定义变量的统一语法格式如下:
Public|Private|Dim|Static变量名[As类型[*字符串长度]]
其中,“Public|Private|Dim|Static”4个关键字指定变量的作用范围(即作用域);
如果省略“As类型”部分,定义的是变体类型变量;
当定义定长字符串变量时,需要“*字符串长度”部分指定字符串长度。
变量的作用域:
指变量生效的范围,即能够对该变量赋值又能读取该变量值的代码范围。
在VB中,变量有三种作用域:
过程级、模块级和全局级.
①过程级变量:
又称为局部变量,作用域是定义它的过程(包括事件过程和通用过程),也就是说它在哪个过程中定义就只能在这个过程中使用。
定义过程级变量的语句为:
Dim|Static变量名[As数据类型名[*字符串长度]]
◇使用Dim关键字定义的过程级变量,当所在过程执行完毕,变量就会消失,释放所占用的内存;
◇使用Static定义的变量,被称为“静态变量”,在程序启动时即被分配内存空间,程序结束时清除,每次过程执行完毕变量的值仍被保留,下一次该过程被执行时变量的值仍然可用。
②模块级变量:
必须在模块开始的通用声明段中定义(位于“代码”窗口的最顶部,所有过程的前面),语法格式为:
Private|Dim变量名[As数据类型名[*字符串长度]]
其中,关键字Private和Dim是等效的;
◇作用域是所在的模块,定义变量的这个模块中的所有过程都可以访问该变量;
◇它在程序启动时被创建,程序结束时被清除。
③程序级变量:
也称为全局变量或公共变量,指在程序的所有模块中都可以对其值进行存取的变量。
◇必须在模块开头的通用声明段中定义,语法格式为:
Public变量名[As数据类型名[*字符串长度]]
◇在程序启动时创建,程序结束时被清除。
◎用类型说明符表示变量
√将类型说明符放在变量名的尾部,可以表示不同的变量,如%表示整型、&
表示长整型、!
表示单精度型、#表示双精度型、@表示货币型,$表示字符型。
◎变量的默认值
√一个变量在被定义之后,被首次赋值之前的这一段时间中具有默认值。
对于不同的数据类型,默认值不相同。
√数值型变量的默认值为0;
√逻辑型变量的默认值为False;
2.常量
常量是指程序运行过程中始终保持不变的常数、字符串等
在程序代码中,以数值或字符等形式直接给出的常量。
例如:
a=3.14
Text1.text=“welcome”
3.4运算符和表达式
一、运算符
◎VB提供了5种类型的运算符:
1.算术运算符
◇整除运算和取模运算的操作数一般为整型数,当操作数含有小数时,先四舍五入取整,然后再进行运算;
◇整除运算的结果取商的整数部分;
取模运算的结果取商的余数部分。
2.字符串运算符
(1)字符串连接运算符:
“&
”和“+”
(2)字符串比较运算符
◇按照字符串对应字符从左到右逐个进行比较;
◇结果为真返回True;
否则返回False;
◇英文、数字和半角符号按ASCII码的大小进行比较,汉字和中文符号按汉字国际码的顺序进行比较
3.日期时间运算符
①两个日期型数据相减,结果为两个日期相差的天数,如:
#09/29/2012#-#09/20/2012#‘结果为数值型数据:
9
②日期型数据加数值型数据,结果为日期型数据(向后推算日期),如:
#09/29/2012#+9‘结果为日期型数据:
#10/08/2012#
③日期型数据减数值型数据,结果为日期型数据(向前推算日期),如:
#09/29/2012#-10‘结果为日期型数据:
#09/19/2012#
4.关系运算符(>
<
>
=<
==<
>
)
对两个表达式的值进行比较,结果为逻辑值,如果关系成立返回True,否则返回False。
在VB中,分别用-1和0表示True和False
5.布尔运算符(逻辑运算符)
运算符的优先级
当表达式中存在多种运算符共存时,按如下优先级的先后进行运算:
3.5 类型转换
3.6常用内部函数
◎内部函数是指VB已经定义好的函数,供用户随时调用。
◎VB的内部函数可以分为五类:
√数学函数
√字符串函数
√随机函数
√转换函数
√日期函数
◎常用数学函数:
Rnd(N):
返回[0,1)的随机数
√若要返回指定范围的随机数,使用公式:
Rnd*(Int(上界值-下界值+1))+下界值
Int(N):
返回不大于给定数的最大整数
Fix(N):
返回数的整数部分
第4章基本控制结构
4.1结构化程序设计概述
4.2顺序结构
1.赋值语句
◇程序设计中最基本的语句,它的作用是将指定的值赋给某个变量或对象的某个属性。
◇语句格式:
名称=表达式
2.数据输入
◇程序语言应具备的基本功能,指把要加工处理的原始数据从某种外部设备(例如键盘)输入到计算机中去,以备计算机处理;
◇在VB中,数据输入的功能可以用文本框和输入框(InputBox)完成;
◇InputBox函数
√作用:
在一对话框中显示提示信息,等待用户输入正文或按下按钮,返回文本框中内容,函数值的类型为String类型。
√语法格式:
变量>
=InputBox(<
信息内容>
[,<
对话框标题>
][,<
默认内容>
])
说明:
<
:
对话框中出现的文本,用来描述“提示信息”;
对话框的标题>
设置对话框的标题;
输入框中显示的默认文本。
例:
InputBox("
提示信息"
"
标题"
输入信息区域"
)
3.数据输出
VB中数据输出的方法有:
Print方法、文本框控件、标签控件以及消息框(MsgBox)函数;
◇消息框(MsgBox函数)
MsgBox函数在对话框中显示信息,等待用户单击按钮,并返回一个整数以标明用户单击了哪个按钮。
语法格式为:
MsgBox<
消息内容>
[,<
对话框类型>
][,<
]
为对话框中出现的文本
用来指定对话框中出现的按钮和图标
用来指定对话框的标题。
Msgbox()返回的值指明了对话框选择了哪个按钮
4.3选择结构
一、IF语句
◇IF语句是最常用的选择结构,它是属于单条件、双分支的选择结构;
◇IF语句的传统流程图如下:
◇IF语句的执行过程:
所给的条件如果为真,则执行A1块;
如果条件为假,则执行A2块。
◇两种形式:
行IF语句和块IF语句
1.单行结构条件语句
◇语法格式:
IF<
条件>
Then<
语句组1>
[Else<
语句组2>
]
2.块结构条件语句
有两种表现形式:
一种是单分支,另外一种是双分支
(1)单分支
语法格式:
If<
条件>
Then
EndIf
(2)双分支结构
语法格式:
语句块1>
Else
语句块2>
EndIf
二、SelectCase语句
◇SelectCase语句用来实现多分支条件选择结构;
◇多条件选择结构的特点:
从多个选择条件中选择第一个条件为真的线路作为执行路线。
◇SelectCase的语法结构形式为:
SelectCase<
测试表达式>
[Case<
表达式表1>
表达式表2>
…
[CaseElse
语句块n+1>
EndSelect
4.4循环结构
循环的基本概念
◇程序设计中的循环是指在程序中从某处开始有规律的反复执行某一操作块(或程序块)的现象。
◇被重复执行的操作块(或程序块)称为循环体,循环体的执行与否及次数多少视循环类型与条件而定。
◇无论何种类型的循环,共同的特点是:
必须确保循环体的重复执行能被终止(即非无限循环)。
◇在VB中的循环结构有:
For…next
Do…Loop
While…Wend
一.For…Next语句
◇For…Next循环语句一般用于循环次数已知的程序中;
◇语法形式
For<
循环变量>
=<
初值>
to<
终值>
[Step步长]
[语句块1]
[ExitFor]
[语句块2]
Next[<
◇说明:
①<
为必要参数,用作循环计数器的数值变量;
②<
都是必要参数。
步长>
可以是正数或负数。
当步长的值为1时,可以省略。
③在循环中的任何位置放置任意个ExitFor语句,随时退出循环(本层)
For与Next语句中的循环变量必须是同一变量,Next中的循环变量可以省去。
二.Do…Loop循环语句
用于控制循环次数未知,或循环的初值和终值不明了的循环。
◇Do…Loop语句有两种语法形式:
①前测型循环结构
②后测型循环结构
三.循环的嵌套
循环嵌套的概念:
在一个循环结构中包含另外一个完整的循环结构,就是循环嵌套。
要注意以下事项:
(1)内循环变量与外循环变量不能同名;
(2)外循环必须完全包含内循环,不能交叉;
(3)外层循环每执行一次,内层循环就要从头开始执行一轮。
例4.13打印输出“九九乘法表”(P105).
Fori=1To9
Forj=1To9(Forj=1Toi)
se=i&
"
×
"
&
j&
="
i*j
Picture1.PrintTab((j-1)*9+1);
se;
Nextj思考:
打印三角程序如何改动?
Picture1.Print
Nexti
四、常用的算法
◇算法是对某个问题求解过程的描述
1.累加、连乘
1~100的5或7的倍数的和
Sum=0
Fori=1To100
IfiMod5=0OriMod7=0Then
Sum=Sum+i
PrintSum
3~10的乘积
t=1
Fori=3To10
t=t*i
Printt
2.最小、最大值
◇在若干个数中求最大值,一般先假设一个较小的数为最大值的初值,若无法估计较小的值,则取第一个数为最大值的初值;
然后将每一个数与最大值比较,若该数大于最大值,将该数替换为最大值;
依次逐一比较。
◇例:
随机产生10个100~200之间的数,求最大值。
PrivateSubCommand1_Click()
Max=100
Fori=1To10
x=Int(Rnd*101+100)
Printx;
Ifx>
MaxThenMax=x
Print
Print"
最大值="
;
Max
EndSub
第五章数组
5.1数组的概念
一、数组和数组元素
◎数组就是一组具有相同类型的有序的数据,
其特点:
排列有序;
个数有限;
用一个统一的名字
◎数组的命名:
命名规则和简单变量的命名规则相同。
◎数组的维数:
数组中下标的个数为数组的维数,根据维数的不同,数组就分为一维数组、二维数组、三维数组等。
◎数组元素:
在同一数组中,构成该数组的元素;
◎每个数组元素,都可以使用数组名与下标来唯一的确定;
5.2静态数组
◎数组的形式
√静态数组:
数组元素的个数固定不变。
√动态数组:
数组元素的个数在运行时可以改变。
静态数组是指在声明时就已经确定了数组元素个数的数组,数组的类型、维数和大小将不得改变。
一.静态数组的声明
◇声明静态数组的语法格式:
Dim数组名(下标1[,下标2…])[As类型]
①维数:
几个下标为几维数组,最多60维;
②下标:
[下界To]上界省略下界则下界由OptionBase<
n>
语句控制,默认值为0;
◇OptionBase语句
形式:
OptionBase<
√n只能为0或1;
√如果没有使用OptionBase语句,则默认下界为0;
√如果使用OptionBase1语句,例如:
OptionBase1
Dimb(2,1To3,1To4)
①每一维大小:
上界-下界+1;
②数组大小:
每一维大小的乘积
◎例如Dimb(2,1To3,1To4)等价于
Dimb(0to2,1To3,1To4)共有3×
3×
4个元素
◎与数组操作有关的几个函数
1.Array函数
Array函数可方便地对数组整体赋值,但它只能给声明为Variant的变量或仅由括号括起来的动态数组赋值。
赋值后的数组大小由赋值的个数决定。
语法格式为:
数组变量名>
=Array(<
数组元素值>
)
例如:
Dima‘声明一个Variant的变量a
a=array(1,2,3,4,5,6,7)
b=a
(2)
2.求数组的上界Ubound()函数、下界Lbound()函数
Ubound()函数和Lbound()函数分别用来确定数组某一维的上界和下界值。
◇使用形式如下:
UBound(<
数组名>
N>
LBound(<
[,<
其中:
√<
必选项,表示