VB知识点概述及复习

上传人:仙*** 文档编号:90355902 上传时间:2022-05-14 格式:DOC 页数:22 大小:426KB
收藏 版权申诉 举报 下载
VB知识点概述及复习_第1页
第1页 / 共22页
VB知识点概述及复习_第2页
第2页 / 共22页
VB知识点概述及复习_第3页
第3页 / 共22页
资源描述:

《VB知识点概述及复习》由会员分享,可在线阅读,更多相关《VB知识点概述及复习(22页珍藏版)》请在装配图网上搜索。

1、-第一章Visual Basic概述一基本概念1. 对象:对象就是可控制的*种东西,它是对现实世界中对象的模型化,是代码和数据的组合,同样有自己的状态和行为。2. 属性:对象中的数据,它决定了对象的外观。3. 方法:对象中的代码(包括过程和函数),它决定了对象的行为。4. 事件:能被对象所识别的动作,它决定了对象与对象之间联系的手段。5. 事件驱动:只有在事件发生时程序才会运行。因此使用VB编程的妙处就在于,只有当用户要以*种特定的方式响应*个事件时,才需要编写针对这个事件的事件过程。6. 工程:是应用程序文件的集合,一个工程一般会包含下列文件,如表1-1所示。表1-1 应用程序文件类型文件类

2、型说明工程文件(.vbp)它是与该工程有关的全部文件和对象的清单,该文件是必选项。窗体文件(.frm)它包含事件过程,以及该窗体及窗体上的各个控件对象的属性设置以及相关的说明,该文件是必选项。二进制数据文件(.fr*)当窗体中含有二进制属性(如图片或图标)时,该文件将自动产生。标准模块文件(.bas)它包含可以被任何窗体或对象调用的过程程序代码,该文件是可选项。类模块文件(.cls)该文件是可选项。包含Active*控件的文件(.oc*)该文件是可选项。第二章 创建用户界面一基本概念1. 用户界面:它是一个应用程序中最重要的部分,是程序与用户进行交互的桥梁,标准的Windows应用程序界面都是

3、由窗口、菜单条、各种按钮、文本框、列表框等对象构成。2. 窗体:它是设计VB应用程序的一个基本平台,是包容用户界面或对话框所需的各种控件对象的容器。在创建一个新的工程时,默认的第一个窗体即为启动窗体。3. 控件:是与用户进行交互的可视化部件,向窗体上添加控件应在窗体编辑器中进行。4. 命令菜单:它是应用程序窗口的基本组成元素之一,它由菜单条、菜单、菜单项、子菜单、弹出式菜单组成,可以通过VB提供的菜单编辑器创建程序菜单。5. 设计用户界面的步骤:(1) 确定窗体的大小和位置(2) 根据程序的功能和要求,添加所需的控件(3) 合理地分布控件的位置与大小(4) 设置各个对象的属性6. 窗体及常用控

4、件的常用属性、事件、方法熟悉各对象的常用属性、方法和事件对于创建应用程序有着举足轻重的作用,下面表2-1给出了窗体及常用控件的常用属性、事件、方法使用说明。表2-1 窗体及常用控件的常用属性、事件、方法一览表对象名称说明通用属性Name设置对象在程序代码中的引用名Caption设置对象的标题栏中或图标下面的文本Font设置文本的字体、字型、字号等Left 设置对象的左边界距容器坐标系纵轴的距离Top 设置对象的上边界距容器坐标系横轴的距离Height 设置对象的高度Width设置对象的宽度Enabled设置对象是否被激活Visible设置对象是否可见BackColor设置对象的背景色ForeC

5、olor设置对象的前景色Inde*设置控件在控件数组中的标识号TabInde*设置窗体中的对象响应Tab键的顺序TabStop设置用户是否可以使用Tab键来选定对象Style设置控件的外观表2-1 (续)对象名称说明窗体(Form)属性BoderStyle设置窗体的边框风格Icon设置运行时窗体最小化所显示的图标Picture设置窗体上的背景图像AutoRedraw设置从Graphics方法到一个持久性位图的输出方法Hide用于隐藏MDIForm或Form对象,但不卸载Show用于显示MDIForm或Form对象Move用于改变对象的位置和大小Print用于在Form和PictureBo*上显

6、示文本和图形CLS清除在Form和PictureBo*上的文本和图形PrintForm用于将Form对象的图形逐位发送给打印机事件Initialize当应用程序创建*对象时发生,可应用该事件初始化窗体所用的数据,它在Load事件前发生Load当一个窗体被加载时发生Unload当窗体卸载时发生Click当在一个对象上单击鼠标左键时发生DblClick当在一个对象上双击鼠标左键时发生Resize当一个对象首次显示或窗口状态改变时发生Activate当一个窗体成为当前窗体时发生Deactivate当一个窗体不再是当前窗体时发生文本框(Te*tBo*)属性Te*t设置控件中包含的文本(小于32KB)M

