VB程序设计总结.docx

上传人:b****5 文档编号:5539556 上传时间:2022-12-19 格式:DOCX 页数:30 大小:391.27KB
下载 相关 举报
VB程序设计总结.docx_第1页
第1页 / 共30页
VB程序设计总结.docx_第2页
第2页 / 共30页
VB程序设计总结.docx_第3页
第3页 / 共30页
VB程序设计总结.docx_第4页
第4页 / 共30页
VB程序设计总结.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

VB程序设计总结.docx

《VB程序设计总结.docx》由会员分享,可在线阅读,更多相关《VB程序设计总结.docx(30页珍藏版)》请在冰豆网上搜索。

VB程序设计总结.docx

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

取消 

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函

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1