VB程序设计总结.docx
- 文档编号:5539556
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:30
- 大小:391.27KB
VB程序设计总结.docx
《VB程序设计总结.docx》由会员分享,可在线阅读,更多相关《VB程序设计总结.docx(30页珍藏版)》请在冰豆网上搜索。
VB程序设计总结
第1章VisualBasic程序设计概述
1.1Visual basic简介
VisualBasic的特点
有基于对象的可视化设计工具;事件驱动的编程机制;提供应用程序集成开发环境;支持结构化程序设计语言;强大的网络、数据库、多媒体功能;完备的帮助功能
VB中字符以Unicode码存放,每个汉字和英文是一个字符、占有两个字节,汉字的机内码最高位为1其码值为小于0(以补码表示),西文字符的最高位为0,其码值为大于0
Ex:
设计一个滚动文字的广告程序,一行文字在具有背景图案的窗体上,下移动.
设计思路:
在窗体上使用标签Label对象来存放文字;利用Timer控件来快速触发移动;利用单击按钮来手动触发移动;改变标签的左上角坐标(left,top表示)就可移动标签
Label1.Top=Label1.Top+50:
使标签Label1向下移动50单位
Interval=200:
时钟对象的Interval可指定时间间隔,1秒为1000单位.每隔0.2秒移动一次可设置Ihaveacourseware
1.2VB集成开发环境
三种工作模式
设计模式(界面设计和代码编制);运行模式(运行程序);中断模式(中断运行,调试程序)
工程的组成
ﻩ窗体文件(控件和属性设置,事件代码);模块文件
窗体设计窗口
窗体是VB应用程序的主要部分;一个应用程序至少有一个窗体窗口;每个窗体必须有一个唯一的窗体名(默认名为Form1);设计状态的窗体由网格点构成;网格点间距可以通过工具-选项-通用进入窗体网格设置;运行时可通过属性控制窗体的可见性
代码设计窗口
用来进行代码设计(各种事件过程、过程代码的编写修改);打开代码设计窗口(双击窗体/控件资源管理器窗口-查看代码)
属性窗口
ﻩ设置窗体或控件的属性,如颜色、字体、大小等
工程管理器窗口
保存一个应用程序所有属性以及组成这个应用程序所有的文件;工程文件的扩展名为.VBP,工程文件名显示在工程文件窗口的标题框内
工具箱窗口
ﻩ由21个被绘制成按钮形式的图标构成;其中20个控件称为标准控件(指针不是控件)
也可通过工程-部件命令将第3方开发的其他控件装入到工具箱
1.3创建应用程序的过程
创建应用程序的过程
建立用户界面的对象-对象属性的设置-对象事件过程及编程-保存和运行程序
第2章VB可视化编程基础
2.1VB对象概念
对象:
指现实世界中的实体
类:
是对同一种对象的集合与抽象,类的内部实现细节对用户来说是透明的
对象:
类的一个实例
封装和隐藏:
将数据结构和对数据的操作封装在一起
VB工具箱中的可视图标
通过将VB系统设计好的标准控件类实例化,得到真正的控件对象(在窗体上画一个控件,类就转换为对象,创建了一个控件对象)
对象的三要素:
属性、事件和方法构成
属性:
存放对象的数据(决定对象外观及功能)
设计阶段(利用属性窗口直接设置属性值)-程序运行(语句对象名.属性名=属性值)
(只能在设计阶段设置,在运行阶段不可改变的属性称为只读属性)
事件:
发生在对象上的事情(同一事件,对不同的对象,会引发不同的反应)
格式:
(代码窗口自动产生事件过程的模板,不要修改模板内容,只需键入过程代码)
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
系统常量:
系统提供许多内部常量
Ex:
vbCrLf:
回车/换行组合符
3.3运算符和表达式
算术运算符
(算术运算符两边操作数应是数值型,数字字符或逻辑型自动转成数值类型)
字符串运算符
&:
两旁的操作数可任意,转换成字符型后再连接
+:
两旁的操作数应均为字符型
都为数值型则进行算术加运算ﻫ一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加
一个为非数字字符,另一个为数值型,出错
运算符
例
结果
=
"ABCDE "="ABR "
False
>
"ABCDE" > "ABR"
False
>=
“ bc”>= “大小"
False
<
23<3
False
<=
"23"<= "3"
True
<>
"abc"<>"abcde"
True
逻辑运算符
数据类型的转换:
Integer 优先级: 算术运算符>=字符运算符>关系运算符>逻辑运算 内部函数: 数学函数 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 3 终止 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后不能出现变量及有关运算符) ﻩEx: 已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符 SelectCasech ﻩﻩﻩCase"a" To"z","A"To "Z" ﻩﻩMsgBox(ch+"是字母字符") ﻩﻩﻩCase"0"To "9" ﻩﻩﻩﻩMsgBox(ch+"是数字字符") CaseElse ﻩﻩﻩﻩMsgBox( ch+"是其他字符") EndSelect 条件函数 IIf函数: If…Then…Else 结构的简洁表示 格式: IIf(表达式,为真时的值,为假时的值) Choose函数: 根据i值,返回选项列表中第i个选项(i值越出选项范围返回Null) ﻩ格式: Choose(整数表达式,选项列表) Ex: 根据Nop的值,得到+、-、×、÷中的某运算符 DimnopAsInteger, opAs Char Randomize() nop=Int(Rnd()*4+ 1) op=Choose(nop,"+","-", "×","÷") MsgBox("nop=" &nop & " op="&op) Ex: 根据当前日期,显示今日是星期几 t= Choose(Weekday(Now),“日”,“一”,“二”,“三”,“四”,“五”,“六”) MsgBox("今天是: "&Now&t) 4.3循环结构 两种类型的循环语句: 计数循环语句,条件型循环语句 For循环语句: 控制循环次数预知的循环结构 格式: ﻩFor 循环变量=初值To终值 [Step步长] 语句块 [ExitFor] 语句块 Next 循环变量 (循环变量必为数值;循环次数 ; 步长: >0时初值<终值;=1可省略;<0时初值>终值;=0时死循环) ﻩEx: 计算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综合应用 Ex: 用辗转相除法求两自然数的最大公约数。 求最大公约数的算法思想: (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 数组的概念 Ex: 求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…]) Ex: Dims()As Single SubForm_Load() ReDims(4,8) EndSub (Dim是说明语句,ReDim是执行语句; 过程中可多次用ReDim语句来改变数组的大小,但不能改变维数和类型 在ReDim后加Preserve参数用来保留数组中的数据,使用后只能改变最后一维的大小) 数组的输入 通过TextBox控件或InputBox函数输入 Ex: 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: 清除列表中所有项目 Ex: List1.Clear 重要事件 列表框: Click、DblClick 组合框: Click 5.4自定义类型及数组 Type语句: 不同类型数据的集合 形式: ﻩType自定义类型名 元素名1 As数据类型名 … ﻩﻩ元素名nAs 数据类型名 EndType (自定义类型一般在标准模块文件定义,默认Public;在窗体模块定义,须加Private) 自定义类型的声明 形式: Dim变量名 As自定义类型名 Ex: DimS1 AsStudType,S2 As StudType 自定义类型变量成员的引用 引用自定义类型变量中的某个成员,形式如下: 自定义类型变量名.成员名 例如, S1.Name S1变量中的姓名 S1.Sex 性别 可利用With语句简化成员引用: With 结构变量对象名 语句块 EndWith 5.5综合应用-分类统计 数据输入 Ex: 输入一系列数据将它们按分隔符分离存在数组中。 对输入的数据允许修改和自动识别非数字数据。 利用文本框输入和编辑数据;利用Replace函数去除重复输入的分隔符。 利用Split函数将输入的内容分离到数组中。 第6章过程 6.1函数过程的定义与调用 函数过程的定义: 函数过程名+%表示返回空值 ﻩ形式: ﻩ[Public|Private]Function函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)