7、a*Length设置控件中可以输入字符的最大数,0为任意个字符MultiLine决定用户是否可以接受多行文本Alignment设置复选框或选项按钮、或一个控件的文本的对齐ScrollBar决定对象是否有水平或垂直滚动条PasswordChar决定是否在控件中显示用户键入的字符SelStart*设置所选择文本的起始点SelLength*设置所选择文本的字符数SelTe*t*设置包含当前所选择文本的字符串方法Refresh强制全部重绘一个窗体或控件SetFocus将焦点移至指定的窗体或控件事件Change当文本框的容改变或通过代码改变Te*t属性的设置时时发生LostFocus当对象失去焦点时发生

8、GotFocus当对象获得焦点时发生KeyPress当一个对象具有焦点,按下并松开一个键时发生表2-1 (续)对象名称说明命令按钮(mandButton)属性Cancel设置该命令按钮是否为窗体的“取消”按钮Default设置该命令按钮是否为窗体默认的按钮Style设置命令按钮的外观是标准风格或图形风格Value*该命令按钮是否选中,True为选中,False为未选中方法SetFocus事件Click标签(Label)属性AutoSize决定控件是否能自动调整大小以显示所有的容WordWrap决定控件是否扩大以多行方式显示标题文字,前题是AutoSize为TrueBorderStyle设置边框

9、是立体的或是平面的BackStyle设置背景是透明或是不透明方法Refresh、Move事件Click、DblClick选项按钮(OptionButton)属性Caption设置选项按钮旁的标题文字Alignment设置选项按钮是在标题文字的左边或是右边Value设置选项按钮是否被选中,True为选中,False为未选中事件Click、DblClick复选框(CheckBo*)属性Caption同选项按钮Alignment同选项按钮Value设置选项按钮是否被选中,0:未选中,1:未选中,2:变灰,暂时不能访问事件Click框架(Frame)Caption该属性为空时,可作为一个封闭边框列表框

10、(ListBo*)属性List设置列表框中包含的项目Te*t*在列表框中最后选中的列表项的正文文本ListInde*在列表框中最后选中的列表项序号ListCount*列表框中的列表项数目Sorted决定是否将列表框中的列表项按ASCII码自动排序Columus决定列表框中的项目是按一列还是多列显示方法AddItem向列表框添加项目RemoveItem将列表框中所选中的列表项删除Clear清空列表框中的所有项目事件Click、DblClick表2-1 (续)对象名称说明组合框(boBo*)属性Style决定组合列表框的外观其余同ListBo*方法同ListBo*事件当Style为0 或 2时可响

11、应Click事件,当Style为1时可响应DblClick事件,当Style为0 或 1时可响应Change事件图片框(PictureBo*)属性Picture设置图片框的背景图像AutoSize决定图片框是否能自动调整大小以显示完整的图片方法Print、Move、Refresh事件Click图像(Image)属性Picture设置图像控件的背景图像Stretch确定是否缩放图形来适应图像控件大小方法Move、Refresh定时器(Timer)属性Enable设置该控件是否被激活Interval设置调用Timer控件的Timer事件间隔的时间(单位为毫秒,最大为65535毫秒)事件TimerT

12、imer控件可以有规律地隔一段时间执行一次代码水平/垂直滚动条(HscrollBar/VscrollBar)属性Min设置滚动块位于滚动条顶端或者最左侧时所代表的值Ma*设置滚动块位于滚动条底端或者最右侧时所代表的值LargeChange设置当用户在滚动条的空白处单击时增减的值SmallChange设置当用户在滚动条两端的箭头按钮上单击时增减的值Value滚动条当前的值事件Change在滚动块移动后或通过代码改变Value属性的设置时发生。Scroll在滚动块移动时发生注:加*号的属性为运行时属性第三章VB语言基础一基本概念应用程序的组成工程文件(.vbp)一个或若干个窗体模块(.frm)文件

13、一个或若干个标准模块(.Bas)文件事件过程(Sub)用户自定义过程(Sub)用户自定义函数过程(Function)用户自定义过程(Sub)用户自定义函数过程(Function)1. 过程与模块概念说明过程事件过程为窗体以及窗体上的对象所编写的用来响应由用户或系统引发的各种事件的程序代码通用过程一个应用程序中的不同窗体或者一个窗体不同的事件过程可以共享的程序代码模块窗体模块(.frm)窗体模块中包含事件过程,以及该窗体及窗体上的各个控件对象的属性设置以及相关的说明;窗体模块还可包含通用过程,它对来自任何事件过程的调用都作出响应标准模块(.bas)标准模块中保存的都是通用过程及相关的说明2. 数

14、据类型数据类型类型名称类型说明符存储空间(Byte)初始值数值型整型Integer%20长整型Long&4单精度Single!4双精度Double*8货币型Currency8字节型Byte1字符型变长字符串String$10+串长度空字符串定长字符串String*Size$串长度布尔型Boolean2False日期型Date80:00:00变体型Variant=16空字符串对象型Object43. 常量类型示例数值常量123、-9.876E-5(单精度)、3.14159265D8(双精度)、&O137(八进制)、&H2AB8(十六进制)字符常量Visual Basic、中国 2008奥运会 (

15、注:字符常量一定要放在西文双引号)逻辑常量True(真)、False(假)、非0值转换为True、0转换为False日期常量*12:35:48*、*7/12/2004*符号常量自定义语句格式:Const 常量名类型说明符 As 数据类型 = 表达式Const Pi!=3.1415926Const Olympic As String = 中国 2008奥运会颜色常量红色vbRed青色vbCyan绿色vbGreen洋红色vbMagenta蓝色vbBlue黑色vbBlack黄色vbYellow白色vbWhite4. 变量局部变量窗体/模块变量全局变量声明位置过程中通用声明通用声明声明方式DimSta

16、tic(静态)DimPrivatePublic作用域仅在说明它的过程中使用在定义该变量的模块或窗体的所有过程均有效在工程的所有过程中都有效5. 运算符与表达式(1) 运算符类型运算符 / 优先等级算术运算符 (指数) - (取负) * 和 / (整除) Mod (取余) + 和 -连接运算符+ (运算符两边同为字符型) 和 & (强制将两个不同类型的表达式作字符串连接)关系运算符、=、=、 (不等于)、Is (比较两个对象的引用变量)逻辑运算符Not (逻辑非) And (逻辑与) Or (逻辑或) *or (逻辑异或)(2) 表达式把常量和变量用运算符、括号连接起来的式子就是表达式。在VB表

17、达式中只能使用圆括号,且括号必须成对使用。(3) 运算规则l 优先顺序为:括号最优先算术运算连接运算关系运算逻辑运算l 相同数据类型的数据进行运算,运算结果也是同一类型l 不同数据类型的数据进行运算,运算结果为两个运算对象中存储长度较长的对象的类型例:Dim * As Integer, y As Integer * = 200: y = 200 Print * * y执行以上程序段,将出现“溢出”错误信息,若将其中y As Integer改为y As Single,则运算结果为40000。6. 常用部函数VB中有两类函数:部函数和用户自定义函数,用户自定义函数将在第八章中进行介绍。部函数是由系

18、统提供的,可在任何一个VB程序中随时使用的的程序段。以下表3-1表3-6分别列出了常用函数的格式与功能。注:使用时要注意每个函数的功能、参数个数及类型、以及函数返回值的类型。表3-1 算术函数函数名功能示例表达式结果Sqr(*)求*的平方根值,*0Sqr(16)4Log(*)求*的自然对数,*0Log(2)0.69314E*p(*)求以e为底的幂值,即求e*E*p(2)7.38906Abs(*)求*的绝对值Abs(-4.8)4.8He*(*)求*的十六进制数值,结果为一字符串He*(1000)3E8Oct(*)求*的八进制数值,结果为一字符串Oct(1000)1750Sgn(*)求*的符号,*

19、0为1,*=0为0,*0为-1Sgn(-10)Sgn(10)-11Rnd(*)产生一个在0,1区间均匀分布的随机数若产生mn之间的随机整数其通式为:Int(Rnd*(n-m)+1)+mInt(Rnd*(99-10)+1)+10产生两位随机整数Sin(*)求*的正弦值,*单位为弧度Sin(30*3.141592/ 180)0.5Cos(*)求*的余弦值,*单位为弧度Cos(30*3.141592/ 180)0.866025Tan(*)求*的正切值,*单位为弧度Tan(30*3.141592/ 180)0.57735Atn(*)求*的反正切值,*单位为弧度Atn(30*3.141592/ 180)

20、0.48235表3-2 字符串函数函数名功能示例表达式结果Len(St)求字符串St的长度(字符个数)Len(St*)14Left(St,n)从字符串St左边起取n个字符Left(st,4)I amRight(St,n)从字符串St右边起取n个字符Right(St,7)StudentMid(St,n1,n2)从字符串St左边第n1个位置开始向右起取n2个字符,若n2省略则取从n1到结尾的所有字符Mid(St,3,2)Mid(St,6)ama StudentUcase(St)将字符串St中所有小写字符改为大写Ucase(New)NEWLcase(St)将字符串St中所有大写字符改为小写Lcase

21、(NAME)nameLtrim(St)去掉字符串St的前导空格Ltrim( New)NewRtrim(St)去掉字符串St的尾随空格Rtrim(New )NewTrim(St)去掉字符串St的前导和尾随空格Trim( New )NewInstr(n,St1,St2)从St1的第n个位置起查找给定的字符St2,返回该字符在St1中最先出现的位置,n的缺省值为1,若没有找到St2,则函数值为0Instr(4,St,a)Instr(St,R)60String(n, St)得到由n个给定字符St组成的一个字符串String(6, *)*Space(n)得到n个空格A & Space(3) & BA B

22、注:表中出现的变量St=I am a Student表3-3 .转换函数函数名功能示例表达式结果Str(*)将数值数据*转换成字符串(含符号位)Str(1024) 1024CStr(*)将*转换成字符串型,若*为数值型,则转为数字字符串(对于正数符号位不予保留)Str(1024)1024Val(*)将字符串*中的数字转换成数值Val(1024B)1024Chr(*)返回以*为ASCII代码值的字符Chr(65)AAsc(*)给出字符*的ASCII代码值(十进制数)Asc(A)65CInt(*)将数值型数据*的小数部分四舍五入取整CInt(16.8)CInt(-16.8)17-17Fi*(*)将

23、数值型数据*的小数部分舍去Fi*(-16.8)-16Int(*)取小于等于*的最大整数Int(16.8)Int(-16.8)16-17表3-4 日期函数函数名功能Date$返回系统当前的日期Time$返回系统当前的时间Now返回系统当前的日期和时间Year(*)返回一个表示*的年号的整数,*为一有效的日期变量、常量或字符表达式Month(*)返回一个表示*的月份的整数,*为一有效的日期变量、常量或字符表达式Day(*)返回1-31之间的整型数,*为一有效的日期变量、常量或字符表达式Weekday(*,c)返回*是星期几,*为一有效的日期变量、常量或字符表达式,c是用于指定星期几为一个星期第一天

24、的常数,缺省时表示一周的星期天为第一天 表3-5 其它常用函数函数名格式和功能InputBo*格式InputBo*(prompt, title , default , *pos , ypos , helpfile, conte*t)功能在一对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框容的字符串。MsgBo*格式MsgBo*(prompt, buttons , title , helpfile, conte*t)功能在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击哪一个按钮。Format格式Format(e*pression, format, firstdayo

25、fweek, firstweekofyear)功能返回 Variant (String),根据格式表达式中的指令来格式化的IsNumeric格式IsNumeric(e*pression)功能返回Boolean值,指出表达式的运算结果是否为数。如果为数字,则 IsNumeric返回 True;否则返回False,若是日期表达式,则 IsNumeric 返回 False。LoadPicture格式LoadPicture(filename, size, colordepth,*,y)功能将图形载入到窗体、PictureBo* 控件或 Image 控件的 Picture 属性RGB格式RGB(red,

26、 green, blue)功能返回一个 Long整数,用来表示一个RGB颜色值7. 赋值语句:格式变量 = 说明其作用是当系统执行该语句时,先将“=”右边表达式的值计算出来,然后将该值保存到“=”左边的变量中示例常用的赋值语句形式如:计数:* = * + 1,求和:Sum=Sum+*,求阶乘:Fact+Fact*n等如果一个赋值语句左边变量的类型与右边表达式的类型不同,系统将视具体情况做出如下处理,表中出现的变量为:* As Integer, y As Double, St As String, Flag As Boolean右边表达式类型左边变量类型系统处理示例数值型数值型先求出表达式的值,

27、再将其转换为相应数值类型后赋值y=2.56 : *=y 结果: *=3字符型先求出表达式的值,再将其转换为字符型后赋值* = 100: y = 3.5: St = * + y 结果: 103.5* = 100: y = 3.5: St = * & y 结果: 1003.5逻辑型非0值=True,0 =False* = 100: Flag = y 结果: True字符型数值型由数字构成的字符串可以转换,否则将出现“类型不匹配”错误信息St = 12 + 34: * = St 结果: *=1234* = 12 + 34 结果: *=46St = 12 + 34: * = St 结果: 出错信息逻辑

28、型True=True,False=False数字串=数值型=逻辑型否则将出现“类型不匹配”错误信息St = False : Flag = St 结果: FalseSt = 1234: Flag = St 结果: TrueSt = 12 + 34: Flag = St结果: 出错信息逻辑型其他类型False= 0, True = -1St = 123: Flag = True* = Flag + St 结果: *=122第四章 算法基础及Visual Basic的基本语句一基本概念1. 算法:是解决*个问题或者处理*件事情的方法和步骤。在程序设计中,算法专指用计算机解决*一个问题的方法和步骤。2

29、. 算法分类:数值计算算法和非数值计算算法。3. 评价算法的依据:算法的正确性;运行的效率;占用系统资源的多少。4. 算法的特征:确定性,可行性,有穷性,输入性,输出性。5. 算法设计:可以采用“逐步求精”来进行算法设计并逐步将程序编写完善。所谓“逐步求精”是对一个复杂问题,不是一步就编成一个可执行的程序,而是分步进行。l 第一步编出的程序最为抽象;l 第二步编出的程序是把第一步所编的程序(如过程、函数等)细化,较为抽象;l l 第i步编出的程序比第i-1步抽象级要低;l l 直到最后,第n步编出的程序即为可执行的程序。所谓“抽象程序”是指程序所描述的解决问题的处理规则,是由那些“做什么”操作

30、组成,而不涉及这些操作“怎样做”以及解决问题的对象具有什么结构,不涉及构造的每个局部细节。逐步求精方法有多种具体做法,例如流程图方法、基于过程或函数的方法。程序的最抽象的三大步骤:(1) 数据输入;(2) 数据处理;(3) 数据输出;在针对具体的问题的时候,对这几步进行细化,根据问题选择使用什么样的控制结构。当然在具体的问题中,有时候这三大步不能很清晰的区分清楚,可能会出现交叉处理的现象,这时候就需要根据具体问题来作具体的处理了。6. 基本算法结构(1) 顺序结构系统在执行程序时,按顺序处理每条语句。(2) 分支结构If-Then-Esle-End If结构语句语句形式流程图单分支结构块形式I

31、f e ThenA组语句 End IfeA组语句TF行形式If e Then 语句注意:Then后面有且仅有单行语句双分支结构块形式If e ThenA组语句ElseB组语句End IfeA组语句B组语句TF行形式If e Then A语句 Else B语句注意:A语句和B语句都是单行语句多分支结构If e1 ThenA1组语句 ElseIf e2 ThenA2组语句ElseIf e3 ThenEnd Ife1A1组语句 A2组语句TFe2TFe3TFA3组语句嵌套的分支结构If e1 ThenA1组语句 ElseIf e2 ThenA2组语句ElseEnd IfEnd Ife1A1组语句 A

32、2组语句TFe2TFSelect-Case-End Select结构语句Select Case eCase c1A组语句 Case c2B组语句Case ElseN组语句End Selecte=c1A组语句 B组语句TFe=c2TFe=c3TFC组语句(3) 循环结构For-Ne*t循环语句形式执行方式流程图For v=e1 To e2 Step e3E*it ForNe*t ve30 循环变量递增e30 循环变量递减e3=0 死循环循环次数=Int(e2-e1)/e3)+1注意:在循环体中,当循环控制变量的值被改变后,循环的次数将不确定;e1、e2、e3在循环开始时进行一次性赋值。V超过e2

33、循环体TF计算e1,e2,e3v=e1v=v+e3Do-Loop循环当型循环Do While e E*it Do Loop先判断,再执行当条件成立时执行循环体e循环体FTDo Until e E*it Do Loop先判断,再执行当条件不成立时执行循环体e循环体TF直到型循环Do E*it Do Loop While e先执行,再判断当条件成立时执行循环体至少执行一次循环e循环体TFDo E*it Do Loop Until e先执行,再判断当条件不成立时执行循环体至少执行一次循环e循环体FT无条件循环Do If e then E*it DoLoop无条件执行循环体,即死循环。若在循环体中加入

34、配合If 语句使用的E*it Do,就可以构成有条件的循环结构。循环体7. E*it语句程序执行到E*it语句时,就会直接退出相关的结构,转而去执行该结构后的下一条语句。常见的形式是与If语句结合使用,格式为: If e then E*it 语句格式相关结构说明E*it DoDo-Loop循环结构跳出循环结构,转而去执行循环后面的其他语句E*it ForFor-Ne*t循环结构E*it SubSub过程跳出过程,转而去执行过程调用语句之后的其他语句E*it FunctionFunction过程8. 循环嵌套如果在一个循环完整地包含另一个循环结构,则成为多重循环、或循环嵌套。嵌套的层数可以根据需

35、要而定,嵌套一层称为二重循环,嵌套两层称为三重循环。对于循环的嵌套,要注意以下事项:(1) 循环控制变量与外循环控制变量不能同名;(2) 外循环必须完全包含循环,不能交叉;(3) 不能从循环体外转向循环体,也不能从外循环转向循环,反之则可。第五章 数组一基本概念1. 数组:是一组具有相同类型的有序变量的集合。数组中的变量使用一片连续的存储单元,数组中所有变量使用同一个名字标识。数组分固定大小数组、动态数组和控件数组。数组说明固定大小数组格式Public|Priavte|Static|Dim ()As注意事项只能在标准模块中定义公用(全局)数组数组的默认下界是0维的上、下界说明必须是常数表达式,

36、不可以是变量名。动态数组格式(1).定义不指明大小的数组Public|Priavte|Static|Dim () As (2).在确定了数组所需的大小后,使用ReDim语句来动态地定义数组的大小,分配存储空间ReDim Preserve 数组名(维界定义)注意事项ReDim语句是一个可执行语句,只能出现在过程中。重新定义动态数组时,不能改变数组的数据类型。重新定义动态数组时,可以使用变量说明动态数组新的大小。若要保留原数组的容,应在语句中使用关键字Preserve。若是用了关键字Preserve,则只能改变最后一维的维上界。控件数组。格式(1).创建同名控件(2).复制现存控件注意事项同一控件

37、数组的控件类型是相同的控件数组中所有的控件名称相同;控件数组中所有的控件所对应的事件过程是相同的;控件数组中每个控件的Inde*属性用于区别数组的其他控件。2. 数组函数及数组语句下表给出了数组相关函数和语句的说明:函数或语句功能与示例Option Base 0|1(1)Option Base 1,数组维下界值为1(2)无Option Base 语句,数组维下界值为0LBound(数组名,维数)返回数组可用的最小下标Dim A(6) As Integer,Dim B(3,-1 To 4) As Single则:LBound(A)的值是0,LBound(B,2)的值是-1UBound (数组名,

38、维数)返回数组可用的最大下标Dim A(6) As Integer,B(3,-1 To 4) As Single则:UBound(A)的值是6,UBound(B,1)的值是3 LBound(B,2)的值是4Erase 数组名1,数组名2,功能:重新初始化固定大小数组的元素,或者释放动态数组的存储空间For Each Element In 语句组E*it For语句组Ne*t Element功能:该语句按照数据的结构,依次对数组中的每一个元素执行一次循环体。数组有多少个元素就执行几次循环体。3. 数组的基本操作:(1) 数组处理常用的控制语句数组类型控制语句的形式一维数组For i=To 处理数

39、组中的第i个元素:数组名(i)Ne*ti表示数组元素的下标二维数组For i=To For j=To 处理数组中的第i行第j列个元素:数组名(i,j)Ne*tiNe*t j变量i代表数组元素行下标;变量j代表数组元素列下标(2) 数组元素的赋值根据程序的需要采用不同的赋值方式,以下是常用的赋值方式:方式示例直接赋值Dim A(3) As IntegerA(1)=28: A(2)=456 :A(3)=2337使用Rnd函数赋值Dim B(6,3) As Integer,i As IntegerFor i=1 To 6 For j=1 To 3 B(i,j)=Int(Rnd*90)+10 Ne*t

40、 jNe*t iInputBo*函数赋值Dim C(4) As Integer,i As IntegerFor i=1 To 4 C(i)=InputBo*(“请输入第” & i & ”个元素的值”)Ne*t i用Array函数赋值(只可以给Variant变量赋值)Dim * As Variant*=Array(7,5,3,2,1)Print *(1),*(4),*(5)(3) 数组元素的输出当程序显示信息时,可以以不同的方式显示,以下总结了常见的输出方式和语句格式:对象格式说明窗体Print 输出信息m,然后换行Print & 信息m1和m2相连在同一行上,然后换行Print ; 同上Pri

41、nt ;输出信息m,但不换行Print 不输出信息,直接换行文本框Te*t1=信息m替代文本框的原容Te*t1= Te*t1 & Te*t1的原容后增加信息mTe*t1= Te*t1 & “ & Te*t1的原容后增加空格和信息mTe*t1=Te*t & Chr(13) & Chr(10)使Te*t1换行,以后再增加信息时会显示到下一行去。(注意,必须设置文本框的MultLine=True)图片框Pricture1.PrintPrint的使用格式同窗体列表框List1.AddItem 增加信息m作为列表框的新一个条目List1.AddItem & 信息m1和m2合并成为列表框的新一个条目消息窗

42、口MsgBo*函数该函数的使用方式见表3-54. 常用的数组基本算法:算法相关例题或习题数组元素求和(所有元素求和,部分元素求和)教材本章习题3, 5, 6, 9求数组中最小或最大元素及其下标教材例5-1,教材本章习题7,9,实验5-4数组中各元素值相互交换教材本章习题1,9数据排序教材例5-3,实验5-3在数组中查找*个数* (顺序查找和二分法查找)教材例5-3,教材例5-4矩阵的加、减法及乘法和矩阵的转置教材例5-6,教材本章习题10第六章 程序调试一基本概念1. VB的工作状态:VB有三种工作状态,VB集成环境窗口的标题栏上会显示当前的工作状态的。工作状态说明切换状态的方法设计态设计时在

43、设计态时,可以设计程序的交互界面和编写相关的代码l “运行”菜单中“启动”菜单项l 标准工具栏中的按钮运行态运行时程序正在运行的时期,此状态下可查看代码但不能改动程序代码l “运行”菜单中“结束”菜单项l 标准工具栏中的按钮中断态程序在运行的中途被暂停执行的状态。在中断模式下,以修改程序代码,检查、调试、重置、单步执行或继续执行程序。l 运行时因发生运行错误而暂停程序的执行;l 运行态下,按Ctrl+Break键或单击“运行”菜单中“中断”菜单项;l 程序执行到断点所在的代码行;l 按逐语句或逐过程执行时,每执行完一个语句或一个过程后;切换到设计态:l 标准工具栏中的按钮切换到运行态:l 标准

44、工具栏中的 按钮2. 错误类型:VB程序设计所产生的三类错误如下:错误类型说明常见的错误语法错误违反VB语言有关语句使用形式或使用规则而产生的错误关键字拼写错误;标点符号错;语句不完整;对象名称或属性名、方法名、系统函数名拼写错误;在通用声明处使用了Option E*plicit语句,相关变量未定以或变量名拼写错误;块If没有对应的End If语句;For循环没有对应的Ne*t语句;Do循环没有对应的Loop语句。运行错误试图执行一个不可进行的操作而引起的错误逻辑错误编写的程序代码不能实现预定的处理功能要求而产生的错误3. 程序调试:程序调试的任务就是确定导致错误结果的原因,以及错误发生的地方

45、。调试的技巧并不神秘,每次的调试工作也无规可循。程序调试常用的手段就是在程序运行中,对各段代码运行后的结果进行检查以确认错误发生的位置,因此,我们可以通过控制程序的运行来逐步的观察。控制程序运行有以下几种方式:方式说明操作方式逐语句运行一次执行一个语句,每执行一个语句就进入中断模式l 按F8键l 调试工具栏的按钮逐过程运行一次执行一个语句。当遇到过程调用语句时,不对过程中的语句逐句执行,而是一次性将过程执行完毕l 按Shift+F8键l 调试工具栏的按钮从过程中跳出执行当前执行语句所在过程中剩余的未执行的代码段,程序的执行点转到过程调用语句的下一行l 按Ctrl+Shift+F8键l 调试工具

46、栏的按钮设置断点程序代码中做了标记的位置,程序在执行到断点所在处将由运行态转换到中断态。l 在代码行左端竖栏中单击鼠标l 按F8键l “调试”菜单“切换断点”菜单项l 调试工具栏的按钮清除当前程序中所有断点:l 按Ctrl+Shift+F9键l “调试”菜单“清除所有断点”菜单项4. 程序调试窗口:(1) 本地窗口用于自动显示出所有当前过程中声明的变量及其值。(2) 监视窗口用于查看指定表达式的值。(3) 立即窗口当调试一个应用程序时,可以用“立即窗口”执行单个的过程、对表示式求值或为变量或属性赋予新的值,并可以通过在“立即窗口”中显示表达式的值来计算表达式。在“立即窗口”中显示表达式的值的方

47、法:使用Print语句。如果在程序执行时希望把值显示到“立即”窗口中,可以使用如下格式的Print语句:Debug.Printp1p2或 p1p2第七章文件一基本概念1. 文件管理控件常用的属性与事件控件名称说明驱动器列表框(DriveListBo*)属性Drive返回用户选取的驱动器或指定出现在列表框顶端的驱动器,运行时属性。事件Change用户选择一个驱动器或输入一个合法的驱动器标识符或在程序中给Drive属性赋新值。目录列表框(DirListBo*)属性Path用于设置和返回目录列表框中的当前目录,运行时属性。事件Change双击目录列表框中的目录项或在程序代码过赋值语句改变Path属性

48、值。文件列表框(FileListBo*)属性Path用于设置和返回文件列表框中所显示文件的路径,运行时属性。Pattern设置程序运行时文件列表框中需要显示的文件种类。FileName设置和返回文件列表框中将显示的文件名称。事件PathChange改变文件列表框的Path属性值。PatternChange改变文件列表框的Pattern属性值。2. 顺序文件的基本操作操作语句形式功能打开文件Open 文件名 For Output As *文件号用于创建文件,向文件输出数据;若文件已经存在,则输出的容将重写整个文件, Open 文件名 For Append As *文件号用于向已经存在的文件中添加

49、数据,新写入的数据添加在文件的尾部,文件中原来的容不会丢失。Open 文件名 For Intput As *文件号用于打开一个已经存在的文件,从该文件中读取数据。写操作Print *文件号,输出列表将一个或多个数据以标准格式或紧凑格式写入文件。Write *文件号,输出列表将一个或多个数据以紧凑格式写入文件,写入的数据之间自动加逗号和双引号。读操作Input *文件号 ,变量表从一个打开的顺序文件中读取数据,并将这些数据依次赋给变量表中的变量。Line Input *文件号,变量名从一个打开的顺序文件中读出一行数据赋给一个字符型变量或变体型变量。函数Input(n,*文件号)从一个打开的顺序文

50、件中读出n个字符(包括空格、回车符、换行符等)作为函数的返回值。关闭Close *文件号,*文件号关闭一个或多个用Open语句打开的文件。Reset关闭所有用Open语句打开的文件。3. 文件中常用的函数函数名功能EOF 将返回一个表示文件是否到达文件末尾的标志,到文件尾其值为True,否则为False。LOF返回已用Open打开的*个文件的长度(字节数)。Filelen返回*个文件的长度(字节数)。FreeFile以整数形式返回Open语句可以使用的下一个有效文件号(1511)。第八章 过程一基本概念1. 过程的定义Sub过程事件过程窗体事件过程控件事件过程Private Sub Form_

51、事件名(参数列表)局部变量和常量声明语句块End SubPrivate Sub 控件名_事件名(参数列表)局部变量和常数声明语句块End Sub通用过程Private | PublicStatic Sub 过程名(参数列表)局部变量和常量声明语句块E*it SubEnd SubFunction过程定义形式Private | PublicStatic Function 函数名(参数列表)As 数据类型局部变量和常量声明语句块函数名=表达式E*it Function语句块函数名=表达式End Function2. 过程的调用Sub过程Function过程方法一Call (实参表) = (实参表)

52、方法二 实参1,实参2, (实参表)3. 形参和实参形参实参概念定义Sub或Function时,出现在形参表中的变量名、数组名在调用Sub或Function过程时,传送给相应过程的变量名、数组名、常数或表达式格式ByValByRef 变量名() As数据类型4. 参数的传递按值传递按地址传递特点形参前加关键字“ByVal”形参前加关键字“ByRef”,或省略关键字过程调用时,VB给按值传递参数分配一个临时存储单元形参和实参共用存的同一“地址”按值传递参数,传递的只是实参变量的副本若实参是变量、数组元素或数组,则形参和实参类型必须一致,否则出错过程中改变形参值,只影响副本过程中改变形参值,将同时

53、改变形参和实参中的值若实参为一个常量或者表达式,VB将按传值方式处理若实参是与形参类型不一致的常数或表达式,VB会按要求进行数据转换,再将转换后的值传递给形参对于简单变量M,加括号即(M)则变为表达式,VB将按传值方式处理数组参数形参数组只能是按地址传递的参数(即前面不能有ByVal),对应实参也必须是数组,且数据类型必须一致。对于定长字符串,长度可以不同。调用过程时把要传递的数组名放在实参列表中即可,数组名后不跟括号。过程中不可以对数组再进行声明,但在使用动态数组时,可以用ReDim语句改变形参数组的维界,重新定义数组的大小。5. 递归过程递归过程是在过程定义中直接或间接调用自身来完成*一特

54、定的任务的过程,递归过程中必须有递归结束语句。递归有两种:l 直接递归:自己调用自己l 间接递归:A调用B,B调用A6. 变量的声明及使用规则作用围局部变量窗体/模块变量全局变量窗体标准模块声明位置过程中通用声明通用声明声明方式DimStatic(静态)DimPrivatePublic被本模块其他过程存取不能能能被其他模块存取不能不能能变量名前加窗体名能7. 过程定义及调用规则作用围模块级全局级窗体标准模块窗体标准模块定义方式PrivatePublic被本模块的其他过程调用能能能被其他模块调用不能不能能必须在过程名前加窗体名能过程名必须唯一否则要加标准模块名8. 常用通用过程的定义使用自定义过

55、程的两个作用是:(1) 使程序分成离散的逻辑单元,整个程序容易调试(2) 可以实现代码的共享,而不必做过多的修改掌握过程的定义与调用,对于我们学习和理解过程有着举足轻重的作用,下面表8-1给出一些常用通用过程的定义示例,表中还列出了对于同一问题的不同过程的定义方式,便于大家比较与理解。表8-1 常用通用过程的定义示例功能定义示例随机整数Private Sub RanNumber(Min As Integer, Ma* As Integer, N As Integer, *() As Integer) Dim i As Integer ReDim *(N)For i = 1 To N *(i) = Rnd * (Ma* - Min) + Min Ne*tEnd Sub数组元素排序Private

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!