VisualBasic程序设计教程第四版龚沛增完整ppt课件

上传人:工**** 文档编号:569282807 上传时间:2024-07-28 格式:PPT 页数:326 大小:6.38MB
返回 下载 相关 举报
VisualBasic程序设计教程第四版龚沛增完整ppt课件_第1页
第1页 / 共326页
VisualBasic程序设计教程第四版龚沛增完整ppt课件_第2页
第2页 / 共326页
VisualBasic程序设计教程第四版龚沛增完整ppt课件_第3页
第3页 / 共326页
VisualBasic程序设计教程第四版龚沛增完整ppt课件_第4页
第4页 / 共326页
VisualBasic程序设计教程第四版龚沛增完整ppt课件_第5页
第5页 / 共326页
点击查看更多>>
资源描述

《VisualBasic程序设计教程第四版龚沛增完整ppt课件》由会员分享,可在线阅读,更多相关《VisualBasic程序设计教程第四版龚沛增完整ppt课件(326页珍藏版)》请在金锄头文库上搜索。

1、采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物VisualBasic程序设计教程程序设计教程(第四版)(第四版)龚沛增龚沛增杨志强杨志强陆慰民陆慰民编编国家精品课程主讲教材国家精品课程主讲教材普通高等教育普通高等教育“十一五十一五”国家级规划教材国家级规划教材高等教育百门精品课程教材高等教育百门精品课程教材采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物章章内内 容容学时学时实验与学时实验与学时第第1 1章章Visual

2、BasicVisual Basic程序设计概述程序设计概述3 3实验实验A 1A 1第第2 2章章VBVB可视化编程基础可视化编程基础5 5实验实验B 1B 1第第3 3章章VBVB语言基础语言基础5 5实验实验C 2C 2第第4 4章章VBVB控制结构控制结构6 6实验实验D 2D 2第第5 5章章数组和自定义类型数组和自定义类型6 6实验实验E 4E 4第第6 6章章过过 程程6 6实验实验F 4F 4第第7 7章章用户界面设计用户界面设计6 6实验实验G 4G 4第第8 8章章数据文件数据文件5 5实验实验H 3H 3第第9 9章章图形操作图形操作4 4实验实验I 3I 3第第1010章

3、章数据库应用基础数据库应用基础6 6实验实验J 2J 2合计合计54542626教学安排教学安排见教学进度表见教学进度表采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第第1章章 Visual Basic程序设计概述程序设计概述1.1 Visual Basic 简介简介1.2 VB集成开发环境集成开发环境1.3 创建应用程序过程创建应用程序过程1.4 VB帮助系统帮助系统 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.

4、1VisualBasic简介简介1.1.1VisualBasic的发展的发展1.1.2VisualBasic的特点的特点1.1.3如何学习如何学习VisualBasic采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.1.1VisualBasic的发展的发展BASICBASIC(BeginnerBeginners All-purpose s All-purpose Symbolic Instruction CodeSymbolic Instruction Code)语言的发展)语言的发展概况(四阶段):概况

5、(四阶段):1.1.初级初级BasicBasic:64647474,BasicBasic语言问世语言问世2.2.微机微机BasicBasic:75758585,微机上固化,微机上固化BasicBasic语言语言3.3.结构化结构化BasicBasic:86869090,结构化的,结构化的BasicBasic语言语言4.4.可视化可视化BasicBasic:9191至今,至今,VBVB(微软推出)(微软推出)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物Visual Basic的发展的发展19911991年年

6、MicrosoftMicrosoft公公司司推推出出Visual Visual Basic1.0Basic1.0,以以可可视视化化工工具具为为界界面面设设计计、结结构构化化BasicBasic语语言言为为基基础础,以以事事件件驱驱动动为为运运行行机机制制。从从19911991年年的的VB1.0VB1.0至至19981998年年的的VB6.0VB6.0的的多多次次版版本本升升级级,功功能能更更强强大大、完完善善,应用面更广。应用面更广。20002000年年 发发 布布 Visual Visual Basic.NETBasic.NET, 20052005年年 发发 布布Visual Basic 2

7、005Visual Basic 2005版本。版本。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.1.2VB的特点的特点例例1简简单单动动画画演演示示。一一行行文文字字在在具具有有背背景景图图案案的的窗窗体体上上进进行行上上、下下移移动动。单单击击手手动动按按钮钮,移移动动50Twip50Twip;单单击击自自动动按按钮钮,可可以以连连续续移移动动。当当内容超出窗体底部时,又从顶部开始往下移动内容超出窗体底部时,又从顶部开始往下移动。设计思路:设计思路:在窗体上使用标签在窗体上使用标签LabelLabe

8、l对象来存放文字;对象来存放文字;利用利用TimerTimer控件来自动触发移动;控件来自动触发移动;利用单击利用单击按钮按钮来手动触发移动。来手动触发移动。7采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物当一个标签放在窗体上时,标签的左上角坐当一个标签放在窗体上时,标签的左上角坐标(用标(用LeftLeft、TopTop表示)就被指定了。表示)就被指定了。如如果果改改变变标标签签的的左左上上角角坐坐标标就就可可移移动动标标签,即移动文字。签,即移动文字。例例如如: : Label1.Top=Label1.

9、Top+50Label1.Top=Label1.Top+50可可使使标签标签Label1Label1向下移动向下移动5050单位。单位。欢迎使用欢迎使用VBTopLeft0,08采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物实实现现连连续续移移动动,可可通通过过时时钟钟对对象象TimerTimer,在规定的时间间隔连续执行,在规定的时间间隔连续执行: : Label1.Top=Label1.Top+50Label1.Top=Label1.Top+50语语句句,就就可可使标签使标签Label1Label1连续

10、向下移动。连续向下移动。时时钟钟对对象象的的IntervalInterval可可指指定定时时间间间间隔隔,以以毫毫秒秒单单位位。每每隔隔0.20.2秒秒移移动动一一次次可可设设置置Interval=200Interval=200。9采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物程序进一步改进:程序进一步改进:连连续续循循环环移移动动,首首先先要要能能判判断断出出标标签签是是否否超超出出窗体范围。窗体范围。该点在该点在TopTop方向上的坐标为方向上的坐标为: :窗体的高度窗体的高度HeightHeight如

11、如果果标标签签的的TopTop 窗窗体体的的高高度度,表表示示已已越越出出窗窗体体范范围围,可可将将标标签签移移到到窗窗体体上上方方,此此时时标标签签的的TopTop= =?窗体窗体欢迎使用欢迎使用VBHeight10采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.1.具有基于对象的可视化设计工具具有基于对象的可视化设计工具2.2.事件驱动的编程机制事件驱动的编程机制3.3.提供了易学易用的集成开发环境提供了易学易用的集成开发环境 4.4.支持结构化程序设计语言支持结构化程序设计语言5.5.强大的网络、数

12、据库、多媒体功能强大的网络、数据库、多媒体功能 6.6.完备的帮助功能完备的帮助功能VB功能特点功能特点采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物如何学习如何学习VisualBasic两个方面:两个方面:VisualVisual可视化界面设计可视化界面设计BasicBasic程序设计程序设计采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物vVBVB系统的安装系统的安装vVBVB系统的系统的启动启动vVBVB集成开发环境

13、的使用集成开发环境的使用1.2 VB VB集成开发环境集成开发环境 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.2.1安装安装VB6.0有有 学学 习习 版版 ( Learning) 、 专专 业业 版版(Professional)和和企企业业版版(Enterprise)三三种种版版本本。执执行行VB6.0的的Setup.exe,在在安安装装程程序序的提示下进行,初学者可采用的提示下进行,初学者可采用典型安装典型安装方式。方式。VB6.0联联机机帮帮助助文文件件使使用用MSDN文文档档格格式式,联联机

14、机帮帮助助文文件件不不在在VB6.0系系统统盘盘上上,而而与与VisualStudio产产品品的的帮帮助助集集合合在在两两张张CD盘盘上上,安安装装过过程中,系统会提示插入程中,系统会提示插入MSDN盘。盘。14采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.2.2启动启动启启动动VBVB选选择择开开始始菜菜单单中中的的 Microsoft Microsoft Visual Visual Basic 6.0Basic 6.0中文版程序。中文版程序。VBVB窗窗口口列列出出了了VBVB能能够够建建立立的的应

15、应用用程程序序类类型型,初学者只要选择默认初学者只要选择默认标准标准.EXE.EXE。单击打开按钮,就可创建单击打开按钮,就可创建 该类型的应用程序。该类型的应用程序。 15采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.2.3集成开发环境使用集成开发环境使用16采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物一、一、主窗口主窗口 1.1.标题栏标题栏三种工作模式:三种工作模式:设计模式:界面的设计和代码的编制设计模式:

16、界面的设计和代码的编制运行模式:运行应用程序运行模式:运行应用程序中断模式:暂时中断程序运行,调试程序中断模式:暂时中断程序运行,调试程序 2.2.菜单栏菜单栏 包括包括1313个下拉菜单个下拉菜单 3.3.工具栏工具栏标准、编辑、窗体编辑器、调试等工具栏标准、编辑、窗体编辑器、调试等工具栏采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物二、二、窗体设计窗口窗体设计窗口(Form)(Form)u窗窗体体是是建建立立VBVB应应用用程程序序的的主主要要部部分分,一一个个应应用程序至少有一个窗体窗口。用程序至少有

17、一个窗体窗口。u每每个个窗窗体体必必须须有有一一个个唯唯一一的的窗窗体体名名,默默认认名名为为Form1Form1。u设设计计状状态态的的窗窗体体由由网网格格点点构构成成,方方便便用用户户对对控控件件的的定定位位,网网格格点点间间距距可可以以通通过过工工具具| |选选项项| |通用通用进入窗体网格设置。进入窗体网格设置。u运行时可通过属性控制窗体的可见性运行时可通过属性控制窗体的可见性( (窗体的窗体的网格始终不显示网格始终不显示) )。u利用利用Shift+F7Shift+F7组合键打开窗体窗口组合键打开窗体窗口。18采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断

18、管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物三、代码三、代码(Code)设计窗口设计窗口1.1.代码窗口作用代码窗口作用 编辑和显示窗体、标准模块中的代码。每个窗体都有各自的编辑和显示窗体、标准模块中的代码。每个窗体都有各自的代码窗口。代码窗口。2.2.代码窗口的组成代码窗口的组成 (1 1)“对象对象”下拉列表框下拉列表框 (2 2)“过程过程”下拉列表框下拉列表框 (3 3)“代码代码”框框 (4 4)“过程查看过程查看”按钮按钮 (5 5)“全模块全模块”查看按钮。查看按钮。3.3.代码窗口的打开方法代码窗口的打开方法(4种)种) (1 1)热键)热键F7 F7 (2 2

19、)“视图视图” “代码窗口代码窗口” (3 3)在窗体窗口中双击任一控件或窗体本身)在窗体窗口中双击任一控件或窗体本身 (4 4)从工程窗口中选择窗体或模块后单击)从工程窗口中选择窗体或模块后单击“查看代码查看代码”按钮。按钮。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物四、属性四、属性(Properties)(Properties)窗口窗口1.1.作作用用:设设置置或或查查看看窗窗体体及及控控件件的的属属性性,如如颜颜色色、字体、大小等。字体、大小等。2.2.属性窗口的属性窗口的组成组成:对象列表对象列

20、表框、属性显示排框、属性显示排列方式、属性列列方式、属性列表框和属性含义表框和属性含义说明说明。20采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物四、属性四、属性(Properties)(Properties)窗口窗口3.3.属性窗口的打开方法(属性窗口的打开方法(4 4种)种)(1 1)热键)热键F4 F4 (2 2)“视图视图” “属性窗口属性窗口”(3 3)单击工具栏上的)单击工具栏上的“属性窗口属性窗口”按钮按钮(4 4)右击对象,在快捷菜单中选择)右击对象,在快捷菜单中选择“属性窗属性窗口口”命令

21、命令采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.1.工程资源管理器的作工程资源管理器的作用:用:用层次化管理方式显示用层次化管理方式显示一个应用程序所有的文件。一个应用程序所有的文件。2.2.工程资源管理器的组工程资源管理器的组成:成:“查看代码查看代码”按钮、按钮、“查看对象查看对象”按钮、按钮、“切换文件切换文件夹夹”按钮和一个列表窗口。列按钮和一个列表窗口。列表窗口中显示了本工程文件表窗口中显示了本工程文件(.vbp)中的所有窗体文件)中的所有窗体文件(.frm)和模块文件(标准模)和模块文件(

22、标准模块文件块文件.bas和类模块文件和类模块文件.cls)等。)等。已存盘已存盘未存盘未存盘五、工程管理器五、工程管理器(ProjectExplorer)窗口窗口22采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物五、五、工程管理器工程管理器(Project Explorer)(Project Explorer)窗口窗口3.3.工程资源管理器的打开方式(工程资源管理器的打开方式(3 3种)种)(1 1)单击工具栏上的)单击工具栏上的“工程资源管理器工程资源管理器”按按钮钮(2 2)热键)热键Ctrl+R C

23、trl+R (3 3)“视图视图” “工程资源管理器工程资源管理器”采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物六、六、工具箱工具箱(ToolBox)(ToolBox)窗口窗口 由由2121个个被被绘绘制制成成按按钮钮形形式式的的图图标标构构成成,利利用用这这些些工工具具,用用户户可可以以在在窗窗体体上上设设计计各各种种控控件件。其其中中2020个个控控件件称称为为标标准准控控件件( (注注意意,指指针针不不是是控控件件,仅仅用用于于移移动动窗窗体体和和控控件件,以以及及调调整整它它们们的的大大小小) )

24、。也也可可通通过过工工程程| |部部件件命命令令将将第第3 3方方开开发发的其他控件装入到工具箱。的其他控件装入到工具箱。24采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物七、其他窗口七、其他窗口1.1.立即(立即(ImmediateImmediate)窗口)窗口 为调试程序提供的,可在此直接用为调试程序提供的,可在此直接用PrintPrint方方法输出表达式的值,也可以在程序代码中法输出表达式的值,也可以在程序代码中用用Debug.printDebug.print语句在立即窗口输出表达式语句在立即窗口输出

25、表达式的值。的值。2.2.窗体布局(窗体布局(Form LayoutForm Layout)窗口)窗口 用于指定程序运行时窗体的初始位置,主用于指定程序运行时窗体的初始位置,主要应用于多窗体程序中。要应用于多窗体程序中。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.3 创建应用程序的过程创建应用程序的过程 建立一个应用程序分为以下几步:建立一个应用程序分为以下几步:(1) (1) 建立用户界面的对象建立用户界面的对象(2) (2) 对象属性的设置对象属性的设置(3) (3) 对象事件过程及编程对象事件

26、过程及编程(4) (4) 保存和运行程序保存和运行程序例例1.2 1.2 编写一个人民币与美元兑换的程序。编写一个人民币与美元兑换的程序。要求:通过输入兑换比率与人民币或美元要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示兑换结果。金额,单击命令按钮显示兑换结果。26采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物设计思路:设计思路: 输入使用文本框输入使用文本框TextBox;TextBox; 提示使用标签提示使用标签Label;Label; 按钮按钮CommandCommand的的ClickCl

27、ick事件执行处理命令。事件执行处理命令。27采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.4 使用帮助系统使用帮助系统 使用使用MSDN LibraryMSDN Library查阅器查阅器通过通过VBVB的帮助菜单,选择内容、索引或搜索菜单项的帮助菜单,选择内容、索引或搜索菜单项 28采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物本章小结本章小结VBVB的突出特点的突出特点可视化的设计工具可视化的设计工具事件驱动的

28、编程机制事件驱动的编程机制VBVB集成开发环境集成开发环境三种工作模式三种工作模式窗体窗口窗体窗口属性窗口属性窗口代码窗口代码窗口工程资源管理器窗口工程资源管理器窗口创建应用程序的过程创建应用程序的过程建立界面、属性设置、编写代码、运行与保存程序建立界面、属性设置、编写代码、运行与保存程序采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第第2章章 VB可视化编程基础可视化编程基础2.1 VB对象概念对象概念2.2 窗体和基本控件窗体和基本控件2.3 综合应用综合应用 采用PP管及配件:根据给水设计图配置好PP

29、管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.1 VB对象的概念对象的概念2.1.1对象和类对象和类1.对象对象指指现现实实世世界界中中的的实实体体。如如一一个个人人、一一辆辆汽汽车车、一台电脑、一份报表等。一台电脑、一份报表等。每每个个对对象象有有自自己己的的特特征征(属属性性)、行行为为(方方法法)和和发发生在该对象上的活动生在该对象上的活动(事件事件)。例例如如人人具具有有身身高高、体体重重等等特特征征,具具有有行行走走、说说话话等等行行为为,外外界界作作用用在在人人对对象象上上的的各各种种活活动动,如如下下雨雨等。等。采用PP管及配件:

30、根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.类的概念类的概念在在现现实实中中,许许多多对对象象具具有有相相似似的的性性质质,执执行行相相同同的的操操作,称之为同一类对象。作,称之为同一类对象。类类是对同一种对象的集合与抽象。是对同一种对象的集合与抽象。如如人人类类是是“人人”的的抽抽象象。类类是是创创建建对对象象实实例例的的模模板板,对象则是类的一个实例。对象则是类的一个实例。类类包包含含所所创创建建对对象象的的属属性性数数据据,以以及及对对这这些些数数据据进进行行操操作作的的方方法法。封封装装和和隐隐藏藏是是类类的的

31、重重要要特特性性,将将数数据据结结构构和和对对数数据据的的操操作作封封装装在在一一起起,类类的的内内部部实实现现细细节节对对用用户户来来说说是透明的。是透明的。32采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.VB中的类和对象中的类和对象 VB工工具具箱箱中中的的可可视视图图标标是是VB系系统统设设计计好好的的标标准准控控件件类类。通通过过将将控控件件类类实实例例化化,得得到到真真正正的的控控件件对对象象。在在窗窗体体上上画画一一个个控控件件,就就将将类类转换为对象,创建了一个控件对象。转换为对象,创建

32、了一个控件对象。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例如如:工工具具箱箱内内的的TextBox是是类类(它它确确定定了了TextBox的的属属性性、方方法法和和事事件件),窗窗体体上上显显示示的的是是两两个个TextBox对象。对象。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物VB中中常常用用的的对对象象是是控控件件。此此外外,VB还还提提供供了了系系 统统 对对 象象 : 打打 印印 机机 ( Print

33、er) 、 剪剪 贴贴 板板(Clipboard)、屏屏幕幕(Screen)和和应应用用程程序序(App)等。)等。窗窗体体是是个个特特例例,它它既既是是类类也也是是对对象象。当当向向一一个个工工程程添添加加一一个个新新窗窗体体时时,实实质质就就由由窗窗体体类类创创建建了一个窗体对象。了一个窗体对象。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物属性属性、事件事件和和方法方法构成对象的构成对象的三要素三要素。1.属性属性:存放对象的数据:存放对象的数据(决定对象外观及功能决定对象外观及功能)例如:控件名称、

34、文本、大小等属性。例如:控件名称、文本、大小等属性。对象属性的设置方法:对象属性的设置方法:v在设计阶段,利用属性窗口直接设置属性值在设计阶段,利用属性窗口直接设置属性值v程序运行时,通过语句程序运行时,通过语句 对象名对象名.属性名属性名= =属性值属性值例如:例如:Command1.Caption=确定确定注注意意:若若属属性性只只能能在在设设计计阶阶段段设设置置,在在程程序序运运行行阶阶段段不不可改变,称为只读属性。可改变,称为只读属性。 2.1.2 对象的属性、事件和方法对象的属性、事件和方法 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,

35、以保证切口面的圆度,保持熔接部位干净无污物(1)事件)事件:发生在对象上的事情。发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应同一事件,对不同的对象,会引发不同的反应:2.事件事件教师教师_铃声铃声()讲课讲课EndSub学生学生_铃声铃声()听讲听讲EndSubVB为为对对象象预预先先定定义义了了一一系系列列的的事事件件。例例如如,单单击击Click、获获取取焦焦点点GotFocus、按按下下键键盘盘KeyPress等等其他人其他人员员_铃声铃声()可不于响应可不于响应EndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证

36、切口面的圆度,保持熔接部位干净无污物(2)事件过程)事件过程:应用程序处理事件的步骤。:应用程序处理事件的步骤。应应用用程程序序设设计计的的主主要要工工作作就就是是为为对对象象编编写写事事件过程的代码。事件过程的形式如下:件过程的代码。事件过程的形式如下:PrivateSub对象名对象名_事件事件(参数参数)事件过程代码事件过程代码EndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例:单击按钮,使单击按钮,使Text1的字体为的字体为20磅磅。PrivateSubCommand1_Click()T

37、ext1.FontSize = 20EndSub一一个个动动作作可可能能同同时时发发生生多多个个事事件件。例例如如单单击击鼠鼠标标同同时时发发生生了了Click、MouseDown、MouseUp事事件件。编编程程时,只要对需要的事件过程编写代码。时,只要对需要的事件过程编写代码。注注意意:在在代代码码窗窗,自自动动产产生生事事件件过过程程的的模模板板,不不要要修修改模板的内容,只需键入过程的代码。改模板的内容,只需键入过程的代码。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物程程序序执执行行的的次次序序与

38、与程程序序设设计计者者无无关关,取取决决于于用用户的操作,户的操作,这就是事件驱动程序设计方式。这就是事件驱动程序设计方式。VB程序的执行步骤如下:程序的执行步骤如下: 启动应用程序,装载和显示窗体;启动应用程序,装载和显示窗体; 窗体窗体( (或窗体上的控件或窗体上的控件) )等待事件的发生;等待事件的发生; 事件发生时,执行对应的事件过程;事件发生时,执行对应的事件过程; 重复执行步骤重复执行步骤和和。(3)事件驱动)事件驱动40采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.方法方法 面向对象的程序

39、设计语言,为程序设计人员提供了面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为一种特殊的过程和函数,称为方法方法。 方法是面向对象的,调用时一定要指明对象。方法是面向对象的,调用时一定要指明对象。 对象方法的调用格式为:对象方法的调用格式为:对象对象.方法方法参数名表参数名表若省略对象,表示当前对象,一般指窗体。若省略对象,表示当前对象,一般指窗体。 例如:例如:Text1.SetFocus此语句使此语句使Text1控件获得焦点,光标在本文框内闪烁。控件获得焦点,光标在本文框内闪烁。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转

40、,以保证切口面的圆度,保持熔接部位干净无污物2.2窗体和基本控件窗体和基本控件 2.2.1 2.2.1 窗体和控件具有窗体和控件具有的基本属性的基本属性(1) (1) Name属性:属性:名称名称 所创建的对象名称所创建的对象名称, ,在程序中引用。在程序中引用。(2) (2) Caption属性:标题属性:标题 该属性决定了对象上显示的内容。该属性决定了对象上显示的内容。(3) (3) Height、Width、Top和和Left属性属性 决定对象的大小和位置。决定对象的大小和位置。42采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的

41、圆度,保持熔接部位干净无污物(4)(4) Enabled 属性:对象是否允许操作属性:对象是否允许操作(5)(5) Visible 属性:对象是否可见属性:对象是否可见(6)(6) Font 属性组:文本的外观属性组:文本的外观 FontName字体、字体、FontSize大小大小FontBold粗体、粗体、FontItalic斜体斜体FontStrikethru删除线删除线FontUnderline下划线下划线例例2.1在窗体上建立两个命令按钮,分别设置在窗体上建立两个命令按钮,分别设置其属性。其属性。43采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边

42、旋转,以保证切口面的圆度,保持熔接部位干净无污物(7)(7) ForeColor属性:属性:前景颜色前景颜色(8)(8) BackColor属性:属性:背背景颜色景颜色(9)(9) MousePointer属属性性:鼠鼠标标指指针针类类型型, 设设置置值值范范围围015,由由系系统统指指定定 。若若为为99,由用户提供的图形文件定义鼠标指针形状。由用户提供的图形文件定义鼠标指针形状。(10)(10) MouseIcon属属性性:在在MousePointer属属性性值值为为99时时,存存放放自自定定义义的的鼠鼠标标图图标标文文件件(.ico或或.cur)。图标库在)。图标库在Graphics目录

43、下。目录下。44采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物控控件件默默认认属属性性:程程序序运运行行时时,可可以以改改变变某某控控件的值,而不必指定该控件的哪个属性。件的值,而不必指定该控件的哪个属性。 控控 件件 默认属性默认属性 控控 件件 默认属性默认属性文本框文本框命令按钮命令按钮单选按钮单选按钮TextDefaultValue标签标签图形、图像框图形、图像框复选框复选框 Caption Picture Value例如,下面两条语句是等价的:例如,下面两条语句是等价的:Text1.Text=Vi

44、sual BasicText1 =Visual Basic45采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.2窗体窗体 窗窗体体是是一一块块画画布布,是是所所有有控控件件的的容容器器,用用户户可可以以根根据据自自己己的的需需要要利利用用工工具具箱箱上上的的控控件件在在画画布布上上画画出出程程序的界面。窗体属性决定了窗体的外观和操作。序的界面。窗体属性决定了窗体的外观和操作。46采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位

45、干净无污物1.窗体的主要属性窗体的主要属性(1)Caption标题标题(2)MaxButton、MinButton(3)Icon:窗体最小化时所显示的图标:窗体最小化时所显示的图标(4)ControlBox:控制菜单框的有无,值为:控制菜单框的有无,值为False时,没时,没有控制菜单框,也无最大化、最小化、关闭按钮,这时系有控制菜单框,也无最大化、最小化、关闭按钮,这时系统自动将统自动将MaxButton和和MinButton设置为设置为False。(5)BorderStyle:边框样式,取值为:边框样式,取值为012345(6)Picture:窗体背景窗体背景(7)AutoRedraw:决

46、定窗体被隐藏或覆盖后重新显示时,:决定窗体被隐藏或覆盖后重新显示时,是否重新还原原来的内容。是否重新还原原来的内容。(8)WindowState(0-正常、正常、1-最小化、最小化、2-最大化)最大化)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.窗体的事件窗体的事件常常 用用 的的 事事 件件 有有 Click、 DblClick、 Resize、Load和和Unload、Activate和和DeActivate等等。Load事事件件是是在在窗窗体体被被装装入入工工作作区区时时触触发发的的事事件件

47、。当当应应用用程程序序启启动动,自自动动执执行行该该事事件件,该该事事件件通通常常用用来在启动应用程序时对属性和变量进行初始化。来在启动应用程序时对属性和变量进行初始化。例例2.2窗体无最大化按钮和最小化按钮,窗体窗体无最大化按钮和最小化按钮,窗体启动启动时,在标题栏显示时,在标题栏显示“装入窗体装入窗体”,并装入一背,并装入一背景图;单击窗体装入另一图、双击窗体清除背景图,景图;单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字。同时显示不同的文字。48采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污

48、物3.3.窗体的方法窗体的方法使用方法的语法形式:使用方法的语法形式: 对象对象.方法方法 参数列表参数列表(1)Print方法方法用来显示文本内容,格式:用来显示文本内容,格式:对象对象.print 表达式表达式(2)Cls方法方法 清清除除运运行行时时在在窗窗体体或或图图形形框框中中产产生生的的文文本本或或图图形形, Cls方法不能清除窗体在设计时的文本和图形。方法不能清除窗体在设计时的文本和图形。格式:格式:对象对象.cls(3)Move方法方法可移动窗体或控件,并可改变其大小。可移动窗体或控件,并可改变其大小。语法格式如下:语法格式如下:对象对象.Move 左边距离左边距离,上边距离上

49、边距离,宽度宽度,高度高度49采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.3 标签标签作用:作用:用于显示文本用于显示文本(输出输出)信息,不能作为输入信息的信息,不能作为输入信息的界面。其内容只能通过界面。其内容只能通过Caption属性设置或修改,不能直属性设置或修改,不能直接编辑。接编辑。主要属性:主要属性:BackStyle、BorderStyle、AlignMent、AutoSize。事件事件:Click、DblClick、Change等,一般不需要编程。等,一般不需要编程。方法方法:M

50、ove例例2.3标签属性演示标签属性演示例例显示浮雕效果的文字,实现方法:字颜色、标签位置。显示浮雕效果的文字,实现方法:字颜色、标签位置。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.4 文本框文本框 文文本本框框是是一一个个文文本本编编辑辑区区域域,可可以以在在该该区区域域输输入入、编辑、修改和显示正文内容。编辑、修改和显示正文内容。1.重要属性重要属性(1)Text显示或输入的正文内容显示或输入的正文内容(2)Maxlength设设置置文文本本框框可可输输入入的的文文字字最最大大长长度度。默认

51、值为默认值为0,表示可以输入任意长字符串。,表示可以输入任意长字符串。 注注意意:在在VBVB中中字字符符长长度度以以字字为为单单位位,也也就就是是一一个个西文字符与一个汉字都是一个字,长度为西文字符与一个汉字都是一个字,长度为1 1。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(3)MultiLine多行属性多行属性设设置置为为True时时,文文本本框框可可以以输输入入或或显显示示多多行行正正文文,同同时时具具有有文文字字处处理理器器的的自自动动换换行行功功能能,按按Enter键键可可插插入一空行。入一

52、空行。(4)ScrollBars滚动条属性滚动条属性 0-None 0-None 无滚动条无滚动条 1-Horizontal 1-Horizontal 水平滚动条水平滚动条 2-Vertical 2-Vertical 垂直滚动条垂直滚动条 3-Both 3-Both 同时加水平和垂直滚动条同时加水平和垂直滚动条注意:注意:当当MultiLine为为True时,时,ScrollBars才有效才有效采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(5)PassWordChar设设置置显显示示文文本本的的替替代代符

53、符。例例如如,当当设设置置为为“* *”,则则在在文文本本框框输输入入的的内内容容均均以以“* *”显显示示,而而存存储储的的值值是是用用户户输输入入的的原原文文。一一般般用用于于设设置置口口令的输入。令的输入。当当MultiLine为为True时时,该该属属性性不不起起作作用用,密密码码不不允允许许多行。多行。(6)Locked 指指定定文文本本控控件件是是否否可可被被编编辑辑,默默认认值值为为False(可可编编辑辑) ),当当设设置置为为True时时,文文本本控控件件相相当当于于标标签控件的作用。签控件的作用。注意:注意:LockedLocked与与EnabledEnabled的区别。的

54、区别。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(7)文本内容进行选择操作的三个属性文本内容进行选择操作的三个属性SelStart选定的正文开始位置选定的正文开始位置SelLength选定的正文长度选定的正文长度SelText选定的正文内容选定的正文内容这这3个属性互相关联个属性互相关联,例如设置例如设置SelStart、SelLength后,后,SelText自动存放指定的文本。自动存放指定的文本。注意:注意:属性窗口中没有这三个属性,只能在程序代码属性窗口中没有这三个属性,只能在程序代码中使用。中使

55、用。例例2.42.4 利用属性实现文本信息的复制。利用属性实现文本信息的复制。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.文本框的事件文本框的事件(1)Change事件事件当当Text属性值发生改变时引发该事件属性值发生改变时引发该事件例例在文本框每输入一个字符就引发一次事件在文本框每输入一个字符就引发一次事件(2)KeyPress事件事件按按下下并并且且释释放放键键盘盘上上的的一一个个键键时时,引引发发焦焦点点所所在在控控件件的的KeyPress事件,事件,所按键的值存放在参数所按键的值存放在参数K

56、eyAscii中中例例对回车的判断对回车的判断 KeyAscii=13采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(3)LostFocus事件事件对象失去焦点时发生对象失去焦点时发生LostFocus事件。事件。该该事事件件主主要要是是用用来来对对数数据据进进行行验验证证和和确确认认,常常用用于于检检查查Text属性的内容。属性的内容。(4)GotFocus事件事件GotFocus事事件件与与LostFocus事事件件相相反反,当当一一个个对对象象获得焦点时发生。获得焦点时发生。焦点转移的方法:焦点转移的

57、方法:在对象上单击或利用在对象上单击或利用Tab键。键。此外,文本框还有此外,文本框还有Click、DblClick、KeyDown、KeyUp等等。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.文本框的方法文本框的方法文文本本框框最最有有用用的的方方法法是是SetFocus,把把光光标标移移到到指指定的文本框中。其形式如下:定的文本框中。其形式如下: 对象对象.SetFocusSetFocus还可以用于如还可以用于如CheckBox、ListBox、CommandButton、ComboBox等控件。

58、等控件。例例2.5 2.5 利利用用文文本本框框,实实现现简简单单的的两两数数加加法法运运算算。要要求求对输入的数据进行合法性检验,过滤不合法的数据。对输入的数据进行合法性检验,过滤不合法的数据。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.5 命令按钮命令按钮 作用:用于程序运行时执行相应的事件。作用:用于程序运行时执行相应的事件。1.主要主要属性属性(1) Caption 命令按钮上显示的文字。命令按钮上显示的文字。(2) Style 按钮样式。按钮样式。0Standard:默认,按钮上不能显示

59、图形:默认,按钮上不能显示图形。1Graphical:按钮上可以显示图形和文字。:按钮上可以显示图形和文字。(3) Picture 按按钮钮可可显显示示图图片片文文件件(.bmp和和.Ico),当当Style为为1时有效。时有效。(4) ToolTipText 设置工具提示文字,和设置工具提示文字,和Picture结合使用。结合使用。(5) Value 检查该按钮是否按下。该属性在设计时无效。检查该按钮是否按下。该属性在设计时无效。(6) Default和和Cancel 多个按钮时使用。多个按钮时使用。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,

60、以保证切口面的圆度,保持熔接部位干净无污物2.事件事件命令按钮可以接收命令按钮可以接收Click、GotFocus、LostFocus、KeyDown、KeyUp等事件,等事件,没有没有DblClick事件。事件。一般编写一般编写Click事件。事件。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.3 综合应用综合应用 例例2.6建立一个类似记事本的应用程序,提供:建立一个类似记事本的应用程序,提供:(1)剪切、复制和粘贴的编辑操作;剪切、复制和粘贴的编辑操作;(2)字体大小的格式设置。字体大小的格式设置

61、。分析分析:(1)建建立立一一个个文文本本框框输输入入文文本本,文文本本框框应应该该有有滚滚动动条条,为为了了便便于调试,程序运行时文本框有初始值。于调试,程序运行时文本框有初始值。(2)利利用用文文本本框框的的SelTextSelText属属性性实实现现“剪剪切切、复复制制和和粘粘贴贴”的的编编辑操作辑操作。(3)“格式格式”设置利用设置利用Font对象实现对象实现。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物本章小节本章小节1.VB1.VB中中类类和和对对象象的的概概念念:类类是是同同种种对对象象的的

62、集集合合与与抽抽象象,包包含含所所创创建建对对象象的的属属性性描描述述和和行行为为特特征征的的定定义,是创建对象实例的模板。义,是创建对象实例的模板。2.2.对象三要素:对象三要素:属性、事件、方法。属性、事件、方法。3.3.窗窗体体是是所所有有控控件件的的容容器器,窗窗体体的的属属性性、事事件件和和方方法。法。4.4.基本控件:基本控件:标签、文本框、命令按钮。标签、文本框、命令按钮。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第三章第三章 VB语言基础语言基础3.1 3.1 数据类型数据类型3.2 3

63、.2 变量和常量变量和常量3.3 3.3 运算符和表达式运算符和表达式3.4 3.4 程序结构和编码规则程序结构和编码规则3.5 3.5 综合应用综合应用3.6 3.6 常见错误常见错误采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.数值型数值型1) 整数整数 整型(整型(Integer,%):以带符号的两个字节表示):以带符号的两个字节表示 长整型(长整型(Long,&):长整型以带符号的):长整型以带符号的4 4字节存储字节存储2)浮点数浮点数 单精度型(单精度型(Single,!):以:以4个字节存

64、储,符号占个字节存储,符号占 1位,指位,指数占数占 8位,其余位,其余23位表示尾数,精度为位表示尾数,精度为7 7位有效数字。位有效数字。 双精度型(双精度型(Double,#):用:用8个字节存储,符号占个字节存储,符号占1位,指位,指数占数占11位,其余位,其余52位用来表示尾数,精度为位用来表示尾数,精度为1515位有效数字。位有效数字。3.1 数数 据据 类类 型型采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3)货币型(货币型(Currency,)为为表表示示钱钱款款而而设设置置,定定点点实实

65、数数或或整整数数,以以8个个字字节节存存储储,精精确确到到小小数数点点后后4位和小数点左边位和小数点左边1515位,取值范围为:位,取值范围为: -922 337 203 685 477.580 8922 337 203 685 477.580 74)字节(字节(Byte)1 1个字节的无符号二进制数存储,取值范围为个字节的无符号二进制数存储,取值范围为0 0255255。 2.字符串(字符串(String,$)是一除了回车和双引号的所有西文字符和汉字字符序列,用双引号括起。是一除了回车和双引号的所有西文字符和汉字字符序列,用双引号括起。例如:例如:fghjhhfghjhh Visual Ba

66、sic 6.0 Visual Basic 6.0程序设计程序设计 (空字符串)(空字符串) VBVB的字符串分为两种:的字符串分为两种:变长和定长字符串。变长和定长字符串。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.变体型(变体型(Variant) 变变体体型型是是一一种种可可变变的的数数据据类类型型,又又称称为为通通用用型型。可可以以表示任何值,包括数值、字符串、日期时间等。表示任何值,包括数值、字符串、日期时间等。 变变体体型型也也可可以以是是EmptyEmpty(空空)、NullNull(无无效

67、效)、ErrorError(出错)、(出错)、NothingNothing(无指向)(无指向)4 4种特殊的数据。种特殊的数据。 对对于于变变体体类类型型,可可以以用用函函数数VarTypeVarType()进进行行检检测测变变量量的的类类型型,其其返返回回值值为为整整型型。如如:0 0为为EmptyEmpty,1 1为为NullNull,2 2为为整整型型,3 3为为长长整整型型,4 4为为单单精精度度,5 5为为双双精精度度,6 6为为货货币币型型,7 7为日期型,为日期型,8 8为字符型,为字符型,9 9为对象型等。为对象型等。 也也可可以以用用函函数数TypeNameTypeName(

68、)来来获获取取变变量量的的数数据据类类型型名名称。如称。如TypeNameTypeName(a a)结果为)结果为LongLong。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5其他数据类型其他数据类型布尔(布尔(Boolean) 是一逻辑值是一逻辑值True或或False,用两个字节存储。用两个字节存储。日期(日期(DateDate) 存存储储为为6464位位(8 8个个字字节节)浮浮点点数数值值形形式式,以以符符号号“# #” 括括起起来。来。 例如:例如:#05-01-2009#05-01-2009

69、#,#2009-3-3 8:35:25#2009-3-3 8:35:25#对象(对象(ObjectObject) 表示图形或表示图形或OLEOLE对象或其他对象,用对象或其他对象,用4 4个字节存储。个字节存储。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物VB中中11种标准数据类型和种标准数据类型和2种复合数据类型:种复合数据类型:采用PP管及配件:根据给水设计图配置好PP

70、管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.2变量与常量变量与常量3.2.1 3.2.1 变量变量1.1.变量和常量的命名规则变量和常量的命名规则变量:在程序运行中其存储的值可以改变。变量:在程序运行中其存储的值可以改变。常量:在程序运行中其值不可以改变。常量:在程序运行中其值不可以改变。命名规则:命名规则:1)变量名必须以字母或汉字开头,所有字母不分大小写。变量名必须以字母或汉字开头,所有字母不分大小写。2)不能包含圆点不能包含圆点“.”。3)字符总个数不得超过字符总个数不得超过255个字符。个字符。4)在同一个范围内必须是惟一的。在同一个

71、范围内必须是惟一的。5)变量名要变量名要“见名知义见名知义”,变量名要便于记忆、有意义。,变量名要便于记忆、有意义。6)不能用不能用VisualBasic的关键字作为变量名,如的关键字作为变量名,如print。7)变量名不能与过程名和符号常量名相同。变量名不能与过程名和符号常量名相同。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.变量声明变量声明1.1.用用DimDim语句显式声明变量语句显式声明变量形式:形式:Dim变量名变量名AS类型类型或或Dim变量名类型符变量名类型符说明:说明:(1)变量名

72、与类型符之间不能有空格。变量名与类型符之间不能有空格。例例DimaAsinteger,bAssingle等价于等价于Dima%,b!(2)一条一条Dim语句可以同时定义多个变量,但每个变量必须有自己的类语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声明不能共用。若没有类型声明,则为变体类型。型声明,类型声明不能共用。若没有类型声明,则为变体类型。如:如:Dima,b,casinteger(3)对于字符型变量,可有定长和变长两种声明方式:对于字符型变量,可有定长和变长两种声明方式:Dim字符串变量名字符串变量名AsStringDim字符串变量名字符串变量名AsString*字符个

73、数字符个数在在VB中,一个汉字与一个西文字符一样都算作一个字符,占两个字中,一个汉字与一个西文字符一样都算作一个字符,占两个字节。节。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(4)使用声明语句声明一个变量后,使用声明语句声明一个变量后,VB自动将数值型变量置初值自动将数值型变量置初值0,字符,字符型置初值空串,变体型置初值型置初值空串,变体型置初值Empty,布尔型置初值,布尔型置初值False,对象型,对象型置初值置初值Nothing,日期型置初值,日期型置初值“0:00:00”。(5)除了使用除了

74、使用Dim外,还可以使用外,还可以使用Static、Public、Private等保留字进等保留字进行声明变量。行声明变量。2.隐式声明隐式声明未进行上述的声明而直接使用,其类型为未进行上述的声明而直接使用,其类型为Variant类型。建议不使用。类型。建议不使用。3.强制显式声明(强制显式声明(OptionExplicit语句)语句)声明方法:声明方法:在模块的通用声明段中加入语句:在模块的通用声明段中加入语句:OptionExplicit在在“工具工具”菜单中选取菜单中选取“选项选项”命令,然后在打开的对话框中单击命令,然后在打开的对话框中单击“编编辑器辑器”选项卡,再复选选项卡,再复选“

75、要求变量声明要求变量声明”。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.2.2常量常量1.1.直接常量直接常量以直接明显的形式给出的各种数据以直接明显的形式给出的各种数据1)数值常量数值常量整数常量:十进制、八进制(整数常量:十进制、八进制(&O)和十六进制()和十六进制(& H 或或& h)长整型常量:十进制、八进制和十六进制形式长整型常量:十进制、八进制和十六进制形式货币型常量(即定点数)、浮点数货币型常量(即定点数)、浮点数2)字符串常量字符串常量 由除双引号和回车符之外的由除双引号和回车符之外

76、的ASCII字符组成的字符串字符组成的字符串 3)布尔常量布尔常量只有只有True和和False两个值两个值4)日期常量日期常量两个两个“#”符号把日期值括起来表示日期常量符号把日期值括起来表示日期常量采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.用户声明常量用户声明常量形式:形式:Const常量名常量名AS类型类型=表达式表达式省略省略AS类型类型,常量的类型由表达式值的类型决定。,常量的类型由表达式值的类型决定。为使与变量名区分,一般常量名使用大写字母。为使与变量名区分,一般常量名使用大写字母。

77、例例ConstPI=3.14159constPI%=3.14159常量一旦声明,在其后的代码中只能引用,不能改变。常量一旦声明,在其后的代码中只能引用,不能改变。3.3.系统提供的常量系统提供的常量系统定义常量位于对象库中,可通过系统定义常量位于对象库中,可通过“对象浏览器对象浏览器”查看。查看。例:例:vbNormal、vbCrLf、vbRed等。等。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.3运算符和表达式运算符和表达式VB有有4种运算符:种运算符:VB表达式:表达式:算术运算符算术运算符算术表

78、达式算术表达式连接运算符连接运算符字符串表达式字符串表达式关系运算符关系运算符关系表达式关系表达式逻辑运算符逻辑运算符逻辑表达式逻辑表达式采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.3.13.3.1运算符运算符 1.算术运算符算术运算符八种算术运算符:八种算术运算符:、-、*、/、mod、+、-例:例:5+10mod109/3+22结果:结果:注意:注意:算术运算符两边的操作数应是数值型,若是数字字符或逻算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换为数值类型后再运算。辑型,则自动

79、转换为数值类型后再运算。如:如:30-True=31,True自动转换为自动转换为-1,False转换为转换为0。False+10+”4”=14True+12+”a”错误错误求余和整除运算时,若运算量不是整数,则先四舍五入为求余和整除运算时,若运算量不是整数,则先四舍五入为整数,再运算。求余运算结果的符号始终与第一个运算量整数,再运算。求余运算结果的符号始终与第一个运算量符号相同。符号相同。10采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.字符串运算符字符串运算符&两旁的操作数可任意,转换成字符型后再连

80、接。两旁的操作数可任意,转换成字符型后再连接。+两旁的操作数应均为字符型,如果两旁的操作数应均为字符型,如果1)数值型则进行算术加运算;数值型则进行算术加运算;2)一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加;算术加;3)一个为非数字字符,另一个为数值型,出错。一个为非数字字符,另一个为数值型,出错。例如:例如:操作操作结果结果操作操作结果结果ab&123ab123ab+12出错出错12&4561245612+45646812&True12True12+True11“12”&100+1212112“12”+100

81、&1211212注意:注意:使用使用&运算时,变量与运算符之间应加一个空格,以示与长整型类型符的运算时,变量与运算符之间应加一个空格,以示与长整型类型符的区别。区别。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3关系运算符关系运算符将两个操作数进行大小比较,结果为逻辑值。将两个操作数进行大小比较,结果为逻辑值。八种关系运算符:八种关系运算符:=、=、=、Like、Is注意:注意:字符串比较,则按字符的字符串比较,则按字符的ASCII码值从左到右一一比较,直到出码值从左到右一一比较,直到出现不同的字符为止。

82、现不同的字符为止。例:例:ABCDEABRA结果为结果为False常见的字符值的大小比较关系如下:常见的字符值的大小比较关系如下:“空格空格”“0”“9”“A”“Z”“a”“z”189”,结果,结果False;数值型;数值型与不能转换成数值型的字符型不能比较,如与不能转换成数值型的字符型不能比较,如4”12a”,出错。,出错。汉字之间按汉字的拼音字母比较。汉字之间按汉字的拼音字母比较。关系运算符的优先级相同。关系运算符的优先级相同。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.逻辑运算符逻辑运算符将操作

83、数进行逻辑运算,结果是逻辑值:将操作数进行逻辑运算,结果是逻辑值:条件表达式条件表达式1And条件表达式条件表达式2条件表达式均为条件表达式均为T,结果为结果为T;条件表达式条件表达式1Or条件表达式条件表达式2条件表达式有一个为条件表达式有一个为T结果为结果为T。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.3.2表达式表达式 1.组成组成 由变量、常量、函数、运算符和圆括号按一定规则组成。由变量、常量、函数、运算符和圆括号按一定规则组成。2.书写规则书写规则(1)运算符不能相邻。例运算符不能相邻。例

84、a+-b是错误的。是错误的。(2)乘号不能省略。例乘号不能省略。例x乘以乘以y应写成:应写成:x*y。(3)括号必须成对出现,均使用配对的圆括号。括号必须成对出现,均使用配对的圆括号。(4)表达式从左到右在同一基准上书写,无高低、大小。表达式从左到右在同一基准上书写,无高低、大小。3.不同数据类型的转换不同数据类型的转换运算结果的数据类型向精度高的数据类型靠。运算结果的数据类型向精度高的数据类型靠。IntegerLongSingleDouble=字符运算符字符运算符关系运算符关系运算符逻辑运算逻辑运算采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以

85、保证切口面的圆度,保持熔接部位干净无污物表达式书写举例表达式书写举例a*b*c*d/e/f/g 或或 a*b*c*d/(e*f*g) 例逻辑表达式书写例逻辑表达式书写,选拔优秀生的条件为:年龄选拔优秀生的条件为:年龄(Age)小于小于19岁,岁,三门课总分三门课总分(Total)高于高于285分,其中有一门为分,其中有一门为100分,如果其表达分,如果其表达式写为:式写为:Age285And(Mark1=100OrMark2=100OrMark3=100)如果取消括号有何问题?请读者考虑。如果取消括号有何问题?请读者考虑。sin(45*3.14/180)+(exp(10)+log(10)/sq

86、r(x+y+1)例:表示算术表达式:例:表示算术表达式:正确的正确的VB表达式:表达式:3=xAndx=7错误的错误的VB表达式:表达式:3=x=7或或3=xOrx=7采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物一、数学函数一、数学函数1.求绝对值函数求绝对值函数Abs(x)函数格式:函数格式:Abs(x)函数功能:求函数功能:求x的绝对值。的绝对值。举例:设举例:设c=9.56,d=-5.7,则,则Abs(d+c)的值为的值为3.862.符号函数符号函数Sgn(x)函数格式:函数格式:Sgn(x)函数功

87、能:求函数功能:求x的符号,的符号,返回值返回值1、-1、0举例:表达式举例:表达式Sgn(-6.7)结果为结果为-13.求平方根函数求平方根函数Sqr(x)函数格式:函数格式:Sqr(x)函数功能:求函数功能:求x的平方根,但的平方根,但x的值必须为非负数的值必须为非负数举例:表达式举例:表达式Sqr(2)的值为的值为1.4142135623731。3.3.3VisualBasic的内部函数的内部函数采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.指数函数指数函数Exp(x) 函数格式:函数格式:Exp

88、(x) 函数功能:求以函数功能:求以e为底,以为底,以x为指数的值,即求为指数的值,即求e的的x次幂次幂 举例:表达式举例:表达式Exp(1) 的值为的值为2.718281828459055.对数函数对数函数Log(x) 函数格式:函数格式:Log(x) 函数功能:求以函数功能:求以e为底的对数值(即自然对数),为底的对数值(即自然对数),x必须为正数必须为正数 举例:表达式举例:表达式Log(2) 的值为的值为0.6931471805599456.正弦函数正弦函数Sin(x) 函数格式:函数格式:Sin(x) 函数功能:求函数功能:求x的正弦函数值,的正弦函数值,x必须为以必须为以弧度弧度为

89、单位表示的角度为单位表示的角度 7.余弦函数余弦函数Cos(x) 函数格式:函数格式:Cos(x) 函数功能:求函数功能:求x的余弦函数值,的余弦函数值,x必须为以必须为以弧度弧度为单位表示的角度为单位表示的角度采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.正切函数正切函数Tan(X)函数格式:函数格式:Tan(x)函数功能:求函数功能:求x的正切函数值的正切函数值9.随机数函数随机数函数Rnd(x)随机数函数随机数函数Rnd(x)变量变量x可省略,可产生一个可省略,可产生一个0l)之间的双精度随机数之

90、间的双精度随机数当当x0或或x0时,则每次产生的随机数都相同时,则每次产生的随机数都相同当当x0或省略时,产生下一个随机数或省略时,产生下一个随机数Randomize语句:产生随机化因子语句:产生随机化因子语句格式:语句格式:Randomize(x)例如:要产生例如:要产生1100之间的随机整数:之间的随机整数:Int(Rnd*100+1)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物二、二、转换函数函数1.取整函数取整函数Int()函数格式:函数格式:Int(x)功能:求不大于功能:求不大于x的最大整数,

91、返回值为整型数的最大整数,返回值为整型数举例:设举例:设x=5.67,y=-5.67,则则Int(x)=5,int(y)=-62.舍去小数部分函数舍去小数部分函数Fix和四舍五入取整函数和四舍五入取整函数Round函数格式:函数格式:Fix(x),Round(x)函数功能:去掉函数功能:去掉x的小数部分或四舍五入,返回值为整型数的小数部分或四舍五入,返回值为整型数举例:设举例:设a=5.69,b=-5.88,Fix(a)=5,Round(b)=-63.十进制数转换为十六进制函数十进制数转换为十六进制函数 函数格式:函数格式:Hex(x)或或Hex$(x),转换后的结果为一字符串转换后的结果为一

92、字符串4.十进制数转换为八进制函数十进制数转换为八进制函数 函数格式:函数格式:Oct(x)或或Oct$(x),转换后的结果为一字符串转换后的结果为一字符串采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.将字符串中的小写字母转换成大写字母函数将字符串中的小写字母转换成大写字母函数 函数格式:函数格式:Ucase(字符串表达式字符串表达式) 6.将字符串中的大写字母转换成小写字母函数将字符串中的大写字母转换成小写字母函数 函数格式:函数格式:Lcase(字符串表达式字符串表达式) 7.求字符的求字符的ASC

93、II码函数码函数 函数格式:函数格式:Asc(字符串表达式字符串表达式) 求字符串表达式中的求字符串表达式中的第一个字符第一个字符的的ASCII码值码值8.求求ASCll码值对应的字符函数码值对应的字符函数函数格式:函数格式:Chr(表达式表达式) 表达式的值必须是一个合法的表达式的值必须是一个合法的ASCII码值码值9.把数字字符串转换为数值的函数把数字字符串转换为数值的函数函数格式:函数格式:Val(字符串字符串) 如果字符串是一个非数字字符串,则该函数的函数值为如果字符串是一个非数字字符串,则该函数的函数值为0,字母字符不,字母字符不转换转换,如:如:Val(“abcxyz”)的值为的值

94、为0,Val(“123.4+xyz”)的值为的值为123.410.把数值转换为数字字符串的函数把数值转换为数字字符串的函数函数格式:函数格式:Str(数值表达式数值表达式) 举例:举例:Str(23.56)的值为字符串的值为字符串“23.56”采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物数据类型转换函数数据类型转换函数 1.转换为整型数据的函数转换为整型数据的函数函数格式:函数格式:CInt(数值表达式数值表达式) 小数部分的第小数部分的第1位进行四舍五入位进行四舍五入 如如 CInt(34.5) =35

95、2.转换为货币类型数据的函数转换为货币类型数据的函数函数格式:函数格式:CCur(数值表达式数值表达式) 保留保留4位小数且自动将第位小数且自动将第5位小数进行四舍五入位小数进行四舍五入3.转换为双精度类型数据的函数转换为双精度类型数据的函数函数格式:函数格式:CDbl(数值表达式数值表达式) 4.转换为长整型数据的函数转换为长整型数据的函数函数格式:函数格式:CLng(数值表达式数值表达式) 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.转换为单精度类型数据的函数转换为单精度类型数据的函数函数格式:函

96、数格式:CSng(数值表达式数值表达式) 6.转换为变体类型数据的函数转换为变体类型数据的函数函数格式:函数格式:CVar(数值表达式数值表达式) 7.转换为字符串类型数据的函数转换为字符串类型数据的函数函数格式:函数格式:CStr(表达式表达式) 8.转换为日期类型数据的函数转换为日期类型数据的函数函数格式:函数格式:CDate(表达式表达式) 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物三、字符串处理函数三、字符串处理函数1.删除字符串两端空格字符函数删除字符串两端空格字符函数函数格式:函数格式:Tr

97、im(Trim(字符串表达式字符串表达式) ) 举例:举例:Trim( abc ) & xyzTrim( abc ) & xyz的值为的值为“abcxyzabcxyz”。2.删除字符串左端的空格字符函数删除字符串左端的空格字符函数 函数格式:函数格式:LTrim(LTrim(字符串表达式字符串表达式) ) 举例;举例;LTrim( abc ) & xyz的值为的值为“abc xyz”。3.删除字符串右端空格字符函数删除字符串右端空格字符函数 函数格式:函数格式:RTrim(RTrim(字符串表达式字符串表达式) ) 举例:举例:RTrim( abc ) & xyz的值为的值为“ abcxyz”

98、。4.从字符串的左端截取字符函数从字符串的左端截取字符函数 函数格式:函数格式:Left(Left(字符串表达式,字符串表达式,n)n) 举例:举例:Left(abcdefgh,3) 的值为的值为“abc”。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.从字符串的中部截取字符函数从字符串的中部截取字符函数函数格式:函数格式:Mid(Mid(字符串表达式,字符串表达式,nn,m)m) 举例:举例:Mid(“abcdefgh”,3,5) 的值为的值为“cdefg”。 Mid(abcdefgh,3) 的值为的

99、值为“cdefgh”。6从字符串的右端截取字符函数从字符串的右端截取字符函数 函数格式:函数格式:Right(Right(字符串表达式,字符串表达式,n)n) 举例:举例:Right(abcdefgh,4) 的值为的值为“efgh”。7求字符串的长度函数求字符串的长度函数 函数格式:函数格式:Len(Len(字符串表达式字符串表达式) ) 或或Len(Len(变量名变量名) ) 举例:举例:Len(“abcd科学家科学家123”) 的值为的值为 10 也可以求出某个变量所占的存储空间也可以求出某个变量所占的存储空间 Private Sub Command1_Click() Dim x As I

100、nteger,y As Single,Dim z As Double Print Len(x),Len(y),Len(z) End Sub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.求字符串所占字节数函数求字符串所占字节数函数函数格式:函数格式:LenB(LenB(字符串表达式字符串表达式) ) 或或LenB(LenB(变量名变量名) ) 举例:举例:LenB(“abed科学家科学家123”) 的值为的值为 209.产生字符串函数产生字符串函数 函数格式:函数格式:String(n,String(n,

101、字符字符) ) 或或String(n, ASCIIString(n, ASCII码码) ) 举例:举例:String(10, a) 的值为的值为“aaaaaaaaaa”,String(5, 65) 的值为的值为“AAAAA” 10.产生空格字符串函数产生空格字符串函数 函数格式:函数格式:Space(n) Space(n) 举例;举例;abcd & space(5) & xyz 的值为的值为“abcd xyz”11.字符串查找函数字符串查找函数 函数格式:函数格式:InStr(InStr(首字符位置首字符位置, , 字符串字符串1,1,字符串字符串2,n ) 2,n ) 如如果果找找到到了了则

102、则返返回回“字字符符串串2”在在“字字符符串串1”中中第第一一次次出出现现时时第第一一个个字字符符在在“字符串字符串1”中的位置,找不到时返回值为中的位置,找不到时返回值为0 0。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物12.在在C字符串中从字符串中从1或或N1开始将开始将C2替代替代C1的函数的函数函数格式:函数格式:Replace(C,C1,C2,N1,N2,M) Replace(C,C1,C2,N1,N2,M) 有有N2替代替代N2次,没有则全部替代。省略次,没有则全部替代。省略M为区分大小写。

103、例如:为区分大小写。例如:Replace(“abcdabcd”,”cd”,”123”)=“ab123ab123”13.将字符串反序的函数将字符串反序的函数函数格式:函数格式:StrReverse(StrReverse(字符串字符串) ) 举例:举例:StrReverse(“abcxyz”)的值为的值为”zyxcba”14.将数组将数组A各元素按各元素按D或空格连接成字符串的函数或空格连接成字符串的函数函数格式:函数格式:Join(A,D) Join(A,D) 举例:举例:A=array(“123”,”ab”,”c”)Join(A,“”)的值为字符串的值为字符串“123abc”15.将字符串将字

104、符串C按分隔符按分隔符D或空格分隔成字符数组的函数或空格分隔成字符数组的函数函数格式:函数格式:Split(C,D) Split(C,D) 举例:举例:S=Split(“123,ab,456”,”,”)则则S(0)=“123”S(1)=“ab”S(2)=“456”采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.4.6日期和时间函数日期和时间函数1.返回返回系统当前的日期和时间函数系统当前的日期和时间函数函数格式:函数格式:Now或或Now( ) 返回格式为返回格式为yy-mm-dd hh:mm:ss 2.

105、读取或设置系统当前的日期函数读取或设置系统当前的日期函数函数格式:函数格式:Date或或Date( ),Date$或或Date$( ) 可以设置系统当前的日期:可以设置系统当前的日期:Date=日期字符串日期字符串 3.读取或设置系统当前的时间函数读取或设置系统当前的时间函数函数格式:函数格式:Time或或Time( ),Time$或或Time$( ) 可以设置系统当前的时间:可以设置系统当前的时间:Time=时间字符串时间字符串 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.求日期中的年份函数求日期中

106、的年份函数函数格式:函数格式:Year(日期字符串日期字符串) ,结果为一整型数结果为一整型数 5.求日期中的月份函数求日期中的月份函数函数格式:函数格式:Month(日期字符串日期字符串) 6.求日期中的日子函数求日期中的日子函数函数格式:函数格式:Day(日期字符串日期字符串) 7.求当前日期是星期几的函数求当前日期是星期几的函数函数格式:函数格式:Weekday(日期字符串日期字符串) 结果为一整型数,结果为一整型数,1代表星期日,代表星期日,7代表星期六代表星期六采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位

107、干净无污物8.求时间中的小时函数求时间中的小时函数函数格式:函数格式:Hour(时间字符串时间字符串) Hour(21:09:10) =219.求时间中的分钟函数求时间中的分钟函数函数格式:函数格式:Minute(时间字符串时间字符串) 10.求时间中的秒函数求时间中的秒函数函数格式:函数格式:Second(时间字符串时间字符串) 11.计算从午夜起经过的秒数函数计算从午夜起经过的秒数函数函数格式:函数格式:Timer或或Timer( ) 视系统当时的时间而定视系统当时的时间而定采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持

108、熔接部位干净无污物12.对要增减的日期变量按日期形式做增减的函数对要增减的日期变量按日期形式做增减的函数形式:形式:DateAdd(增减日期形式,增减量,日期变量增减日期形式,增减量,日期变量)例如:例如:DateAdd(“m”,3,#3/10/2009#)结果是结果是#6/10/2009#13.两个指定的日期按日期形式求差额的函数两个指定的日期按日期形式求差额的函数形式:形式:DateDiff(要间隔日期形式,日期要间隔日期形式,日期1,日期,日期2)例如:例如:DateDiff(“d”,now,#2009/5/1#)日期形式的意义:日期形式的意义:yyyy年年q季季m月月y一年的天数一年的

109、天数d日日w一周的天数一周的天数ww星期星期h时时n分分s秒秒采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物四、四、Shell函数函数Shell函函数数负负责责执执行行一一个个可可执执行行文文件件,返返回回一一个个任任务务标标识识,如如果果成成功功,代表这个程序的进程代表这个程序的进程ID,若不成功,则会返回,若不成功,则会返回0。形式:形式:Shell(命令字符串命令字符串,窗口类型窗口类型)窗口类型值为窗口类型值为1表示正常窗口,缺省为窗口最小化为图标。表示正常窗口,缺省为窗口最小化为图标。例如:例如:

110、i=Shell(c:windowscalc.exe)j=Shell(c:,1)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.4 程序结构和编码规则程序结构和编码规则 本章目录本章目录采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物编编 码码 规规 则则1.编码规则编码规则VB代码中代码中不区分不区分字母的字母的大小写大小写同一行可书写多条语句,但要用冒号同一行可书写多条语句,但要用冒号“:”分分隔隔换行时需在行后加入续

111、行符,即换行时需在行后加入续行符,即1个空格加下个空格加下划线划线一行最多允许一行最多允许255个字符个字符注释以注释以Rem或或“”开头,出现在语句前面或开头,出现在语句前面或后面后面程序转向时用标号,程序转向时用标号,标号标号以字母开始加一冒号以字母开始加一冒号采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.约定约定关键字的首字母大写关键字的首字母大写。若关键字由多个英文单词。若关键字由多个英文单词组成,则每个单词的首字母都大写,如组成,则每个单词的首字母都大写,如StudType等。等。注释有利于程

112、序的维护和调试,因此要注释有利于程序的维护和调试,因此要养成注释养成注释的习惯。的习惯。设置注释或取消注释的方法:设置注释或取消注释的方法:选中选中要加注释块的语句行或单击要加注释块的语句行或单击编辑工具栏编辑工具栏的的“设设置置/取消注释块取消注释块”按钮。按钮。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.5 综合应用综合应用例例3.1模仿字处理软件中字符串替换功能。模仿字处理软件中字符串替换功能。设计思路:设计思路:利利用用Shell函函数数调调用用winword.exe执执行行Word程程序实现

113、序实现替换功能;替换功能;利利用用查查找找(InStr)、取取子子串串(Left、Mid)等等函函数数实实现现替换功能;替换功能;利用替换利用替换(Replace)函数实现函数实现替换功能。替换功能。本章目录本章目录采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.6 3.6 常常 见见 错错 误误1.逻辑表达式书写错,在逻辑表达式书写错,在VBVB没有造成语法错而形成逻辑错没有造成语法错而形成逻辑错例如,数学表达式例如,数学表达式3x10 VB表达式写为表达式写为 3=x、=、=、Is、Like同级同级逻

114、辑运算符:逻辑运算符:Not、And、Or高到低高到低5.表达式书写及值的类型表达式书写及值的类型6.常用函数常用函数要掌握的数学函数有:要掌握的数学函数有:Rnd、Sgn、Abs等等;要掌握的字符串函数有:要掌握的字符串函数有:Instr、Left、Right、Mid、Len、LenB、String等;等;要掌握的转换函数有:要掌握的转换函数有:Int、Round、Fix、Lcase、Ucase、Asc、Chr、Val、Str等;等;要掌握的日期和时间函数有:要掌握的日期和时间函数有:Date、Time、Now等。等。7.VB程序的书写规则程序的书写规则本章目录本章目录采用PP管及配件:根据

115、给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第四章第四章 基本的控制结构基本的控制结构 4.1 4.1 顺序结构顺序结构 4.2 4.2 选择结构选择结构 4.3 4.3 循环结构循环结构 4.4 4.4 其他辅助控制语句其他辅助控制语句 4.5 4.5 综合应用综合应用 4.6 4.6 程序调试程序调试 4.7 4.7 常见错误常见错误采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.1 顺序结构顺序结构 顺顺序序结结构构就就是是各各语语

116、句句按按出出现现的的先先后后次次序序执执行行。一一般般的的程程序序设设计计语语言言中中,顺顺序序结结构构的的语语句句主主要要是是赋赋值值语语句句、输输入入/输输出出语语句句等等。在在VB中中也也有有赋赋值值语语句句;而而输输入入/输输出出可可以以通通过过文文本本 框框 控控 件件 、 标标 签签 控控 件件 、 InputBox函函 数数 、MsgBox函数或过程及函数或过程及Print方法等来实现。方法等来实现。本章目录本章目录采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.1.1赋值语句赋值语句 形式

117、:形式:LETLET变量名表达式变量名表达式 或者或者 对象对象.属性属性= =属性值属性值作用:作用:将表达式的值赋值给变量名或属性名。将表达式的值赋值给变量名或属性名。一般用于给变量赋值或对控件设定属性值。一般用于给变量赋值或对控件设定属性值。例:例:sum!=sum+xText1.Text欢迎使用欢迎使用VisualBasic6.0注意:注意:当表达式值的精度与变量的精度不一致时,强制转换成左边当表达式值的精度与变量的精度不一致时,强制转换成左边的精度,如的精度,如m%=10/3,则,则m中的结果为中的结果为3当表达式是数字字符串,左边变量是数值类型,自动转换为当表达式是数字字符串,左边

118、变量是数值类型,自动转换为数值类型再赋值,但表达式有非数字字符时,则出错。数值类型再赋值,但表达式有非数字字符时,则出错。例如:例如:n%=“123”n%=“12a3”采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物当逻辑型赋值给数值型时,当逻辑型赋值给数值型时,True转换为转换为-1,False转换为转换为0;反之当数值型赋值给逻辑型时,非;反之当数值型赋值给逻辑型时,非0转换为转换为True,0转换转换为为False。任何非字符类型赋值给字符类型,自动转换为字符类型。任何非字符类型赋值给字符类型,自动转

119、换为字符类型。虽然赋值号与关系运算符等于号都用虽然赋值号与关系运算符等于号都用“=”表示,表示,VB系统系统会根据所处的位置自动判断是何种意义的符号。如语句会根据所处的位置自动判断是何种意义的符号。如语句x=y=z=1赋值号左边只能是变量,不能是常量、常数符号或表达式。赋值号左边只能是变量,不能是常量、常数符号或表达式。如:如:x+y=3,sin(x)=x+z理解理解n=n+1与与s=s+x语句的含义。语句的含义。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.1.2 4.1.2 数据的输入与输出数据的输

120、入与输出1.1.标签和文本框控件标签和文本框控件 标签可以输出信息,文本框即可输入也可输出信息。标签可以输出信息,文本框即可输入也可输出信息。2. 2. 输入对话框输入对话框InputBox函数函数InputBox$(Prompt,Tiltle,Default,Xpos,Ypos)其中:其中:1)Prompt:字符串,长度不超过字符串,长度不超过1024个字符,用来提示用户输入。个字符,用来提示用户输入。文本可自动换行。如想强制插入回车换行则用:文本可自动换行。如想强制插入回车换行则用:Chr$(13)+Chr$(10)或常数或常数vbCrLf。2)Title:字符串,对话框标题,显示在对话框

121、顶部的标题区。:字符串,对话框标题,显示在对话框顶部的标题区。3)Default:字符串,用来显示输入缓冲区的默认信息。字符串,用来显示输入缓冲区的默认信息。4)Xpos,Ypos:是两个整数值,确定对话框在屏幕上的位置;如:是两个整数值,确定对话框在屏幕上的位置;如果省略,则对话框显示在屏幕中心线向下约果省略,则对话框显示在屏幕中心线向下约1/3处。处。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物使用使用InputBox函数时的注意事项:函数时的注意事项:1)Default表示输入的初始默认值,如果直接

122、按下回车键或单表示输入的初始默认值,如果直接按下回车键或单击击“确定确定”按钮,函数的返回值(函数值)为该默认值。按钮,函数的返回值(函数值)为该默认值。2)变量名)变量名=InputBox(参数表)参数表)函数值默认为字符类型。输入数值时,函数值可以利用函数值默认为字符类型。输入数值时,函数值可以利用Val函数转换为数值后,再参加运算。如果变量已被正确地定函数转换为数值后,再参加运算。如果变量已被正确地定义了类型时,则不必进行类型转换。义了类型时,则不必进行类型转换。3)输入数据后,按回车键或单击)输入数据后,按回车键或单击“确定确定”按钮表示确认,并按钮表示确认,并返回在文本框中输入的数据

123、;如果单击返回在文本框中输入的数据;如果单击“取消取消”按钮(或按钮(或按按Esc键)时,则取消当前的输入,此时该函数返回一个键)时,则取消当前的输入,此时该函数返回一个空字符串。空字符串。4)需要输入多个值,则必须多次执行或调用)需要输入多个值,则必须多次执行或调用InputBox函数。函数。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例4.1利利用用InputBox输输入入基基本本工工资资和和营营业业额额,按按营营业业额额的的5%提成,计算实发工资并显示。提成,计算实发工资并显示。PrivateSu

124、bForm_Click()Dimsfgz!,jbgz!,yAsSinglejbgz=Val(InputBox(输入基本工资输入基本工资,计算工资计算工资,300)y=Val(InputBox(输入本月营业额输入本月营业额)sfgz=jbgz+y*0.05Label1=本月营业额为:本月营业额为:&y&基本工资为:基本工资为:&_jbgz&vbCrLfLabel1=Label1&本月实发工资为:本月实发工资为:&sfgzEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物作作用用:打打开开一一个个信信息

125、息框框,等等待待用用户户选选择择一一个个按按钮钮。MsgBox函函数数返返回回所所选选按按钮钮的的值值,MsgBox过过程程不不返回值。返回值。MsgBox函数形式:函数形式: MsgBox(提示提示,按钮按钮,标题标题)MsgBox过程形式:过程形式:MsgBox提示提示,按钮按钮,标题标题 其其中中:按按钮钮项项是是一一整整型型表表达达式式,决决定定信信息息框框按按钮钮的的数目、类型及出现在信息框上的图标形式。数目、类型及出现在信息框上的图标形式。3.消息对话框消息对话框MsgBox函数和函数和MsgBox过程过程采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管

126、材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物MsgBox按钮设置按钮设置 第第3个按钮为默认个按钮为默认512vbDefaultButton3第第2个按钮为默认个按钮为默认56vbDefaultButton2第第1个按钮为默认个按钮为默认0vbDefaultButton1默认默认按钮按钮信息图标信息图标64vbInformation警告信息图标警告信息图标48vbExclamation询问信息图标询问信息图标32vbQuestion关键信息图标关键信息图标16vbCritical图标图标类型类型重试、取消按钮重试、取消按钮5vbRetryCancel是、否按钮是、否按钮4vbYe

127、sNo是、否、取消按钮是、否、取消按钮3vbYesNoCancel终止、重试、忽略按钮终止、重试、忽略按钮2vbAboutRetryIgnore确定、取消按钮确定、取消按钮1vbOkCancel确定按钮确定按钮0vbOkOnly按钮按钮数目数目描描述述值值内内部部常常数数分组分组采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物MsgBox所选按钮返回值所选按钮返回值 内部常数内部常数返回返回值被被单击的按的按钮vbOk1确定确定vbCancel2取消取消vbAbort3终止止vbRetry4重重试vbIgno

128、re5忽略忽略vbYes6是是vbNo7否否采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例4.2编一帐号和密码检验程序。要求:编一帐号和密码检验程序。要求:帐号不超过帐号不超过6位数字,有错,清除原内容再输入。位数字,有错,清除原内容再输入。密码输入时在屏幕上以密码输入时在屏幕上以“*”代替;代替;若密码错,显示有关信息,若密码错,显示有关信息,选择选择“重试重试”按钮,清除原内容再输入,选择按钮,清除原内容再输入,选择“取消取消”按钮,停止运按钮,停止运行。行。分析:分析:帐号帐号6位,位,MaxLe

129、ngth为为6,LostFocus判断判断数字数字IsNumeric函函数数;密码密码PassWordChar为为“*”,MsgBox函数设置密码错对话框。函数设置密码错对话框。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4. Print方法方法作用作用: :在对象上计算并输出表达式的信息。在对象上计算并输出表达式的信息。格式:格式: 对象对象.PrintSpc(Spc(n n)|Tab()|Tab(n n) );输出列表输出列表;|,;|,说明:说明:对象:对象:窗体、图形框或打印机,缺省为窗体;窗体、

130、图形框或打印机,缺省为窗体;Spc( (n n) )函数:函数:从当前位置起空从当前位置起空n n个空格;个空格;Tab( (n n) )函数:函数:从最左端开始的第从最左端开始的第n n列上输出;列上输出;分号:分号:紧凑格式,定位在上一个紧凑格式,定位在上一个被被显示的字符显示的字符之之后;后;逗号:逗号:标准格式,定位在下一个打印区开始处标准格式,定位在下一个打印区开始处( (每区每区1414列列) );PrintPrint语句尾无分号或逗号,输出后换行。语句尾无分号或逗号,输出后换行。例例4.34.3 Print Print方法输出图形方法输出图形 114采用PP管及配件:根据给水设计

131、图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.Format格式输出函数格式输出函数形式:形式: Format (表达式表达式,格式字符串格式字符串)常用数值格式化符及举例常用数值格式化符及举例1.23E-010.00E+001234.567用指数表示用指数表示E+$1234.57$#.#1234.567在数字前强加在数字前强加123456.7%#.#%1234.567数值乘以数值乘以100,加百分号,加百分号%1,234.567#,#0.0001234.567千分位千分位,1234.567#.#1234.567位置不足时不填充位置不

132、足时不填充0#01234.567000000.00001234.567用用0填充不足的位置填充不足的位置0显示结果显示结果格式字符串格式字符串表达式表达式作作用用符号符号例例4.4利用利用Format函数显示数值。函数显示数值。 115采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.2 选择结构选择结构 计计算算机机要要处处理理的的问问题题往往往往是是复复杂杂多多变变的的,仅仅采采用用顺顺序序结结构构是是不不够够的的。必必须须利利用用选选择择结结构构等等来来解解决决实实际际应应用用中中的的各各种种问问题题

133、。VB中中提提供供了了多多种种形形式式的的条条件件语语句句来来实实现现选选择择结结构构,有有If条条件件语语句句和和Select情情况况语语句句等等。它它们们都都是是对对条条件件进进行行判判断断,根根据据判判断断结结果果,选选择择执执行不同的分支。行不同的分支。本章目录本章目录采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 1. If1. IfThenThen语句语句( (单分支结构单分支结构) )IfThen语句块语句块EndIf或或IfThen例例4.5已知两个数已知两个数x和和y,比较它们的大小,比较

134、它们的大小,使得使得x大于大于y.IfxyThent=xx=yy=tEndIf或或IfxyThent=x:x=y:y=t重要的是学会两个数的交换,若上述语句次序变一下,结果如何?重要的是学会两个数的交换,若上述语句次序变一下,结果如何?4.2.1If条件语句条件语句 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物注意:注意:If语句中的表达式一般为关系表达式、逻辑表达式,也可语句中的表达式一般为关系表达式、逻辑表达式,也可以是算术表达式。表达式值按非零为以是算术表达式。表达式值按非零为True,零为,零为F

135、alse判判断。断。语句块中的语句可以是一条或多条语句。若是用行结构的语句块中的语句可以是一条或多条语句。若是用行结构的形式,则多条语句必须写在同一行上,且语句之间用冒号形式,则多条语句必须写在同一行上,且语句之间用冒号隔开。隔开。一般来说,语句块只有一条语句时用行结构,多条语句时一般来说,语句块只有一条语句时用行结构,多条语句时用块结构。用块结构。块结构与行结构的区别:块结构与行结构的区别:看看Then后面的语句是否在同一行后面的语句是否在同一行上,若在同一行就是单行结构,否则为块结构,块结构必上,若在同一行就是单行结构,否则为块结构,块结构必须以须以Endif结束。结束。采用PP管及配件:

136、根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2. If2. IfThenThenElseElse语句语句( (双分支结构双分支结构) )IfThenElseEndIf IfThenElse 例4.6 计算分段函数:单分支结构实现: y=cos(x)x3+3*xIfx0Theny=sin(x)+sqr(x*x+1) 双分支结构实现: Ifx0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)x3+3*xEndIf采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以

137、保证切口面的圆度,保持熔接部位干净无污物3. If3. IfThenThenElseIfElseIf语句语句( (多分支结构多分支结构) )形式:形式:IfThenElseIfThenElse语句块语句块n+1EndIf注意注意:1)此处此处Else和和If之间不能有空格,否则程序出错。之间不能有空格,否则程序出错。2)“表达式表达式1-n”都是逻辑表达式。都是逻辑表达式。3)不管有几个分支不管有几个分支,程序执行了满足条件的一个分支后程序执行了满足条件的一个分支后,其余分支不再执行。其余分支不再执行。4)一个多分支结构中只有一个一个多分支结构中只有一个EndIf语句。语句。5)当多分支中有多

138、个表达式同时满足时,只执行第一个与之匹配的语句块。当多分支中有多个表达式同时满足时,只执行第一个与之匹配的语句块。注意多分支中表达式的书写顺序。注意多分支中表达式的书写顺序。6)块结构的条件语句可以嵌套块结构的条件语句可以嵌套。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例4.7已知变量已知变量strC中存放了一个字符,判断该字符是字母字符、数字字中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。符还是其他字符。用多分支结构实现用多分支结构实现:strc=InputBox(input)IfU

139、case(strC)=AAndUcase(strC)=0AndstrC=9ThenPrintstrC+是数字字符是数字字符ElsePrintstrC+其他字符其他字符EndIf不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不子句,则执行该语句块,否则什么也不执行。执行。ElseIf不能写成不能写成ElseIf。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的

140、圆度,保持熔接部位干净无污物例例4.8已知百分制成绩已知百分制成绩mark,显示对应的五级制成绩,显示对应的五级制成绩哪些正确,哪些错误?哪些正确,哪些错误?采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4 4IfIf语句的嵌套语句的嵌套If语句的嵌套是指语句的嵌套是指If或或Else后面的语句块中又包含后面的语句块中又包含If语句。语句。形式如下:形式如下:IfThenIfThenEndIfEndIf例例已知已知x,y,z三个数,使得三个数,使得xyz用一个用一个IF语句和一个嵌套的语句和一个嵌套的IF语

141、句实现语句实现IfxyThent=x:x=y:y=tIfyzThent=y:y=z:z=tIfxyThent=x:x=y:y=tEndIfEndIfIf语句的嵌套注意事项:书写锯齿型;语句的嵌套注意事项:书写锯齿型;If与与EndIf配对。配对。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物:与:与同类型的下面四种形式之一:同类型的下面四种形式之一:(1)表达式表达式例例:A(2)一组枚举表达式一组枚举表达式(用逗号分隔用逗号分隔)2,4,6,8(3)表达式表达式1To表达式表达式260To100(4)Is

142、关系运算符表达式关系运算符表达式Is=AAndUcase(strC)=0AndstrC 0 And y 0 ThenIf x 0 And y 0 Then Print Print 在第一象限在第一象限 ElseIf x 0 ThenElseIf x 0 Then Print Print 在第二象限在第二象限 ElseIf x 0 And y 0 ThenElseIf x 0 And y 0 And y 0 And y 0 And y 0 Case x 0 And y 0Print Print 在第一象限在第一象限 Case x 0 Case x 0Print Print 在第二象限在第二象限

143、Case x 0 And y 0 Case x 0 And y 0 And y 0 And y y,x,y)(2)Choose函数形式是:函数形式是:Choose(数字类型变量,值为(数字类型变量,值为1的返回值,值为的返回值,值为2的返回值的返回值)例如,例如,Nop是是1-4的值,转换成的值,转换成+ + 、- -、运算符的语句如下:运算符的语句如下: Op=Op=Choose(Nop,+ +,- -,)当值为当值为1,返回字符串,返回字符串“+”+”,然后放入,然后放入OpOp变量中,变量中,值为值为2,返回字符串,返回字符串“-”-”,依次类推;,依次类推;当当Nop是是1-4的非整数

144、,系统自动取的非整数,系统自动取Nop的整数办法在判的整数办法在判断;若断;若Nop不在不在14之间,函数返回之间,函数返回Null值。值。(3)Switch函数形式是:函数形式是:Switch(条件表达式(条件表达式1,条件表达式,条件表达式1为为True时的值时的值,条件表达式,条件表达式2,条件表达式,条件表达式2为为True时的值时的值)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.3.1For循环语句循环语句(用于循环次数已知) 1.语句形式 For循环变量初值循环变量初值to终值终值Step

145、步长步长语句块语句块ExitFor语句块语句块Next循环变量循环变量 循环变量 0初值初值终值终值=1时时,可省略可省略终值终值=0死循环死循环(3)循环次数循环次数(2)步长步长其中:其中:(1)循环变量必须为数值型。循环变量必须为数值型。2.执行流程4.3循循环环结结构构采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.注意的问题注意的问题(1)出了循环,循环控制变量值的问题。出了循环,循环控制变量值的问题。例程序段:例程序段:Fori=2To13Step3Printi,NextiPrint:Prin

146、t“I=“,i例例4.11计算计算1100的奇数和,程序段如下:的奇数和,程序段如下:Dimi%,s%s=0Fori=1To100step2s=s+iNextiPrints循环执行次数循环执行次数输出输出i的值分别为的值分别为:25811出了循环输出为出了循环输出为:I=14采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例改变改变循环控制变量对循环的影响。循环控制变量对循环的影响。PrivateSubCommand1_Click()j=0Fori=1To20Step2i=i+3j=j+1Print第第;j

147、;次循环次循环i=;iNextiPrint退出循环后退出循环后i=;iEndSub正常情况:正常情况:i=1,3,5,7,9,11,13,15,17,19现在:现在:i=4,9,14,19(2)在循环体内对循环控制变量可多次引用;但最好不要对)在循环体内对循环控制变量可多次引用;但最好不要对其赋值,否则影响原来的循环控制规律。其赋值,否则影响原来的循环控制规律。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物计算下列循环语句的次数:计算下列循环语句的次数:(1)Fori=-3To20step4(2)Fori=

148、-3.5To5.5step0.5(3)Fori=-3.5To5.5step-0.5(4)Fori=-3To20step0解答解答(1)循环次数为)循环次数为6次次(2)循环次数为)循环次数为19次次(3)不循环)不循环(4)无数次,死循环)无数次,死循环例例4.12输出可打印的输出可打印的ASCII码字符与它的编码值。码字符与它的编码值。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.3.2DoLoop循环语句循环语句(用于控制循环次数未知)形式1: DoWhile|Until语句块语句块ExitDo语句

149、块语句块Loop形式2:Do语句块语句块ExitDo语句块语句块LoopWhile|Until采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例4.13 我国有我国有1313亿人口,按人口年增长亿人口,按人口年增长0.8%0.8%计算,多少年计算,多少年后我国人口超过后我国人口超过2626亿。亿。分析:解此问题两种方法,可根据公式:分析:解此问题两种方法,可根据公式:26=13*(1+0.008)n 直接利用标准对数函数求得;也可利用循环求得,程序如下:直接利用标准对数函数求得;也可利用循环求得,程序如下:

150、PrivateSubCommand1_Click()x=13n=0DoWhilex=26采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.3.3循环的嵌套循环的嵌套一个循环体内又包含了一个完整的循环结构称为循环的嵌套。一个循环体内又包含了一个完整的循环结构称为循环的嵌套。例例4.14打印九九乘法表打印九九乘法表Fori=1To9Forj=1To9se=i&j&=&i*jPicture1.PrintTab(j-1)*9+1);se;NextjPicture1.PrintNexti思考:思考:打印上三角或下三角

151、程序如何改动?要打印下三角打印上三角或下三角程序如何改动?要打印下三角?Forj=1Toi采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 Forii=1To10Forjj=1To20NextiiNextjj Forii=1To10Forii=1To20NextiiNextii Forii=1To10Forjj=1To20NextjjNextii Forii=1To10NextiiForii=1To10Nextii对于循环的嵌套,要注意以下事项:对于循环的嵌套,要注意以下事项:内循环变量与外循环变量不能同名;

152、内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;外循环必须完全包含内循环,不能交叉;不能从循环体外转向循环体内,反之则可以。不能从循环体外转向循环体内,反之则可以。正确正确错误错误采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.4 4.4 其他辅助控制语句其他辅助控制语句 1.GoTo语句语句形式形式:GoTo标号标号|行号行号作用:无条件地转移到标号或行号指定的那行语句。作用:无条件地转移到标号或行号指定的那行语句。标号是一个字符序列,行号是一个数字序列。标号是一个字符序列,行号是一

153、个数字序列。2.Exit语句语句多种形式:多种形式:ExitFor、ExitDo、ExitSub、ExitFunction等。等。作用:退出某种控制结构的执行。作用:退出某种控制结构的执行。3.End语句语句多种形式:多种形式:End、EndIf、EndSelect、EndWith、EndType、EndSub、EndFunction。作用:作用:End结束一个程序的运行;其余表示某个结构的结束,与结束一个程序的运行;其余表示某个结构的结束,与对应的结构语句配对出现。对应的结构语句配对出现。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面

154、的圆度,保持熔接部位干净无污物求求n以内素数的代码:以内素数的代码:Form=2TonFori=2Tom-1If(mModi)=0ThenGoToNotNextMNextiPrintmNotNextM:Nextmm是否为素数求n以内的素数思考:思考:此例用此例用GoTo语句对非素数不作判断,若不用语句对非素数不作判断,若不用GoTo语句,语句,如何修改程序?如何修改程序?例例4.15判断输入的数是否为素数判断输入的数是否为素数素数是一个大于素数是一个大于2,且不能被,且不能被1和本身以外的整数整除的整数。和本身以外的整数整除的整数。判别某数判别某数m是否为素数最简单的方法是是否为素数最简单的方

155、法是:对于对于m从从i=2,3,m-1判别判别m能否被能否被i整除,只要有一个整除,只要有一个能整除,能整除,m不是素数,否则不是素数,否则m是素数。是素数。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.5 综合应用综合应用 1.四则运算四则运算例例4.16由计算机自动产生四则运算题,并能判断答案的正确性。由计算机自动产生四则运算题,并能判断答案的正确性。设计思路:设计思路:(1)通通过过随随机机函函数数Rnd产产生生试试题题的的操操作作数数和和运运算算符符,运运算算符符+、-、可对应编号可对应编号14

156、。产生表达式通过。产生表达式通过Form_Load事件过程。事件过程。(2)需需要要有有一一个个全全局局变变量量保保存存四四则则运运算算题题的的正正确确答答案案,用用户户答答案案可通过文本框输入。可通过文本框输入。(3)本题主要将随机函数、本题主要将随机函数、If语句、语句、Select语句综合在一起使用。语句综合在一起使用。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例4.17用用辗转相除法求辗转相除法求两自然数两自然数m,n的最大公约数和最小公倍数。的最大公约数和最小公倍数。分析:求最大公约数的算法

157、思想:分析:求最大公约数的算法思想:(1)m除以除以n得余数得余数r;(2)若若r=0,则,则n为最大公约数结束;否则执行为最大公约数结束;否则执行(3);(3)mn,nr,再重复执行,再重复执行(1)。例例求求m=14 ,n=6的最大公约数的最大公约数.r=mmodnDoWhile(r0)m=nn=rr=mmodnLoopPrint最大公约数最大公约数=,n m n r 14 6 2 620辗转相减法辗转相减法 m=m-n mn n=n-m nmm、n为公约数为公约数m=nDoWhilemnmnIfmnThen146m=mn86Else26n=nm24EndIf22Loop2.求求最大公约数

158、和最小公倍数最大公约数和最小公倍数采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.计算部分级数和计算部分级数和例例4.184.18求自然对数求自然对数e e的近似值,其误差小于的近似值,其误差小于0.000010.00001。近似公式近似公式分分析析:本本例例涉涉及及到到程程序序设设计计中中两两个个重重要要运运算算,累累加加和和连连乘乘。累累加加是是在在原原有有和和的的基基础础上上再再加加一一个个数数;连连乘则是在原有积的基础上再乘以一个数。乘则是在原有积的基础上再乘以一个数。 该该题题先先求求i!,再再

159、将将1/i!进进行行累累加加,循循环环次次数数未未知知,可可先先设设置置一一个个次次数数很很大大的的值值,然然后后在在循循环环体体内内判判断断是是否到达精度,也可用否到达精度,也可用DoWhile来实现。来实现。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4. 试凑法求方程的解试凑法求方程的解例例4.19百百元元买买百百鸡鸡。假假定定小小鸡鸡每每只只5角角,公公鸡鸡每每只只2元元,母母鸡鸡每只每只3元,编程求解购鸡方案。元,编程求解购鸡方案。分析:分析:(1)设母鸡、公鸡、小鸡各为设母鸡、公鸡、小鸡各为x

160、、y、z,列出方程为:,列出方程为:x+y+z= 1003x+2y+0.5z = 100三个未知数,两个方程,此题求若干个整数解。三个未知数,两个方程,此题求若干个整数解。(2)计计算算机机求求解解此此类类问问题题,采采用用试试凑凑法法(也也称称穷穷举举法法)来来实实现现,即即将将可可能能出出现现的的各各种种情情况况一一一一罗罗列列测测试试,判判断断是是否否满满足足条条件件,采用循环结构来实现。采用循环结构来实现。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5. 递推法递推法递递推推(迭迭代代)法法基基本

161、本思思想想是是把把一一个个复复杂杂的的计计算算过过程程转转化化为为简简单单过过程程的的多多次次重重复复。每每次次都都从从旧旧值值的的基基础础上上递递推推出出新新值值,并并由由新新值值代替旧值。代替旧值。例例4.20 4.20 小小猴猴有有桃桃若若干干,第第一一天天吃吃掉掉一一半半多多一一个个;第第二二天天吃吃剩剩下下桃桃子子的的一一半半多多一一个个;以以后后每每天天都都吃吃尚尚存存桃桃子子的的一一半半多多一一个个,到第到第7 7天只剩一个,问小猴原有桃多少?天只剩一个,问小猴原有桃多少?分分析析:用用后后一一天天的的数数推推出出前前一一天天的的桃桃子子数数。设设第第n天天的的桃桃子子为为xn,

162、是前一天的桃子的二分之一减去,是前一天的桃子的二分之一减去1。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.6.求最小、最大值求最小、最大值在在若若干干个个数数中中求求最最大大值值,一一般般先先假假设设一一个个较较小小的的数数为为最最大大值值的的初初值值,若若无无法法估估计计较较小小的的值值,则则取取第第一一个个数数为为最最大大值值的的初初值值;然然后后将将每每一一个个数数与与最最大大值比较,若该数大于最大值,将该数替换为最大值;依次逐一比较。值比较,若该数大于最大值,将该数替换为最大值;依次逐一比较。

163、例例 随机产生随机产生1010个个100100200200之间的数,求最大值和最小值。之间的数,求最大值和最小值。 PrivateSubCommand1_Click()Max=100:Min=200Fori=1To10x=Int(Rnd*101+100)Printx;IfxMaxThenMax=xelseifx0Andt ave Then n = n + 1 Next i MsgBox ( (平均分平均分: : & ave & & ave & 高于平均分人数高于平均分人数: : & n) & n)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证

164、切口面的圆度,保持熔接部位干净无污物2.2.数组的概念数组的概念概念:概念:在在VB中,把一组相互关系密切的数据放在一起并用一个统中,把一组相互关系密切的数据放在一起并用一个统一的名字作为标志,就是数组。一的名字作为标志,就是数组。一般来说,数组就是一组相同类型的变量的集合。一般来说,数组就是一组相同类型的变量的集合。数组的分类:数组的分类:按数组的按数组的大小大小分为定长数组(静态)和变长数组(动态)。分为定长数组(静态)和变长数组(动态)。按元素的按元素的类型类型分为数值型、字符型、日期型、变体数组等。分为数值型、字符型、日期型、变体数组等。按数组的按数组的维数维数分为一维数组、二维数组、

165、多维数组。分为一维数组、二维数组、多维数组。按按对象对象不同分为菜单对象数组和控件数组。不同分为菜单对象数组和控件数组。数组必须先声明后使用。数组必须先声明后使用。声明数组名、类型、维数和数组大小。声明数组名、类型、维数和数组大小。使用数组元素时,下标不能超出上下界范围,下标可以是整型的使用数组元素时,下标不能超出上下界范围,下标可以是整型的常数、变量、表达式,甚至是一个数组元素。常数、变量、表达式,甚至是一个数组元素。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 5.1.2静态数组及声明静态数组及声明在

166、声明时确定了大小的数组称为静态数组。在声明时确定了大小的数组称为静态数组。静态数组从建立到消亡静态数组从建立到消亡整个阶段中数组的大小是固定的。整个阶段中数组的大小是固定的。 静态数组的声明静态数组的声明形式:形式: Dim数组名数组名(下标下标1,下标下标2)As类型类型声明了数组的名、维数、大小、类型(省略时为变体类型)声明了数组的名、维数、大小、类型(省略时为变体类型)维数:维数:几个下标为几维数组,最多几个下标为几维数组,最多60维。维。下标:下标:下界下界To上界上界省略下界为省略下界为0,必须为常数。必须为常数。每一维大小:每一维大小:上界下界上界下界+1数组大小:数组大小:每一维

167、大小的乘积每一维大小的乘积例:例:Dimmark(1to100)AsInteger采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物DimlArray(0To3,0To4)AsLong 共有 45个元素等价于: DimlArray(3,4)AsLong 注意:注意:(1)下界缺省为下界缺省为0,也可重新定义数组的下界。例如:,也可重新定义数组的下界。例如:OptionBase1(2)错误的声明:下标是变量错误的声明:下标是变量n=Inputbox(输入输入n):):Dimx(n)AsSingle(3)在在数数组

168、组声声明明中中的的下下标标说说明明了了数数组组的的整整体体,即即每每维维的的大大小小;而而在在程程序序其其他他地地方方出出现现的的下下标标表表示示数数组组中中的的一一个个元元素素。两两者者写写法法形形式式相同,但意义不同。相同,但意义不同。例如:例如: Dimx(10)AsInteger 声明了声明了x数组有数组有11个元素个元素x(10)=100对对x(10)这个数组元素赋值这个数组元素赋值采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.1.3动态数组及声明动态数组及声明动态数组指在动态数组指在声明数组

169、时未给出数组的大小声明数组时未给出数组的大小(省略括号中的下标省略括号中的下标),当要使,当要使用它时,随时用用它时,随时用ReDim语句重新指出数组大小。语句重新指出数组大小。建立动态数组要分两步:建立动态数组要分两步:(1)用)用Dim语句声明数组,但不能指定数组大小语句声明数组,但不能指定数组大小 Dim 数组名数组名()As数据类型数据类型(2)用)用ReDim语句动态地分配元素个数语句动态地分配元素个数 ReDim数组名数组名(下标下标, ,下标下标2)例:例:Dims()AsSingleSubForm_Load() ReDims(4,8) EndSub161采用PP管及配件:根据给

170、水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物定义动态数组大小定义动态数组大小注意:注意:1.1.Dim 是说明语句,可出现在程序的任何地方,而是说明语句,可出现在程序的任何地方,而ReDim是执行语是执行语句,只能在过程中。句,只能在过程中。 2.2.在在过过程程中中可可多多次次使使用用ReDim语语句句来来改改变变数数组组的的大大小小和和维维数数,但但不不能改变类型。能改变类型。3.3.可可在在ReDim后后加加Preserve参参数数用用来来保保留留数数组组中中的的数数据据,若若使使用用Preserve参数后,只能改变最后一

171、维的大小。参数后,只能改变最后一维的大小。4.4.Dim语语句句中中的的下下标标只只能能是是常常量量,ReDim中中的的下下标标可可以以是是常常量量,也也可以是有了确定值的变量或表达式。可以是有了确定值的变量或表达式。5.5.静静态态数数组组在在程程序序编编译译时时分分配配存存储储单单元元,动动态态数数组组在在运运行行时时分分配配存存储单元。储单元。例例5.2编一个程序,显示有编一个程序,显示有n个数的非波那契数序列。个数的非波那契数序列。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.数组赋初值数组赋初

172、值 (1)用循环 Fori=1To10A(i)=i+3Nexti 注意:注意:(1)利用)利用Array对数组各元素赋值,声明的数组是动态数组或连圆对数组各元素赋值,声明的数组是动态数组或连圆括号都可省的变量,并且其类型只能是括号都可省的变量,并且其类型只能是Variant。(2)数组的下界为零,也可由数组的下界为零,也可由OptionBase决定。上界可由决定。上界可由Array函函数括号内的参数个数决定,也可通过函数数括号内的参数个数决定,也可通过函数Ubound获得。下界可由获得。下界可由LBound函数获得。格式:函数获得。格式:UBound(数组名数组名,N)其中)其中N指定返回哪指

173、定返回哪一维的上界。一维的上界。(2) Array函数(只能是一维变体数组)DimbAsVariantb=Array(abc,def,67)Fori=0ToUBound(b)Printb(i);Nexti5.2 数组的基本操作数组的基本操作采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.2.数组的整体赋值数组的整体赋值 在VB6.0中,提供了数组直接对数组的赋值。例如:Dima()AsVariant,b()AsVariant,i%a=Array(1,2,3,4,5)b=aReDimb(UBound(a)F

174、ori=0ToUBound(a)b(i)=a(i)Nexti注意:注意:赋值号左边的数组只能声明为赋值号左边的数组只能声明为Variant的的动态数组或简单变量。动态数组或简单变量。3.3.数组的输入数组的输入对于数组的输入,可用文本框加些技术处理,也可用对于数组的输入,可用文本框加些技术处理,也可用InputBoxInputBox函函数。例如:数。例如:For i=0 to 3For i=0 to 3 for j=0 to 4 for j=0 to 4 a(i,j)=InputBox(“ a(i,j)=InputBox(“输入输入” ” & i & “,” & j & “& i & “,”

175、& j & “的值的值”) )next jnext j,i i采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.数组的输出数组的输出 例例5.35.3 形形成成5555的的方方阵阵,分分别别输输出出方方阵阵中中各各元元素素、上上三角和下三角三角和下三角元素。元素。方方阵阵规规律律:第第一一行行的的元元素素为为0 04 4,以以后后每每一一行行是是前前一一行行对对应应元元素增加素增加5,5,即即s(i,j) = i*5+js(i,j) = i*5+j上上三三角角规规律律: : 每每一一行行的的起起始始列列与与

176、行行号号相相同同, ,只只要要控控制制内内循循环环的的初值。初值。 用用Tab函数或函数或SpaceSpace定位定位控制输出的空格。控制输出的空格。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.求数组和、最值、位置求数组和、最值、位置例例5.45.4 求一维数组中各元素之和、最小数组元素,并求一维数组中各元素之和、最小数组元素,并将最小值数组元素与数组中第一个元素交换。将最小值数组元素与数组中第一个元素交换。v求元素和:通过循环将每个元素进行累加。求元素和:通过循环将每个元素进行累加。v求数组中最小元

177、素:假设第一个元素为最小,然后求数组中最小元素:假设第一个元素为最小,然后将该数与其他元素逐一比较,若发现小于最小值,将该数与其他元素逐一比较,若发现小于最小值,就用新值替换最小值,同时记录下标值。就用新值替换最小值,同时记录下标值。v求最大值的方法与求最小值相似。求最大值的方法与求最小值相似。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.数组排序数组排序排序是将一组数按递增或递减的次序排列,例如按排序是将一组数按递增或递减的次序排列,例如按学生的成绩、球赛积分等排序。排序的算法有许多,学生的成绩、球赛

178、积分等排序。排序的算法有许多,常用的有常用的有选择法选择法、冒泡法冒泡法、插入法插入法、合并排序合并排序等。等。(1)选择法排序选择法排序基本思想:每次在若干个无序数中找最小基本思想:每次在若干个无序数中找最小(大大)数,并数,并放在相应的位置。放在相应的位置。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物n个数的序列,用个数的序列,用选择法选择法按递增次序按递增次序排序排序的步骤:的步骤:1)从从n个数中找出最小数的下标,出了内循环,个数中找出最小数的下标,出了内循环,最小数与第最小数与第1个数交换位置;

179、通过这一轮排序,个数交换位置;通过这一轮排序,第第1个数已确定好。个数已确定好。2)除已排序的数外,其余数再按步骤除已排序的数外,其余数再按步骤1)的方法选的方法选出最小的数,与未排序数中的第出最小的数,与未排序数中的第1个数交换位个数交换位置。置。3)重复步骤重复步骤2),最后构成递增序列。,最后构成递增序列。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例5.5 5.5 对已知存放在数组中的对已知存放在数组中的6 6个数,用选择个数,用选择法按递增顺序排序。法按递增顺序排序。 原始数据原始数据8693

180、27a(1)a(2)a(3)a(4)a(5)a(6)第第1轮比较轮比较269387a(2)a(3)a(4)a(5)a(6)第第2轮比较轮比较239687a(3)a(4)a(5)a(6)第第3轮比较轮比较236987a(4)a(5)a(6)第第4轮比较轮比较236789a(5)a(6)第第5轮比较轮比较236789选择法排序过程示意选择法排序过程示意选择法演示选择法演示采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(2)冒泡法排序)冒泡法排序基本思想是:从第一个元素开始,对数组基本思想是:从第一个元素开始,对

181、数组中两两相邻的元素比较,将值较小的元素中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面,一轮放在前面,值较大的元素放在后面,一轮比较比较完毕,一个最大的数沉底成为数比较比较完毕,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。气泡一样上浮一个位置。n个数,经过个数,经过n-1轮比较后完成排序。轮比较后完成排序。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物原始数据原始数据869327a(1)a(2)a(3)a(4)a(5

182、)a(6)第第1轮比较轮比较683279a(1)a(2)a(3)a(4)a(5)第第2轮比较轮比较632789a(1)a(2)a(3)a(4)第第3轮比较轮比较326789a(1)a(2)a(3)第第4轮比较轮比较236789a(1)a(2)第第5轮比较轮比较236789例例5.6 5.6 用冒泡排序法实现例用冒泡排序法实现例5.55.5的问题。的问题。冒泡法冒泡法演示演示采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.7.在有序数组中插入数据在有序数组中插入数据插入数据基本思想是:插入数据基本思想是:1

183、 1)首先查找待插入数据在数组中的位置)首先查找待插入数据在数组中的位置k k;2 2)然后从最后一个元素开始往前到下标为)然后从最后一个元素开始往前到下标为k k的的元素依次往后移动一个位置;元素依次往后移动一个位置;3) 3) 第第k k个元素的位置腾出,将数据插入。个元素的位置腾出,将数据插入。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物PrivateSubForm_Click()Dima(),i%,k%,x%,n%a=Array(1,4,7,9,12,23,56)n=UBound(a)x=Inpu

184、tBox(输入要插入的数输入要插入的数)Fork=0Ton查找欲插入数查找欲插入数x在数组中的位置在数组中的位置IfxnThenMsgBox(找不到此数据找不到此数据):ExitSubFori=k+1Ton将将x后的元素左移后的元素左移a(i-1)=a(i)Nextin=n-1ReDimPreservea(n)数组元素减少一个数组元素减少一个Fori=0Ton显示删除后的各数组元素显示删除后的各数组元素Printa(i);NextiEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.3 列表框和组

185、合框列表框和组合框 列表框:列表框:可显示多个选项供用户选择,不能直接修改其可显示多个选项供用户选择,不能直接修改其中的内容。中的内容。组合框:组合框:组合了文本框和列表框的特性而形成的一种控组合了文本框和列表框的特性而形成的一种控件。组合框有件。组合框有3种式样。种式样。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.共有的重要属性共有的重要属性(P:可在程序中设置或引用,:可在程序中设置或引用,D:可在设计状态设置。可在设计状态设置。)(1)List:PD字符型数组,存放列表框的项目,下标是从字符型数

186、组,存放列表框的项目,下标是从0开始。开始。(2)ListIndex:P选中的项目的序号,没有项目被选定时为选中的项目的序号,没有项目被选定时为- -1(3)ListCount:P项目的数量,项目的数量,ListCount-1是最后一项的下标。是最后一项的下标。引用最后一个数据项:引用最后一个数据项:List1.List(List1.ListCount-1)(4)Sorted:DTrue:按字母顺序排列。:按字母顺序排列。False:按加入先后顺序排列。:按加入先后顺序排列。(5)Text:P列表项中被选定的内容,默认属性。列表项中被选定的内容,默认属性。List1.List(List1.Li

187、stIndex)=List1.Text。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.列表框的特有属性列表框的特有属性MultiSelect:0-None:禁止多项选择。:禁止多项选择。1-Simple:简单多项选择。:简单多项选择。2-Extended:扩展多项选择。:扩展多项选择。SelCount:返回在列表框中被选中项的数量。返回在列表框中被选中项的数量。Selected:P逻辑数组。逻辑数组。Selected(i)的值为的值为True表示第表示第i+1项被选中。项被选中。3.组合框的特有属性组

188、合框的特有属性Style:类型类型Style输入输入下拉式组合框下拉式组合框0能能简单组合框简单组合框1能能下拉式列表框下拉式列表框2不能不能采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.方法方法AddItem:把一个选项加入到列表框或组合框。把一个选项加入到列表框或组合框。对象对象.AddItemitem,index省略省略index,则新增选项添加在最后;第一个选项的,则新增选项添加在最后;第一个选项的index为为0。RemoveItem:删除指定的选项。删除指定的选项。对象对象.RemoveIt

189、emindexClear:清除列表框或组合框的所有内容。清除列表框或组合框的所有内容。对象对象.Clear5.事件事件列表框:列表框:Click、DblClick。组合框:组合框:Click,只有简单组合框才有只有简单组合框才有DblClick事件。事件。一般不需要编写一般不需要编写Click事件过程。事件过程。通常在单击命令按钮或发生通常在单击命令按钮或发生DblClick事件时才读取事件时才读取Text属性。属性。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例5.9编写一个编写一个能对列表框进能对列

190、表框进行项目添加、行项目添加、删除和清除的删除和清除的应用程序。应用程序。 6.列表框和组合框的应用列表框和组合框的应用采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例5.10编写一个编写一个使用屏幕字体、使用屏幕字体、字号的程序字号的程序例例5.11使用列表框实现数据的插入、查找、使用列表框实现数据的插入、查找、删除。删除。例例5.12使用组合框对使用组合框对省和直辖市名称进行省和直辖市名称进行添加和修改的管理。添加和修改的管理。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断

191、管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.4 自定义类型及数组自定义类型及数组 5.4.1 5.4.1 自定义类型的定义自定义类型的定义数组存放性质相同的数据集合。若数组存放性质相同的数据集合。若不同类型不同类型信息信息作为一个整体来描述,例如姓名、性别、出生年作为一个整体来描述,例如姓名、性别、出生年月等,通过月等,通过Type语句来实现语句来实现。Type 自定义类型名自定义类型名元素名元素名1As类型名类型名元素名元素名nAs类型名类型名End Type其中:其中:元元素素名名:表表示示自自定定义义类类型型中中的的一一个个成成员员,可可以以是是简简单单变变量,也可以

192、是数组。量,也可以是数组。类类型型名名:可可以以是是标标准准类类型型,也可以是自定义类型。也可以是自定义类型。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例如,定义一个有关学生信息的类型:例如,定义一个有关学生信息的类型:Type StudTypeStudType为为自定义自定义类型名类型名NameAsString*5姓名姓名SexAsString*1性别性别TelephoneAsLong电话电话SchoolAsString*10学校学校End Type自定义类型自定义类型不能在过程内定义不能在过程内定义

193、,一般放在标准模块文件,默认为,一般放在标准模块文件,默认为Public;若在窗体模块的通用声明段定义,必须加;若在窗体模块的通用声明段定义,必须加Private。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.4.2自定义类型变量的使用自定义类型变量的使用 1.自定义类型变量的声明自定义类型变量的声明定义了定义了自定义类型,自定义类型,就可在变量的声明时使用。就可在变量的声明时使用。Dim 变量名变量名 As自定义自定义类型名类型名例如,如下语句:例如,如下语句:DimS1AsStudType,S2A

194、sStudType声明声明S1、S2为两个同种类型的变量为两个同种类型的变量注意:注意:(1)不要混淆)不要混淆StudType和和S1,前者如同,前者如同Integer等的类型名,后等的类型名,后者根据该类型分配所需的内存空间,存储各成员数据。者根据该类型分配所需的内存空间,存储各成员数据。(2)类型变量和数组相同之处它们都是由若干个成员组成;不同之类型变量和数组相同之处它们都是由若干个成员组成;不同之处,前者的成员代表不同性质、不同类型的数据,以各个不同的处,前者的成员代表不同性质、不同类型的数据,以各个不同的成员名表示;而数组一般存放的是同种性质、同种类型的数据,成员名表示;而数组一般存

195、放的是同种性质、同种类型的数据,以下标表示不同的元素。以下标表示不同的元素。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.自定义类型变量成员的引用自定义类型变量成员的引用 引用自定义类型变量中的某个成员,形式如下:引用自定义类型变量中的某个成员,形式如下:自定义类型变量名自定义类型变量名.成员名成员名例如,例如,S1.NameS1变量中的姓名变量中的姓名S1.Sex性别性别可利用可利用With语句简化成员引用:语句简化成员引用:With结构变量对象名结构变量对象名语句块语句块EndWithWithS1.

196、Name=张华张华.Sex=男男.School=同济大学同济大学EndWith采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.4.3自定义类型数组及应用自定义类型数组及应用自自定定义义类类型型数数组组就就是是数数组组中中的的每每个个元元素素是是自自定定义类型。义类型。 例例5.135.13用用自自定定义义类类型型数数组组, ,查查询询和和显显示示学学生生信信息。息。分析:自定义一个记录类型,由姓名、性别、分析:自定义一个记录类型,由姓名、性别、电话、学校组成,声明一电话、学校组成,声明一个存放个存放100

197、个记录的数组。个记录的数组。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.5 综合应用综合应用-分类统计分类统计1.1.分类统计分类统计将一批数据按条件统计每一类中包含的将一批数据按条件统计每一类中包含的个数。例如,统计学生成绩优、良、中、个数。例如,统计学生成绩优、良、中、及格、不及格人数。这类问题要掌握分及格、不及格人数。这类问题要掌握分类条件表达式的书写和使用计数变量保类条件表达式的书写和使用计数变量保存相应的计数。存相应的计数。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直

198、角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例5.145.14输入一串字符,统计各字母出现的输入一串字符,统计各字母出现的次数。次数。 v 统计统计2626个字母出现的个数,必须声明一个字母出现的个数,必须声明一个具有个具有2626个元素的数组,每个元素的下标个元素的数组,每个元素的下标表示对应的字母,元素的值表示对应字母表示对应的字母,元素的值表示对应字母出现的次数。出现的次数。v 从输入的字符串中逐一取出字符,判断从输入的字符串中逐一取出字符,判断前转换成大写字符前转换成大写字符( (不区分大小写不区分大小写) ),再进,再进行判断。行判断。采用PP管及配件:根据给

199、水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2. 2. 大量数据的输入和编辑大量数据的输入和编辑 在财务、工程计算中,经常需要对大量的数据进在财务、工程计算中,经常需要对大量的数据进行输入和编辑。可利用文本框通过编程来实现。行输入和编辑。可利用文本框通过编程来实现。 例例5.155.15输入一系列的数据,输入结束将它们按分输入一系列的数据,输入结束将它们按分隔符分离后存放在数组中。对输入的数据允许修隔符分离后存放在数组中。对输入的数据允许修改和自动识别非数字数据。改和自动识别非数字数据。v利用文本框输入和编辑数据;利用利用文本框

200、输入和编辑数据;利用ReplaceReplace函函数去除重复输入的分隔符。数去除重复输入的分隔符。v利用利用Split函数函数将输入的内容分离到数组中。将输入的内容分离到数组中。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.6 数组中常见错误和注意事项数组中常见错误和注意事项1.1.静态数组声明下标出现变量静态数组声明下标出现变量n=InputBox(输入数组的上界输入数组的上界)Dima(1Ton)AsInteger2 2数组下标越界数组下标越界 引用的下标比数组声明时的下标范围大或小。引用的下标比

201、数组声明时的下标范围大或小。 Dim a(1 To 30) As Long, i%Dim a(1 To 30) As Long, i% a(1) = 1: a(2) = 1 a(1) = 1: a(2) = 1 For i = For i = 2 To 30 To 30 a(i) = a(i - 2) + a(i - 1) a(i) = a(i - 2) + a(i - 1) a(0)不存在不存在 Next iNext i3 3数组维数错数组维数错 数组声明时的维数与引用数组元素时的维数不一致。数组声明时的维数与引用数组元素时的维数不一致。 Dim a(3, 5) As LongDim a(3

202、, 5) As Long a( a(i)=10)=104 4AarryAarry函数与函数与SplitSplit函数使用问题函数使用问题 只能对只能对Variant Variant 的变量或动态数组赋值。的变量或动态数组赋值。5 5获得数组的上界、下界获得数组的上界、下界 Ubound Ubound 、LboundLbound函数函数采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第六章第六章 过过 程程6.1函数过程的定义与调用函数过程的定义与调用6.2子过程的定义与调用子过程的定义与调用6.3参数传递参数

203、传递6.4递归递归6.5变量、过程的作用域变量、过程的作用域6.6综合应用综合应用6.7重点和难点重点和难点采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.1函数过程的定义函数过程的定义6.1.1引例引例已知多边形的各条边的长度,计算已知多边形的各条边的长度,计算多边形的面积。多边形的面积。计算多边形面积,可将多边形分解成若干个计算多边形面积,可将多边形分解成若干个三角形。三角形。计算三角形面积的公式如下:计算三角形面积的公式如下:xyz定义函数过程定义函数过程area:PublicFunctionare

204、a(x!,y!,z!)AsSingleDimc!c=1/2*(x+y+z)area=Sqr(c*(c-x)*(c-y)*(c-z)EndFunction调用函数过程:调用函数过程:Subcommand1_click()输入若干个三角形边长输入若干个三角形边长S=area(a,b,c)+area(c,d,e)+area(e,f,g)PrintSEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.1.2函数过程的定义函数过程的定义1.自定义函数过程有两种方法自定义函数过程有两种方法(1)利用利用“工具

205、工具”菜单下的菜单下的“添加过程添加过程”命令定义,生成一个命令定义,生成一个函数的框架。函数的框架。(2)利用代码窗口直接定义。利用代码窗口直接定义。2.函数过程形式函数过程形式Private|PublicStaticFunction函数过程名函数过程名(参数列表参数列表)As类型类型局部变量或常数定义局部变量或常数定义语句块语句块1函数名函数名=返回值返回值ExitFunction语句块语句块2函数名函数名=返回值返回值EndFunction函数过程体函数过程体采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无

206、污物3.说明说明(1)Static、Private、Public:意义与过程的作用域有关。意义与过程的作用域有关。(2)函数过程名:函数过程名:命名规则同变量名。命名规则同变量名。(3)参数列表形式参数列表形式:ByVal|ByRef形参名形参名()As类型类型称称为为形形参参或或哑哑元元,只只能能是是变变量量或或数数组组名名,不不能能是是常常量量、数数组组元元素素或或表表达达式式。形形参参仅仅表表示示参参数数的的个个数数、类类型型,无无值值。ByVal表表示示当当过过程程被被调调用用时时,参参数数按按值值传传递递,缺缺省省或或ByRef表表示示当当过过程程被被调调用用时时,参参数数按按地地址

207、址传传递递。无无参参数数时时函函数数过过程程名名后后的的括括号不能省略,这是函数过程的标志。号不能省略,这是函数过程的标志。(4)AS类型:类型:函数返回值的类型。若省略,则返回变体类型。函数返回值的类型。若省略,则返回变体类型。(5)函函数数名名=返返回回值值:在在函函数数体体内内,函函数数名名可可以以当当变变量量使使用用,函函数数的的返返回回值值就就是是对对函函数数名名的的赋赋值值语语句句实实现现的的,在在函函数数体体内内至至少对函数名赋值一次。少对函数名赋值一次。(6)ExitFunction或或EndFunction:表示退出函数过程。表示退出函数过程。总之,函数过程名有值,有类型,在

208、过程体内至少被赋值一次。总之,函数过程名有值,有类型,在过程体内至少被赋值一次。例例6.2编一求最大公约数的函数过程。编一求最大公约数的函数过程。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.1.3函数过程的调用函数过程的调用 1.调用形式:调用形式:函数过程名函数过程名(参数列表参数列表)参数列表参数列表(称为实参或实元称为实参或实元):传递给过程的变量或表达式。:传递给过程的变量或表达式。 Sub Form_Click Dim x%, y%, z% x = 124: y = 24 z = gcd(x

209、, y) MsgBox(最大公约数是最大公约数是 & z)End Sub 2.2.程序运程序运行流程行流程Functiongcd(m%,n%)AsInteger r=mModnDoWhile(r0)m=n:n=r:r=mModnLoopgcd=nEndFunction采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.函数过程调用时应注意的问题函数过程调用时应注意的问题(1)参数列表称为实参,它必须与形参保持个数相同,位置)参数列表称为实参,它必须与形参保持个数相同,位置与类型一一对应(也允许形参与实参个数不

210、同),实参与类型一一对应(也允许形参与实参个数不同),实参可以是同类型的常量、变量、数组元素或表达式。可以是同类型的常量、变量、数组元素或表达式。(2)因为函数名要返回一个值,所以函数调用不是一条独立)因为函数名要返回一个值,所以函数调用不是一条独立的语句,不能独立存在。的语句,不能独立存在。(3)调用时把实参的值传递给形参称为参数传递。值传递时)调用时把实参的值传递给形参称为参数传递。值传递时实参的值不随形参的变化而变化,而地址传递时实参随实参的值不随形参的变化而变化,而地址传递时实参随形参的值一起改变。形参的值一起改变。(4)当参数是数组时,形参与实参声明时应省略其维数和大)当参数是数组时

211、,形参与实参声明时应省略其维数和大小,但括号不能省略。小,但括号不能省略。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例6.3编一函数,统计字符串中汉字的个数。编一函数,统计字符串中汉字的个数。分析:在分析:在VB中,字符以中,字符以Unicode码存放,每个汉字和码存放,每个汉字和英文是一个字符、占有两个字节,区别是汉字的机内英文是一个字符、占有两个字节,区别是汉字的机内码最高位为码最高位为1,若利用,若利用Asc函数求其码值为小于函数求其码值为小于0(以补(以补码表示),而西文字符的最高位为码表示)

212、,而西文字符的最高位为0,Asc函数求其码函数求其码值为大于值为大于0。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.2 子过程的定义与调用子过程的定义与调用 6.2.1引例引例以下情况使用函数过程存在不足:以下情况使用函数过程存在不足:v不是为了获得某个函数值,而是为了某种功能的处不是为了获得某个函数值,而是为了某种功能的处理。理。v要获得多个结果。要获得多个结果。VB中提供了使用更灵活的子过程。中提供了使用更灵活的子过程。例例6.4编一过程,对编一过程,对Label1控件进行移动,通过参数控件进行移

213、动,通过参数Tag的值(的值(1或或-1)决定移动方向。)决定移动方向。该过程不是为了计算获得某个结果,而是进行对控件该过程不是为了计算获得某个结果,而是进行对控件移动的处理。移动的处理。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.2.2子过程定义子过程定义Private|Public Static Sub子过程名子过程名(参数列表参数列表)局部变量或常数定义局部变量或常数定义语句块语句块1ExitSub语句块语句块2EndSub说明:(说明:(1)子过程名、形参同函数过程中对应项的规定。)子过程名、

214、形参同函数过程中对应项的规定。(2)子过程名无值、无类型,子过程中不能给过程名赋值。)子过程名无值、无类型,子过程中不能给过程名赋值。6.2.3子过程的调用子过程的调用子过程名子过程名参数列表参数列表或或Call子过程名子过程名(参数列表参数列表)说明:说明:(1)若使用)若使用Call则实参列表要用括号括起来,若无则实参列表要用括号括起来,若无Call则括号可有可则括号可有可无。无。(2)若实参要获得子过程的返回值,则实参只能是变量,不能是常量)若实参要获得子过程的返回值,则实参只能是变量,不能是常量或表达式,也不能是控件名。或表达式,也不能是控件名。(3)过程调用是一条独立的语句。)过程调

215、用是一条独立的语句。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.2.4子过程与函数过程区别子过程与函数过程区别(1)函数过程名有值,有类型,在函数体内至少赋值一次;函数过程名有值,有类型,在函数体内至少赋值一次;子过程名无值,无类型,在子过程体内不能对子过程名赋值。子过程名无值,无类型,在子过程体内不能对子过程名赋值。(2)调用时,子过程调用是一句独立的语句;调用时,子过程调用是一句独立的语句;函数过程不能作为单独的语句加以调用,必须参与表达式运算。函数过程不能作为单独的语句加以调用,必须参与表达式运

216、算。(3)一般当过程有一个返回值,使用函数过程较直观;反之若过程无返回值,一般当过程有一个返回值,使用函数过程较直观;反之若过程无返回值,或有多个返回值,使用子过程较直观。把某功能定义成函数或是过程,或有多个返回值,使用子过程较直观。把某功能定义成函数或是过程,没有严格的规定。但只要能用函数定义的,就肯定能用过程定义,反之没有严格的规定。但只要能用函数定义的,就肯定能用过程定义,反之不一定。不一定。6.2.5形参个数的确定形参个数的确定(1)形参是过程与主程序交互的接口,从主程序获得初值,或将计算结果返形参是过程与主程序交互的接口,从主程序获得初值,或将计算结果返回给主调程序。不要将过程中所有

217、使用过的变量均作为形参。若只在过回给主调程序。不要将过程中所有使用过的变量均作为形参。若只在过程内部使用,则声明为局部变量。程内部使用,则声明为局部变量。(2)形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变量、数组名,不能是常量、数组元素、表达式。量、数组名,不能是常量、数组元素、表达式。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例6.5分别编一统计字符串分别编一统计字符串S中定冠词中定冠词the出现个数的子过程和出现个数的

218、子过程和函数过程,并分别调用。函数过程,并分别调用。处理方法:利用处理方法:利用InStr函数反复在字符串函数反复在字符串S找找the子串。子串。FunctionFuncThe%(ByVals$)DimCount%,i%Count=0s=Trim(s)i=InStr(s,“the)DoWhilei0Count=Count+1s=Mid(s,i+3)i=InStr(s,“the)LoopFuncThe=CountEndFunctionSubProcThe(ByVals$,ByRefCount%)Dimi%Count=0s=Trim(s)i=InStr(s,“the)DoWhilei0Count=

219、Count+1s=Mid(s,i+3)i=InStr(s,“the)LoopEndSub函数的调用:函数的调用:Label3=FuncThe(Text1)过程的调用:过程的调用:Dimn%CallProcThe(Text1,n)Label4=n可以看出:对同一问题定义两种过程时,只要抓住函数过程和子过程的区别,即可以看出:对同一问题定义两种过程时,只要抓住函数过程和子过程的区别,即函数名有一个值、子过程名无值的特点。当定义好函数过程后,要改为子过程,只要函数名有一个值、子过程名无值的特点。当定义好函数过程后,要改为子过程,只要将函数过程的返回结果作为子过程的形参,即在子过程中增加一个参数;反之

220、也然。将函数过程的返回结果作为子过程的形参,即在子过程中增加一个参数;反之也然。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.3 参数传递参数传递 6.3.1形参与实参形参与实参在参数传递中,一般是按位置传送,也可以按名传送。在参数传递中,一般是按位置传送,也可以按名传送。按位置传送是最常用的参数传递方法,按实参的位置、按位置传送是最常用的参数传递方法,按实参的位置、次序、类型与形参的位置、次序、类型一一对应传送,与参次序、类型与形参的位置、次序、类型一一对应传送,与参数名没有关系。数名没有关系。如在调

221、用标准函数时,用户根本不知道形参名,只要关如在调用标准函数时,用户根本不知道形参名,只要关心形参的个数、类型、位置,例如心形参的个数、类型、位置,例如Mid函数形式:函数形式:Mid(字符串字符串$,起始位,起始位%,取几位,取几位%)调用语句:调用语句:s=Mid(ThisisVB,9,2)则则s中的结果为中的结果为“VB”。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.3.2 传址与传值传址与传值实参与形参的结合有实参与形参的结合有传址传址(ByRef)和和传值传值(ByVal)两种两种方法。方法。

222、1.传址方式参数结合过程传址方式参数结合过程当调用一个过程时,它将实参的地址传递给形参。当调用一个过程时,它将实参的地址传递给形参。因此在被调过程体中对形参的任何操作都变成了对因此在被调过程体中对形参的任何操作都变成了对相应实参的操作,实参的值就会随过程体内对形参相应实参的操作,实参的值就会随过程体内对形参的改变而的改变而改变改变。2.传值方式参数结合过程传值方式参数结合过程当调用一个过程时,系统将实参的值复制给形参,当调用一个过程时,系统将实参的值复制给形参,实参与形参断开了联系。在过程体内对形参的任何实参与形参断开了联系。在过程体内对形参的任何操作不会影响到实参。操作不会影响到实参。采用P

223、P管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物SubSwap2(x%,y%)Dimt%t=x:x=y:y=tEndSub例例6.6 两个变量的交换。SubSwap1(ByValx%,ByValy%)Dimt%t=x:x=y:y=tEndSubPrivateSubCommand1_Click()Dima%,b%a=10:b=20Swap1a,bPrintA1=;a,B1=;ba=10:b=20Swap2a,bPrintA2=;a,B2=;bEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材

224、垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3. 传址与传值的选择传址与传值的选择选用传值还是传地址一般进行如下考虑:选用传值还是传地址一般进行如下考虑:(1 1)要要将将被被调调过过程程中中的的结结果果返返回回给给主主调调程程序序,则则形形参参必必须须是是传传址址方方式式。这这时时实实参参必必须须是是同同类类型型的的变变量量名名( (包包括括简简单单变变量量、数数组组名名、结结构构类类型型等等) ),不能是常量、数组元素、表达式。,不能是常量、数组元素、表达式。(2 2)不不希希望望过过程程修修改改实实参参的的值值,则则应应选选用用传传值值方方式式,减减少少各各过过

225、程程间间的的关关联联。因因为为在在过过程程体体内内对对形形参参的改变不会影响实参。的改变不会影响实参。(3 3)形参是数组及自定义类型时都是地址传递。)形参是数组及自定义类型时都是地址传递。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例6.76.7如下如下sumsum子过程求数组子过程求数组a a各元素和、并改变数组各元素值:各元素和、并改变数组各元素值:FunctionFunction sum%(x() sum%(x() AsAs IntegerInteger) ) Dim Dim i% i% su

226、m = 0 sum = 0 For For i = 0 i = 0 ToTo UBound(x) UBound(x) sum =sum+ x(i) sum =sum+ x(i) x(i) = 2 * x(i) x(i) = 2 * x(i) Next Next i iEndEnd FunctionFunction6.3.3 数组参数的传递数组参数的传递 当参数是数组时,通过传址方式进行传递。注意:当参数是数组时,通过传址方式进行传递。注意:(1)在实参和形参中写数组名,忽略维数的定义,但圆括号不能省。)在实参和形参中写数组名,忽略维数的定义,但圆括号不能省。(2)被调过程可通过)被调过程可通过

227、Lbound和和Ubound函数确定实参数组的下、上界。函数确定实参数组的下、上界。PrivateSubCommand1_Click()Dimb(),s%b=Array(1,3,5,7,9)s=sum(b()Print数组数组b的各元素和为:的各元素和为:;sPrint数组数组b的各元素值为:的各元素值为:Fori=0ToUBound(b)Printb(i);NextEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物Sub f1(x) x=f2(xx)*3End SubSub Command1_Cl

228、ick() Call f1(y)End SubFunction f2(x) f2=f3(x)+3End FunctionFunction f3(x) f3=x*xEnd FunctionSub f1(x) Call f1(y)End Sub6.4.1过程的嵌套调用过程的嵌套调用Sub Command1_Click() Call f1(y)End Sub6.4.2过程的递归调用过程的递归调用6.4 6.4 过程的嵌套与递归调用过程的嵌套与递归调用采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 1. 1.递归的

229、概念递归的概念 用自身的结构来描述自身就称为“递归”。例对阶乘的定义: 2.递归过程递归过程 过程在自身定义的内部调用自己。 例例6.8 编fac(n)=n! 的递归函数 Sub Command1_Click() Print “fac(4)=”;fac(4)End Sub结果:fac(4)=24Function fac(n As Integer) As Integer If n = 1 Then fac = 1 Elsefac = n * fac(n - 1) End If End Function采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保

230、证切口面的圆度,保持熔接部位干净无污物递推回归在递归处理中,用栈来实现。栈中存放形参、局部变量、返回地址。在递归处理中,用栈来实现。栈中存放形参、局部变量、返回地址。递推过程:递推过程:每调用自身,当前参数压栈,直到达到递归结束条件。每调用自身,当前参数压栈,直到达到递归结束条件。回归过程:回归过程:不断从栈中弹出当前的参数,直到栈空。不断从栈中弹出当前的参数,直到栈空。递归算法设计简单,但消耗的机时和占据的内存空间比非递归大。递归算法设计简单,但消耗的机时和占据的内存空间比非递归大。思考:思考:若上述若上述fac函数中函数中少了少了:Ifn=1Thenfac=1即仅有语句:即仅有语句:fac

231、=n*fac(n-1)或或n1)Then当没有到底层,递归调用当没有到底层,递归调用u1=(x1+x2)/2三条边的中点三条边的中点u2=(x2+x3)/2v1=(y1+y2)/2Calltriangle(u1,x2,u2,v1,y2,k-1)递归调用递归调用Calltriangle(x1,u1,x2,y1,v1,k-1)Calltriangle(x2,u2,x3,y1,v1,k-1)Elsepicture1.Line(x1,y1)-(x3,y1)到达递归底层画三角形到达递归底层画三角形picture1.Line(x1,y1)-(x2,y2)picture1.Line(x2,y2)-(x3,y

232、1)EndIfEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.5 6.5 过程与变量的作用域过程与变量的作用域 作用域:作用域:过程、变量随所处的位置不同,可被访问的范过程、变量随所处的位置不同,可被访问的范围称为过程或变量的作用域。围称为过程或变量的作用域。 VBVB工程的组成:工程的组成:应用程序(应用程序(.vbp文件)文件)至少一个或若干个窗体模至少一个或若干个窗体模块文件(块文件(.frm)可有一个或若干个标准可有一个或若干个标准模块文件(模块文件(.bas)事件过程(事件过程(Su

233、b)自定义过程(自定义过程(Sub)自定义函数(自定义函数(Function)自定义过程(自定义过程(Sub)自定义函数(自定义函数(Function)类模块类模块(.cls)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.5.1过程的作用域过程的作用域窗体窗体/模块级:模块级:加加Private关键字的过程,只能被定义的窗体或模块关键字的过程,只能被定义的窗体或模块中的过程调用。中的过程调用。全局级:全局级:加加Public关键字(缺省)的过程,可供该应用程序的所有关键字(缺省)的过程,可供该应用程序的

234、所有窗体和所有标准模块中的过程调用。窗体和所有标准模块中的过程调用。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.5.2 6.5.2 变量的作用域变量的作用域局部变量:局部变量:在一个过程内用在一个过程内用Dim或或Static语句声明的变量,只能在本过程中使用。语句声明的变量,只能在本过程中使用。模块级变量:模块级变量:在窗体或模块的通用声明段用在窗体或模块的通用声明段用Dim、Private语句声明的变量,可被语句声明的变量,可被本模块的任何过程访问。本模块的任何过程访问。全局变量:全局变量:在模块

235、级用在模块级用Public语句声明的变量,可被应用程序的任何过程或函数访语句声明的变量,可被应用程序的任何过程或函数访问。问。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例6.11在下面一个标准模块文件中不同级的变量声明:在下面一个标准模块文件中不同级的变量声明:标准模块内:标准模块内:PublicpaAsintegerPrivatembAsstring*10SubF1()DimfaAsintegerEndSubSubF2()DimfbAsSingleEndSub窗体内:窗体内:Publicfaasin

236、tegerDimfbasintegerPrivateSubForm_Load()DimiasintegerEndSubPrivateSubCommand1_Click()DimiasintegerEndSub请说明哪些是全局级、请说明哪些是全局级、模块级、局部变量?如模块级、局部变量?如何使用?何使用?采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 注意:注意:若在不同级声明相同的变量名若在不同级声明相同的变量名, ,系统按局部、窗体系统按局部、窗体/ /模模块、全局次序访问。例如块、全局次序访问。例如:

237、:PublicTempAsinteger全局变量全局变量 Sub Form_LoadSub Form_Load()() Dim Temp As IntegerDim Temp As Integer局部变量局部变量Temp=10访问局部变量访问局部变量Form1.Temp=20 访问全局变量必须加窗体名访问全局变量必须加窗体名PrintForm1.Temp,Temp显示显示2010EndSub一一般般来来说说,在在同同一一模模块块中中定定义义了了不不同同级级而而名名字字相相同同的的变变量量时时,系系统统优优先先访访问问作作用用域域小小的的变变量量名名。若若想想访访问问全全局局变变量量,则则必必须

238、须在在全全局局变变量量名名前前加加模模块块名名。为为了了避避免免混混淆淆,不不要要定定义义不同级别但名字相同的变量。不同级别但名字相同的变量。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6.5.3 6.5.3 静态变量静态变量在局部变量声明时:在局部变量声明时:Dim声明声明,随过程的调用而分配存贮单元,每次调用都对变量,随过程的调用而分配存贮单元,每次调用都对变量初始化;过程体结束,变量的内容自动消失,存储单元释放。初始化;过程体结束,变量的内容自动消失,存储单元释放。Static声明声明,每次调用过程

239、,变量保持原来的值。,每次调用过程,变量保持原来的值。声明形式:声明形式:Static变量名变量名AS类型类型StaticFunction函数过程名函数过程名(参数列表参数列表)As类型类型StaticSub子过程名子过程名(参数列表参数列表)过程名前加过程名前加Static,表示该过程内的局部变量都是静态变量。,表示该过程内的局部变量都是静态变量。例例6.12编一程序,利用局部变量编一程序,利用局部变量count统计单击窗体的次数。统计单击窗体的次数。PrivateSubForm_Click()Dimcount%count=count+1Printcount;“次次”EndSubStatic

240、采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 1. 1.数制转换数制转换例例6.13将一个十进制整数将一个十进制整数m转换成转换成r (216)进制字符串,并对进制字符串,并对八、十六进制数调用内部函数加以验证。八、十六进制数调用内部函数加以验证。方法:将方法:将m不断除不断除r 取余数,直到商为零,以反序得到结果。取余数,直到商为零,以反序得到结果。6.6 6.6 综合应用综合应用采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位

241、干净无污物FunctionTD(ByValm%,ByValr%)TD=DoWhilem0c=mModrIfc9Then超过超过9转换成对应的转换成对应的AZ十六进制表示形式十六进制表示形式TD=Chr(c-10+65)&TDElseTD=c&TDEndIfm=mrLoopEndFunction采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物PrivateSubCommand1_Click()Dimm0%,r0%m0=Val(Text1)输入十进制正整数输入十进制正整数r0=Val(Text2)输入输入r进制进

242、制Ifr016ThenMsgBox(数制超出范围数制超出范围):EndText3=TD(m0,r0)调用转换函数,显示转换结果调用转换函数,显示转换结果EndSubPrivateSubCommand2_Click()Text4=Oct(Val(Text1)调用调用Oct函数转换成八进制数函数转换成八进制数EndSubPrivateSubCommand3_Click()Text5=Hex(Val(Text1)调用调用Hex函数转换成十六进制数函数转换成十六进制数EndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位

243、干净无污物R进制转换为十进制:进制转换为十进制:Functionct(s$,r%)AsLongDimi%,cAsString*1,p&p=0Fori=1ToLen(s)c=Mid(s,i,1)SelectCaseUCase(c)Case0To9p=p*r+Val(c)CaseATo“Fp=p*r+Asc(c)-Asc(A)+10EndSelectNextict=pEndFunction采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2. 2. 加密和解密加密和解密简单加密的思想是:将每个字母简单加密的思想是:

244、将每个字母C加一序数加一序数K,式子,式子c=chr(Asc(c)+k),例如序数例如序数k为为5,这时,这时“A”“F”,“a”“f”,“B”“G”当加序数后的字母超过当加序数后的字母超过“Z”或或“z”则则c=chr(Asc(c)+k-26)。解密为加密的逆过程。解密为加密的逆过程。例例6.14编一加密和解密的程序。编一加密和解密的程序。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物FunctionCode$(ByVals$,ByValKey%)DimcAsString*1,iAsc%Code=Fori

245、=1ToLen(s)c=Mid$(s,i,1)取第取第i个字符个字符SelectCasecCaseAToZ大写字母加序数大写字母加序数Key加密加密iAsc=Asc(c)+KeyIfiAscAsc(Z)TheniAsc=iAsc-26加密后字母超过加密后字母超过ZCode=Code+Chr(iAsc)CaseaToziAsc=Asc(c)+Key小写字母加序数小写字母加序数Key加密加密IfiAscAsc(z)TheniAsc=iAsc-26Code=Code+Chr(iAsc)CaseElse当第当第i个字符不加密时个字符不加密时,与加密字符串的前与加密字符串的前i-1个字符连接个字符连接C

246、ode=Code+cEndSelectNextiEndFunctionPrivateSubCommand1_Click()加密事件加密事件Text2=Code(Text1,2)调用调用EndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物FunctionReCode(ByVals$,ByValKey%)DimcAsString*1,iAsc%ReCode=Fori=1ToLen(s)c=Mid$(s,i,1)取第取第i个字符个字符SelectCasecCaseAToZ大写字母加序数大写字母加序数Key加

247、密加密iAsc=Asc(c)-KeyIfiAscAsc(A)TheniAsc=iAsc+26加密后字母超过加密后字母超过ZReCode=ReCode+Chr(iAsc)CaseaToziAsc=Asc(c)-Key小写字母加序数小写字母加序数Key加密加密IfiAscAsc(a)TheniAsc=iAsc+26ReCode=ReCode+Chr(iAsc)CaseElse当第当第i个字符不加密时个字符不加密时,与前与前i-1个字符连接个字符连接ReCode=ReCode+cEndSelectNextiEndFunction采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切

248、断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.3.查找查找(1)顺序查找顺序查找例例6.15。顺序查找根据查找的关键值与数组中的元素逐顺序查找根据查找的关键值与数组中的元素逐一比较一比较(数组可无序数组可无序)PublicSubSearch(a()AsVariant,ByValkey,index%)Dimi%Fori=LBound(a)ToUBound(a)Ifkey=a(i)Then找到,元素的下标在找到,元素的下标在index中,结束查找中,结束查找index=iExitSubEndIfNextiindex=-1EndSubPrivateSubForm_Click()D

249、imb()AsVariantb=Array(1,3,5,7,9,2,4)k=Val(InputBox(指定数据指定数据1-5,7,9)CallSearch(b,k,n%)Ifn=-1ThenPrint没找到!没找到!ElsePrintnEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物Keya(mid)则则low=mid+1查找区域缩小一半查找区域缩小一半,继续继续直到找到或查找区直到找到或查找区域中无元素域中无元素。本例可以用递归实现,也可以用循环实现。本例可以用递归实现,也可以用循环实现。Sub

250、birsearch(a(),low%,high%,key,index%)(2)二分法查找二分法查找要查找的数组要查找的数组必须有序必须有序。思想:思想:要查找的关键值要查找的关键值Key同数组的中间同数组的中间mid项元素比较项元素比较:12345678111222333444555666777888Lowhighmid444Key采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物递归过程:递归过程:Subbirsearch(a(),ByVallow%,ByValhigh%,ByValkey,index%)Di

251、mmidAsIntegermid=(low+high)2取查找区间的中点取查找区间的中点Ifa(mid)=keyThenindex=mid查找到,返回查找到的下标查找到,返回查找到的下标ExitSubElseIflowhighThen二分法查找区间无元素,查找不到二分法查找区间无元素,查找不到index=-1ExitSubEndIfIfkeya(mid)Then查找区间在上半部查找区间在上半部high=mid-1Elselow=mid+1查找区间在下半部查找区间在下半部EndIfCallbirsearch(a,low,high,key,index)递归调用查找函数递归调用查找函数EndSub采

252、用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物非递归过程:非递归过程:Subsearch(a(),ByVallow%,ByValhigh%,ByValkey,index%)DimmidAsIntegerindex=-1DoWhilelowhighmid=(low+high)2取查找区间的中点取查找区间的中点Ifa(mid)=keyThenindex=mid查找到,返回查找到的下标查找到,返回查找到的下标ExitSubElseIfkeya(mid)Thenhigh=mid1Elselow=mid+1EndifL

253、oopEndSubPrivateSubCommand1_Click()Dimb()AsVariantb=Array(5,13,19,21,37,56,64,75,80,88,92)Callbirsearch(b,LBound(b),UBound(b),21,n%)PrintnEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4. 4. 例例6.16 6.16 高次方程求根高次方程求根 有有牛顿迭代法、二分法、弦截法等牛顿迭代法、二分法、弦截法等(1)牛顿迭代法)牛顿迭代法迭代公式:迭代公式:思想:思

254、想:对方程给定一个初值对方程给定一个初值x0作为方程的作为方程的近似根,利用迭代公式,求得近似根,利用迭代公式,求得x1,当当 x1为求得的近似根,否则为求得的近似根,否则x1作为作为x0再迭代。再迭代。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物PublicSubnewton(ByValx0#,x#,ByValeps#)Dimfx#,f1x#Dofx=3*x0*x0*x0-4*x0*x0-5*x0+13f1x=9*x0*x0-8*x0-5x=x0-fx/f1xifAbs(x-x0)0.00001c=(a

255、+b)/2Iff(c)=0ThenExitDoElseIff(a)*f(c)0Thena=cElseb=cEndIfLoophalfRoot=cEndFunction采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物5.5.字符串处理字符串处理例例6.17编写一个英文打字训练的程序编写一个英文打字训练的程序.要求如下:要求如下:(1)在文本框内随机产生在文本框内随机产生30个字母的范文;个字母的范文;(2)当焦点进入文本框时开始计时,并显示当时时间;当焦点进入文本框时开始计时,并显示当时时间;(3)在键入文本框

256、按产生的范文输入相应的字母;在键入文本框按产生的范文输入相应的字母;(4)当键入满了当键入满了30个字母后结束计时,禁止向文本框输入内容个字母后结束计时,禁止向文本框输入内容,与范文逐一比,与范文逐一比较,显示打字的速度和正确率。较,显示打字的速度和正确率。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物DimtAsDate,per%PrivateSubCommand1_Click()产生产生30个字母的范文个字母的范文RandomizeFori=1To30a=Chr$(Int(Rnd*26)+65)随机产生

257、大写字母随机产生大写字母Text1=text1+a产生的字母连入范文框产生的字母连入范文框NextiText2.Locked=FalseEndSubPrivateSubCommand2_Click()EndEndSubPrivateSubText2_GotFocus()t=Time键入文本框获得焦点键入文本框获得焦点,开始计时开始计时Text3=TimeEndSubPrivateSubCommand3_Click()Text1=“:Text2=“:Text3=“:Text4=ProgressBar1.Value=0per=0EndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件

258、在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物PrivateSubText2_KeyPress(KeyAsciiAsInteger)per=per+1Ifper0例例7.7设计一个倒计时应用程序。设计一个倒计时应用程序。例例7.8用一个定时器控制蝴蝶在窗体内的飞舞。用一个定时器控制蝴蝶在窗体内的飞舞。7.1.4定时器定时器(Timer)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.2通用对话框通用对话框(CommonDialog)对话框的定义:对话框的定义:在基于在基于Wi

259、ndows的应用程序中,的应用程序中,对于既可以向用户显示信息,又可以提示用户输入应对于既可以向用户显示信息,又可以提示用户输入应用程序所需数据的窗体。对话框是窗体的一种特殊表用程序所需数据的窗体。对话框是窗体的一种特殊表现形式,具有窗体的特性和功能,根据焦点转移方式现形式,具有窗体的特性和功能,根据焦点转移方式的不同,可以分为模式对话框和非模式对话框。的不同,可以分为模式对话框和非模式对话框。在在VB中,经常用的有中,经常用的有三类对话框:三类对话框:(1)系统预定义对话框系统预定义对话框:InputBox、MsgBox(2)通用对话框通用对话框:打开、保存、颜色、字体等:打开、保存、颜色、

260、字体等(3)用户自定义对话框用户自定义对话框:添加窗体:添加窗体修改属性修改属性编写代码。编写代码。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物VB提供了一组基于提供了一组基于Windows的标准对话框。利用通用对话框控的标准对话框。利用通用对话框控件可在窗体上创建打开文件、保存文件、颜色、字体、打印等对件可在窗体上创建打开文件、保存文件、颜色、字体、打印等对话框。话框。例例7.9通过打开文件对话框,选择一个通过打开文件对话框,选择一个BMP位图文件,在图形位图文件,在图形框中显示该图片。框中显示该图片。

261、通用对话框仅用于应用程序与用户之间进行信息交互,通用对话框仅用于应用程序与用户之间进行信息交互,是输入输出的界面,是输入输出的界面,不能真正实现文件打开与保存、不能真正实现文件打开与保存、设置颜色与字体、打印等操作,如果想要实现这些功设置颜色与字体、打印等操作,如果想要实现这些功能则需要编程实现能则需要编程实现。7.2.1引例引例工程工程/部件部件选定部件选定部件标签标签选定选定MicrosoftCommonDialogControl6.0确定确定采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物通用对话框的基

262、本属性和方法通用对话框的基本属性和方法(1)Action属性和属性和Show方法方法打开对话框打开对话框ShowHelp6帮助对话框帮助对话框ShowPrinter5打印机对话框打印机对话框ShowFont4字体对话框字体对话框ShowColor3颜色对话框颜色对话框ShowSave2另存为对话框另存为对话框ShowOpen1打开文件对话框打开文件对话框Show方法方法Action属性属性通用对话框的类型通用对话框的类型该属性只能在程序中被赋值。该属性只能在程序中被赋值。254采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔

263、接部位干净无污物通用对话框的基本属性和方法通用对话框的基本属性和方法(2)DialogTiltle属性属性设置通用对话框标题设置通用对话框标题(3)CancelError属性属性True:选择取消按钮,:选择取消按钮,Err.Number设置为设置为32755(cdCancel)。False:选择取消按钮,没有错误警告。:选择取消按钮,没有错误警告。255采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.2.2 打开文件对话框打开文件对话框由由 ShowOpen方法来实现。方法来实现。重要属性重要属性:(1

264、)FileName:文件名称,包含路径文件名称,包含路径(2) FileTitle:文件名,不包含路径文件名,不包含路径(3) Filter:确定所显示文件的类型确定所显示文件的类型例如:例如:“文本文件文本文件|*.txt|所有文件所有文件|*.*”显示文本文件和所有文件显示文本文件和所有文件(4)FilterIndex:文件列表中指定某类型文件文件列表中指定某类型文件(5)InitDir:初始化路径初始化路径采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物FilterFileNameInitDirFilt

265、erIndex例例7.10编写一个简单的文本文件编辑程序。编写一个简单的文本文件编辑程序。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.2.3 保存文件对话框保存文件对话框 由由ShowSave方法方法来实现来实现与打开文件对话框的属性基本相同,特有的属性是与打开文件对话框的属性基本相同,特有的属性是DefaultExt属性,用于设置缺省的扩展名属性,用于设置缺省的扩展名。例例7.11为例为例7.107.10中的另存为命令按钮编写代码,保存文本中的另存为命令按钮编写代码,保存文本框内的信息。框内的信息。

266、Sub Command2_Click()CommonDialog1.DefaultExt=“txt”CommonDialog1.ShowSaveOpenCommonDialog1.filenameForOutputAs#1Print#1,Text1.Text保存文件保存文件Close#1关闭文件关闭文件End Sub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.2.4 颜色对话框颜色对话框 由由ShowColor方法方法打开颜色对话框。打开颜色对话框。重要属性重要属性Color,它返回或设置选定的颜色。

267、,它返回或设置选定的颜色。例例7.12为例为例7.10中的颜色命令按钮编写事件过中的颜色命令按钮编写事件过程,设置文本框的前景色。程,设置文本框的前景色。Sub Command3_Click()CommonDialog1.ShowColorText1.ForeColor=CommonDialog1.ColorEnd Sub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.2.5 字体对话框字体对话框 由由ShowFont方法来实现方法来实现 例例7.13为例为例7.10中的字体按钮编写设置文本框字体的过程。

268、中的字体按钮编写设置文本框字体的过程。Font获取选择的字体获取选择的字体Color选定的颜色选定的颜色显示字体对话框前必须设显示字体对话框前必须设置置Flags属性,否则将发生属性,否则将发生不存在字体错误不存在字体错误。通常设置为通常设置为H103。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物属性属性FromPage:起始页号;起始页号;ToPage:终止页号;终止页号;Copies:打印份数。打印份数。如果打印驱动程序不支持多份打印,该属性如果打印驱动程序不支持多份打印,该属性有可能始终返回有可能始

269、终返回1。例例7.14打印打印对话框的使用。对话框的使用。7.2.6 “7.2.6 “打印打印”对话框对话框采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.3菜单的设计菜单的设计 菜单有下拉式菜单和弹出菜单菜单有下拉式菜单和弹出菜单(上下文菜单上下文菜单)。下拉式菜单的组成。下拉式菜单的组成结构:结构: 主菜单名主菜单名快捷键快捷键热键热键下下级级子子菜菜单标记单标记主菜单条主菜单条分隔线分隔线菜菜单单项项子菜单名子菜单名采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪

270、边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.3.1菜单编辑器菜单编辑器1.打开方法打开方法(1)工具菜单编辑器工具菜单编辑器(Ctrl+E);(2)右击窗体,选择右击窗体,选择“菜单编辑器菜单编辑器”;(3)单击工具栏上单击工具栏上“菜单编辑器菜单编辑器”按钮。按钮。2.常用属性常用属性(1)标题标题(Caption)热键前面加热键前面加&(2)名称名称(Name)文本框文本框分隔符也应有名称分隔符也应有名称(3)快捷键快捷键(Shortcut)菜单名没有快捷键菜单名没有快捷键(4)复选复选(Checked)检查框检查框TRUE有有 (5)有效有效(Enabled)检查框检查框(6)

271、可见可见(Visible)检查框检查框3.事件事件只有一个事件只有一个事件Click。菜单列菜单列表框表框菜单项属性菜单项属性操作按钮操作按钮例例7.15将例将例7.107.10中的命令按钮组织成菜单中的命令按钮组织成菜单。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.3.2 7.3.2 弹出菜单弹出菜单( (快捷菜单快捷菜单) )1.弹出菜单的设计弹出菜单的设计弹出菜单是独立于窗体菜单栏而显示在窗体内的浮动菜单。显示位置取弹出菜单是独立于窗体菜单栏而显示在窗体内的浮动菜单。显示位置取决于单击鼠标键时指

272、针的位置。设计与普通菜单相同(决于单击鼠标键时指针的位置。设计与普通菜单相同(如果不希望菜单出现如果不希望菜单出现在窗口的顶部,在窗口的顶部,该菜单名该菜单名Visible属性设置为属性设置为False)。)。2.弹出菜单的显示方法弹出菜单的显示方法对象对象.PopupMenu菜单名菜单名,标志标志,x,y标志:表示弹出的位置和触发的键;标志:表示弹出的位置和触发的键;X、Y:指定弹出菜单显示的位置。:指定弹出菜单显示的位置。SubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenP

273、opupMenuEditMenu,vbPopupMenuCenterAlignEndSub例例7.16为例为例7.15中的文本框配置弹出菜单中的文本框配置弹出菜单采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.4多重窗体多重窗体1.1.添加窗体添加窗体“工程工程|添加窗体添加窗体”新建新建现存现存添加添加“现存现存”窗体时要注意:窗体时要注意:防止多个窗体的防止多个窗体的Name相同而不能添加;相同而不能添加;添加的窗体实际是将其他工程中已有的窗体加入,多个工程共添加的窗体实际是将其他工程中已有的窗体加入

274、,多个工程共享窗体;享窗体;通过通过“另存为另存为”命令以不同的窗体文件名保存,断开共享。命令以不同的窗体文件名保存,断开共享。保存窗体:保存窗体:一个工程中有多个窗体,应分别取不同文件名保存在磁盘上,一个工程中有多个窗体,应分别取不同文件名保存在磁盘上,VBP工程文件中记录了该工程的所有窗体文件名。工程文件中记录了该工程的所有窗体文件名。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.设置启动窗体设置启动窗体设置启动对象设置启动对象3.窗体语句窗体语句(1)Load语句:装入窗体到内存但没有显示窗体语句

275、:装入窗体到内存但没有显示窗体形式:形式:Load窗体名称窗体名称(2)Unload语句:从内存删除窗体语句:从内存删除窗体形式:形式:Unload窗体名称窗体名称或或UnloadMe“工程工程/属性属性”“启动对象启动对象”采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.窗体方法窗体方法(1)Show方法:显示一个窗体(当窗体没有方法:显示一个窗体(当窗体没有Load,自动,自动Load)窗体名称窗体名称.Show模式模式1Modal:关闭才能对其他窗体进行操作,模式型。:关闭才能对其他窗体进行操作,模

276、式型。0Modeless,可以对其他窗体进行操作,非模式型。,可以对其他窗体进行操作,非模式型。(2)Hide方法:隐藏窗体,没有从内存中删除,但屏幕上不显示,相当于将窗方法:隐藏窗体,没有从内存中删除,但屏幕上不显示,相当于将窗体的体的Visible属性设置为属性设置为False。窗体名称窗体名称.Hide5.5.不同窗体间数据的存取不同窗体间数据的存取(1)存取控件的属性存取控件的属性另一窗体名另一窗体名.控件名控件名.属性属性(2)存取另一窗体中全局变量的值存取另一窗体中全局变量的值另一窗体名另一窗体名.全局变量名全局变量名(3)在模块中定义全局变量,实现相互访问在模块中定义全局变量,实

277、现相互访问采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例7.17多重窗体应用:输入学生五门课程的成绩,计算总分多重窗体应用:输入学生五门课程的成绩,计算总分及平均分,并在不同窗体内显示。及平均分,并在不同窗体内显示。 模块:模块:Public MATH As SinglePublic PHYSICS As SinglePublic CHEMISTRY As SinglePublic CHINESE As SinglePublic ENGLISH As Single采用PP管及配件:根据给水设计图配置好P

278、P管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.5鼠标器和键盘鼠标器和键盘7.5.1鼠标器事件鼠标器事件鼠标器事件就是用户操作鼠标而引发的能被各种对象所识别的事件。鼠标器事件就是用户操作鼠标而引发的能被各种对象所识别的事件。MouseDown事件事件:按下任意一个鼠标按钮时被触发。按下任意一个鼠标按钮时被触发。SubObject_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)MouseUp事件:事件:释放任意一个鼠标按钮时被触发。释放任意一个鼠标按钮时被触发。SubOb

279、ject_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)MouseMove事件:事件:移动鼠标时被触发。移动鼠标时被触发。SubObject_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)注意:注意:鼠标事件发生在什么对象上,是窗体上还是控件上。鼠标事件发生在什么对象上,是窗体上还是控件上。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(1) (1) Butto

280、nButton参数:参数:指示用户按下或释放了哪个鼠标按钮指示用户按下或释放了哪个鼠标按钮b2b1b0b0为为1:按下了左键;:按下了左键;b1为为1:按下了右键;:按下了右键;b2为为1:按下了中键。:按下了中键。例如:例如:Button为为2(010B),即,即b1为为1,表示按下了右键;,表示按下了右键;如果按了左键,则如果按了左键,则b0为为1,b1和和b2为为0,Button为为1(001B)IfButton=1Then或者或者IfButton=vbLeftButtonThen这是按了左健后执行的代码这是按了左健后执行的代码Endif使用符号常数:使用符号常数:1vbLeftButt

281、on:用户按下左键触发了鼠标事件;:用户按下左键触发了鼠标事件;2vbRightButton:用户按下右键触发了鼠标事件;:用户按下右键触发了鼠标事件;4vbMiddleButton:用户按下中键触发了鼠标事件。:用户按下中键触发了鼠标事件。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(2) (2) ShiftShift参数:参数:检测操作鼠标时是否按下了控制键。检测操作鼠标时是否按下了控制键。b2b1b0b0为为1:按下了:按下了Shift键;键;b1为为1:按下了:按下了Ctrl键;键;b2为为1:按

282、下了:按下了Alt键。键。例如:例如:Shift为为2(010B),即,即b1为为1,表示,表示仅仅按下了按下了ctrl键;键;如果同时按了如果同时按了Ctrl和和Shift键,则键,则b0和和b1为为1,b2为为0,Shift为为3(011B)注意:注意:可能同时按下两个或三个键。如果可能同时按下两个或三个键。如果Shift1成立,并成立,并不表示没有按下不表示没有按下Shift,因为可能其他键也被按下了。如果要,因为可能其他键也被按下了。如果要测试按下了某个键,则应用测试按下了某个键,则应用and进行位运算。例如进行位运算。例如Shiftand1成立,表示肯定按下了成立,表示肯定按下了Sh

283、ift(可能其他键也被按下了)。(可能其他键也被按下了)。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物IfShift=1andButton=2Then这是这是仅仅按住了按住了Shift健的同时单击鼠标右键后执行的代码健的同时单击鼠标右键后执行的代码EndIf 符号常数:符号常数: 1vbShiftMask; 2vbCtrlMask; 4vbAltMask 。(3)x,y:鼠标的当前位置鼠标的当前位置例例7.18显示鼠标器指针所指的位置。显示鼠标器指针所指的位置。例例7.19画图程序。按下鼠标右键画圆,按下

284、鼠标左键画图程序。按下鼠标右键画圆,按下鼠标左键移动时画线。在画线时用移动时画线。在画线时用note14.ico作为鼠标的指针。作为鼠标的指针。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.5.2键盘事件键盘事件 KeyPress事件过程:事件过程:按下并且释放一个会产生按下并且释放一个会产生ASCII码的键时被触发。码的键时被触发。SubForm_KeyPress(KeyAsciiAsInteger)Subobject_KeyPress(indexAsInteger,KeyAsciiAsInteger

285、)KeyDown事件过程:事件过程:按下键盘上任意一个键时被触发。按下键盘上任意一个键时被触发。SubForm_KeyDown(keycodeAsInteger,shiftAsInteger)Subobject_KeyDown(indexAsInteger,keycodeAsInteger,shiftAsInteger)KeyUp事件过程:事件过程:释放键盘上任意一个键时被触发。释放键盘上任意一个键时被触发。SubForm_KeyUp(keycodeAsInteger,shiftAsInteger)Subobject_KeyUp(indexAsInteger,keycodeAsInteger,

286、shiftAsInteger)参数说明:参数说明:Shift与鼠标事件过程与鼠标事件过程Shift相同。相同。KeyCode:键盘扫描码;:键盘扫描码;KeyAscii:字符:字符ASCII码码。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物KeyPressKeyDown和和KeyUp事件发生的时间事件发生的时间输入一个ASCII字符按任意一个键参数值参数值KeyAscii接收到字符的ASCII值KeyCode接收到键的扫描码按按Shift+A时时事件发生的次数事件发生的次数事件发生一次事件发生两次按按Sh

287、ift+A时参数值时参数值(键盘处于小写状态键盘处于小写状态)97第一次是17第二次是65按按Shift+A时参数值时参数值(键盘处于大写状态键盘处于大写状态)65第一次是17第二次是65区别区别采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物SubForm_KeyPress(KeyAsciiAsInteger)KeyAscii=KeyAscii+1EndSubSubText1_KeyPress(KeyAsciiAsInteger)KeyAscii=KeyAscii+1EndSub假定窗体假定窗体KeyPre

288、view为为True,并有下面事件过程,并有下面事件过程,则当文本框中输入则当文本框中输入“1”时,实际上是得到的是时,实际上是得到的是“3”?窗体窗体KeyPreview为为False时时在文本框中输入在文本框中输入“1”时,实际时,实际上得到的是什么?上得到的是什么?窗体的:窗体的:KeyPressKeyDownKeyUp控件的:控件的:KeyPressKeyDownKeyUp窗体的窗体的KeyPreview为为True焦点在控件上输入焦点在控件上输入在这里作一点修改在这里作一点修改影响所有控件影响所有控件在这里作一点修改在这里作一点修改影响一个控件影响一个控件采用PP管及配件:根据给水设

289、计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物对输入的数据进行验证、限制和修改对输入的数据进行验证、限制和修改1.修改输入数据修改输入数据接收大写字符。接收大写字符。将将KeyPreview设置为设置为True时:时:SubForm_KeyPress(KeyAsciiAsInteger)IfKeyAscii=Asc(a)AndKeyAscii=Asc(z)ThenKeyAscii=KeyAscii+Asc(A)-Asc(a)EndIfEndSub如果把它改为某个控件的事件过程,效果一样吗?如果把它改为某个控件的事件过程,效果一样吗?2

290、.限制数据输入限制数据输入文本框只能接收文本框只能接收“0”“9”的数字字符。的数字字符。SubtxtExample_KeyPress(KeyAsciiAsInteger)IfKeyAscii57ThenKeyAscii=0EndIfEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例7.20编写一个程序,当按下编写一个程序,当按下Alt+F5时终止程序的运行。时终止程序的运行。若窗体上存在有焦点的控件时,应先把窗体的若窗体上存在有焦点的控件时,应先把窗体的KeyPreview设置为设置为True

291、,再编写如下的程序:,再编写如下的程序:SubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)按下按下Alt键时,键时,Shift的值为的值为4If(KeyCode=vbKeyF5)And(Shift=4)ThenEndEndIfEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.6 7.6 应用程序向导应用程序向导用来生成一个应用程序的界面。用来生成一个应用程序的界面。选择选择文件文件| |新建工程新建工程|VB|VB应用程序向导应用程序向导命令:命令:

292、278采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物选择菜单和子菜单项选择菜单和子菜单项 279采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物选取工具栏按钮选取工具栏按钮280采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物7.7 综合应用综合应用例例7.217.21 设计一个如图所示的字幕滚动程序。要设计一个如图所示的字幕滚动程序。要

293、求用时钟控件与滚动条调节和控制字幕滚动速度,求用时钟控件与滚动条调节和控制字幕滚动速度,文字的大小及距窗体顶端的距离是随机的,从右文字的大小及距窗体顶端的距离是随机的,从右向左连续滚动。向左连续滚动。分析:字幕用标签显示,用分析:字幕用标签显示,用move方法实现滚动,距窗体顶端的位置方法实现滚动,距窗体顶端的位置由由int(rnd*scaleheight)决定,字决定,字体大小由体大小由int(8+rnd*60)决定。决定。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例7.22 7.22 利用时钟和图

294、像控件,模拟自动红绿灯利用时钟和图像控件,模拟自动红绿灯 分析:改变时钟的分析:改变时钟的Interval属性来延迟不同颜色的属性来延迟不同颜色的灯。例如,红灯延迟灯。例如,红灯延迟2秒,则在切换到红灯后把秒,则在切换到红灯后把Interval设置为设置为2000,这样过,这样过2秒后发生秒后发生Timer事件再切换到其事件再切换到其它颜色的灯。它颜色的灯。用用变变量量i控控制制红红绿绿灯灯的的自自动动切切换换,它它的的值值在在0 2之之间间循循环环变变化化:i为为0时时显显示示红红灯灯;i为为1时时显显示示黄灯;黄灯;i为为2时显示绿灯。时显示绿灯。 采用PP管及配件:根据给水设计图配置好P

295、P管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例7.23设计如下图所示的应用程序。包含两个菜单,设计如下图所示的应用程序。包含两个菜单,Form1窗体上放置了一个图形控件和一个通用对话框,窗体上放置了一个图形控件和一个通用对话框,Form2窗体上窗体上放置了一个文本框。如果选择放置了一个文本框。如果选择“菜单菜单1”“浏览图形浏览图形”命令,命令,则在则在Form1的图像框中显示图形,图像的图像框中显示图形,图像框支持弹出菜单;如果框支持弹出菜单;如果选择选择“菜单菜单2”浏览文本浏览文本”命令,则隐藏命令,则隐藏Form1并且在并且在Form

296、2的文本框中显示文件内容;选择的文本框中显示文件内容;选择“返回返回”命令,则关闭命令,则关闭Form2,返回,返回Form1。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物本章小节本章小节常用控件常用控件单选按钮、复选框、框架、滚动条、进度条、单选按钮、复选框、框架、滚动条、进度条、定时器、图片框、图像框定时器、图片框、图像框通用对话框通用对话框菜单菜单下拉式菜单下拉式菜单 、弹出式菜单、弹出式菜单两个窗体之间访问两个窗体之间访问 通过窗体对象实例通过窗体对象实例. .控件控件 或模块级公共变量或模块级公

297、共变量鼠标和键盘的事件鼠标和键盘的事件采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第八章第八章 数据文件数据文件8.1 8.1 文件系统控件文件系统控件8.2 8.2 文件概述文件概述8.3 8.3 顺序文件顺序文件8.4 8.4 随机文件随机文件8.5 8.5 二进制文件二进制文件8.6 8.6 常用文件操作语句和函数常用文件操作语句和函数采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1.驱动器列表框驱动器列表框Dr

298、ive属性属性:包含当前选定的驱动器名,只能在运行时设置。:包含当前选定的驱动器名,只能在运行时设置。对象对象.Drive=driveChange事件事件:选择一个新的驱动器或通过代码重新设置:选择一个新的驱动器或通过代码重新设置Drive属性属性引发引发Change事件。事件。2.目录列表框目录列表框Path属性属性:包含当前路径,只能在运行时设置。:包含当前路径,只能在运行时设置。对象对象.Path=pathnameChange事件事件:双击一个新的目录或通过代码重新设置:双击一个新的目录或通过代码重新设置Path属性引属性引发发Change事件。事件。Click事件事件:单击目录列表框时

299、发生。:单击目录列表框时发生。8.1驱动器、目录和文件列表框驱动器、目录和文件列表框采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3.文件列表框文件列表框Path属性属性:显示当前驱动器或指定驱动器上的目录结构,:显示当前驱动器或指定驱动器上的目录结构,即显示该路径下的所有文件。即显示该路径下的所有文件。重新设置重新设置Path属性引发属性引发PathChange事件。事件。Pattern属性属性:决定显示的文件类型。:决定显示的文件类型。对象对象.Pattern=value重新设置重新设置Pattern属

300、性引发属性引发PatternChange事件。事件。例如:例如:file1.Pattern=*.frm,显示,显示*.frm文件。文件。多个文件类型用分号分界。例如:多个文件类型用分号分界。例如:*.frm;*.frxFileName属性属性:包含选定的文件名:包含选定的文件名对象对象.FileName=pathname引用时只返回文件名,相当于引用时只返回文件名,相当于File1.List(File1.ListIndex),需,需用用Path属性得到其路径;设置时可带路径。属性得到其路径;设置时可带路径。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋

301、转,以保证切口面的圆度,保持熔接部位干净无污物Click、DblClick事件事件:例如,单击输出文件名。例如,单击输出文件名。SubFile1_Click()MsgBoxFile1.FileNameEndSub例如,双击执行可执行程序:例如,双击执行可执行程序:SubFile1_DblClick()RetVal=Shell(File1.Path+”+File1.FileName,1)执行程序执行程序EndSub例例8.0示例程序示例程序文件管理系统。当用户在文件列表框中单击文文件管理系统。当用户在文件列表框中单击文件名时输出该文件名;双击某可执行文件时,可以运行该程件名时输出该文件名;双击某

302、可执行文件时,可以运行该程序。序。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.2文件概述文件概述文件:存储在外部介质上数据的集合,文件按名进行存取。文件:存储在外部介质上数据的集合,文件按名进行存取。8.2.1文件分类文件分类1.按文件内容分类按文件内容分类程序文件:包括源程序和可执行程序。程序文件:包括源程序和可执行程序。数据文件:程序运行所需要的各种数据。数据文件:程序运行所需要的各种数据。2.按存储信息的形式分类按存储信息的形式分类ASCII文件:存放各种数据的文件:存放各种数据的ASCII代码

303、,可用记事本打开。代码,可用记事本打开。二进制文件:存放的是数据的二进制代码,用专用程序打开。二进制文件:存放的是数据的二进制代码,用专用程序打开。3.按访问模式分类按访问模式分类顺序文件、随机文件和二进制文件。顺序文件、随机文件和二进制文件。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(1)顺序文件顺序文件按顺序依次把记录写入文件;按顺序依次把记录读出按顺序依次把记录写入文件;按顺序依次把记录读出来。来。文本文件:一行一条记录,记录可长可短,以文本文件:一行一条记录,记录可长可短,以“换行换行”字符字符

304、为分隔符号。为分隔符号。(2)随机文件随机文件随机文件可以直接访问文件中的任意一个记录。随机文件可以直接访问文件中的任意一个记录。记录长度相同;记录长度相同;根据记录号访问;存取速度快。根据记录号访问;存取速度快。(3)二进制文件二进制文件直接把二进制码存放在文件中。以字节为单位访问。直接把二进制码存放在文件中。以字节为单位访问。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.2.2文件读文件读/写写1.打开文件打开文件文件缓冲区:文件缓冲区:打开文件时,系统为文件开辟专门的数据存储区打开文件时,系统为文

305、件开辟专门的数据存储区域。域。文件号:文件号:每个文件缓冲区都有一个编号。文件号就代表文件,每个文件缓冲区都有一个编号。文件号就代表文件,对文件的操作都是通过文件号进行的。对文件的操作都是通过文件号进行的。2.读写操作读写操作读操作:读操作:将数据从文件读入到变量(外存到内存)。将数据从文件读入到变量(外存到内存)。写操作:写操作:将数据从变量写入到文件(内存到外存)。将数据从变量写入到文件(内存到外存)。读写操作都要先经文件缓冲区,然后再提交给变量或文件。读写操作都要先经文件缓冲区,然后再提交给变量或文件。3.关闭文件关闭文件避免数据丢失情况发生。避免数据丢失情况发生。采用PP管及配件:根据

306、给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.3顺序文件顺序文件8.3.1引例引例例例8.1编写程序,要求是:编写程序,要求是:(1)将两个学生的学号、姓名和成绩写入文件将两个学生的学号、姓名和成绩写入文件C:Scores.dat。(2)按原有的数据类型从文件按原有的数据类型从文件C:Scores.dat中读出数据,计算中读出数据,计算平均成绩并显示在窗体上。平均成绩并显示在窗体上。(3)根据文本文件的行结构特性,按行从文件根据文本文件的行结构特性,按行从文件C:Scores.dat中中读出数据并显示在窗体上。读出数据并显示

307、在窗体上。分析:分析:(1)对文件操作首先打开文件,用对文件操作首先打开文件,用Open语句;语句;(2)对文件进行读写操作可以使用对文件进行读写操作可以使用VB提供的读写语句。提供的读写语句。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.3.2常用语句和函数常用语句和函数1.打开文件打开文件Open文件名文件名For模式模式As#文件号文件号(1)文件名文件名字符串常量或字符型变量字符串常量或字符型变量(2)模式模式OUTPUT:写操作;:写操作;INPUT:读操作;:读操作;APPEND:追加到文件

308、末尾。:追加到文件末尾。(3)文件号文件号1511,可以用,可以用FreeFile函数获得下一个可利用的文件号。函数获得下一个可利用的文件号。例例如,打开如,打开C:VBSCORE,供写入数据,指定文件号为,供写入数据,指定文件号为#1。OPENC:VBSCOREFOROUTPUTAS#1采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2.写入命令写入命令(1)Print#文件号,文件号,输出列表输出列表其中,输出列表的格式与其中,输出列表的格式与Print方法完全一样。方法完全一样。例如:保存文本框的内容例

309、如:保存文本框的内容假定文本框的名称为假定文本框的名称为Text1,文件名为,文件名为TEST.Doc。方法方法1:把整个文本框的内容一次性地写入文件。:把整个文本框的内容一次性地写入文件。Open“c:TEST.docForOutputAs#1Print#1,Text1Close#1方法方法2:把整个文本框的内容一个字符一个字符地写入文件。:把整个文本框的内容一个字符一个字符地写入文件。Open“c:TEST.docForOutputAs#1Fori=1Tolen(Text1)Print#1,Mid(Text1,i,1);NextiClose#1采用PP管及配件:根据给水设计图配置好PP管及

310、配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物(2)Write#文件号,文件号,输出列表输出列表紧凑格式,数据项之间插入紧凑格式,数据项之间插入“,”,字符数据加上双引,字符数据加上双引号。号。例如,命令:例如,命令:Write#1,One,Two,123内容:内容:One,Two,123若是若是print#1,“One”,“Two”,123则结果:则结果:OneTwo123例例8.2利用利用Print和和Write语句把数据写入文件语句把数据写入文件3.关闭文件关闭文件Close#文件号文件号,#文件号文件号.例如:例如:Close#1,#2,#3C

311、lose采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.读顺序文件读顺序文件INPUT#文件号文件号,变量列表变量列表把读出的每个数据项分别存放到所对应的变量。把读出的每个数据项分别存放到所对应的变量。LINEINPUT#文件号文件号,字符串变量字符串变量读一行到变量中,但读出的数据不包含回车换行符,主要读一行到变量中,但读出的数据不包含回车换行符,主要用来读取文本文件。用来读取文本文件。INPUT$(读取字符数读取字符数,#文件号文件号)随意读取指定数目字符。随意读取指定数目字符。5.函数函数LOF(文

312、件号文件号):返回文件的长度:返回文件的长度(总字节数总字节数)。EOF(文件号文件号):返回文件指针是否到末尾的值。指针在文:返回文件指针是否到末尾的值。指针在文件尾时,件尾时,EOF函数为函数为True,否则为,否则为False。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例如:读文本文件的内容到文本框例如:读文本文件的内容到文本框假定文本框名称为假定文本框名称为Text1,文件名为,文件名为MYFILE.TXT。方法方法1:一行一行读:一行一行读Text1.Text=OpenMYFILE.TXTFo

313、rInputAs#1DoWhileNotEOF(1)LineInput#1,InputDataText1=Text1+InputData+vbCrLfLoopClose#1采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物方法方法2:一次性读(仅限于只包含西文字符的文本文件):一次性读(仅限于只包含西文字符的文本文件)Text1.Text=OpenMYFILE.TXTForInputAs#1Text1.Text=Input$(LOF(1),1)Close#1方法方法3:一个字符一个字符地读:一个字符一个字符地读

314、DimInputDataasString*1Text1.Text=OpenMYFILE.TXTForInputAs#1DoWhileNotEOF(1)InputData=Input$(1,#1)Text1.Text=Text1.Text+InputDataLoopClose#1采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例8.4编写顺序文件读写程序。编写顺序文件读写程序。u单击单击“添加数据添加数据”,则将一个学生的学号、姓名和成绩添加,则将一个学生的学号、姓名和成绩添加到到Score.txt文件中文件

315、中u单击单击“读取数据读取数据”,则从文件读取数据并计算总分和平均成,则从文件读取数据并计算总分和平均成绩,最后送入文本框。绩,最后送入文本框。8.3.3应用举例应用举例例例8.3设计一个文件加密程序。设计一个文件加密程序。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.4随机文件随机文件对随机文件的操作是按记录进行的,而一个记录是由多个数据项组成,对随机文件的操作是按记录进行的,而一个记录是由多个数据项组成,因此须在程序的变量说明部分先定义记录的类型结构,再将变量说明为记因此须在程序的变量说明部分先定义

316、记录的类型结构,再将变量说明为记录类型。录类型。1.打开打开Open文件名文件名ForRandomAs#文件号文件号Len=记录长度记录长度2.写操作写操作Put#文件号,文件号,记录号记录号,变量名,变量名将一个记录变量的内容写到指定的记录位置处。将一个记录变量的内容写到指定的记录位置处。忽略记录号,则表示在当前记录后的位置插入一条记录。忽略记录号,则表示在当前记录后的位置插入一条记录。3.读操作读操作Get#文件号,文件号,记录号记录号,变量名,变量名忽略记录号,则读出当前记录后的那一条记录。忽略记录号,则读出当前记录后的那一条记录。4.关闭文件关闭文件Close#文件号文件号,#文件号文

317、件号.例如,例如,Close#1,#2,#3Close采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例8.5编写一个随机文件应用程序。要求将两个学生的记录(由编写一个随机文件应用程序。要求将两个学生的记录(由学号、姓名和成绩组成)写入随机文件学号、姓名和成绩组成)写入随机文件C:Score.dat,记录号分,记录号分别为别为1和和4,然后从中读出第,然后从中读出第4条记录并显示在窗体上。条记录并显示在窗体上。分析:访问随机文件前要定义记录类型及其变量,然后打开文分析:访问随机文件前要定义记录类型及其变量,

318、然后打开文件,进行读写操作,最后关闭文件。件,进行读写操作,最后关闭文件。 例例8.6编写学生信息管理程序编写学生信息管理程序追加记录追加记录(Command1):将一个:将一个学生的信息作为一条记录添加到随机学生的信息作为一条记录添加到随机文件末尾。文件末尾。显示记录显示记录(Command2):显示在:显示在右边文本框右边文本框(text4)中指定的记录。中指定的记录。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物二进制文件的访问方法与随机文件类似,也用二进制文件的访问方法与随机文件类似,也用PUT和和

319、GET语句。不同的是二进制文件访问单位是字节,随即文件访问单语句。不同的是二进制文件访问单位是字节,随即文件访问单位是记录。位是记录。1.打开打开Open文件名文件名ForBinaryAs#文件号文件号2.写操作写操作Put#文件号,文件号,位置位置,变量名,变量名写入长度等于变量长度的数据。写入长度等于变量长度的数据。3.读操作读操作GET#文件号,文件号,位置位置,变量名,变量名从指定位置开始读出长度等于变量长度的数据存入变量中,从指定位置开始读出长度等于变量长度的数据存入变量中,数据读出后移动变量长度位置,如果忽略位置,则表示从文件数据读出后移动变量长度位置,如果忽略位置,则表示从文件指

320、针所指的位置开始读出数据,数据读出后移动变量长度位置。指针所指的位置开始读出数据,数据读出后移动变量长度位置。8.5二进制文件二进制文件采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例8.7文件复制文件复制DimcharAsByteDimFileNum1asinteger,FileNum2asIntegerFileNum1=FreeFile打开源文件打开源文件OpenC:STUDENT.docForBinaryAs#FileNum1FileNum2=FreeFile打开目标文件打开目标文件OpenC:ST

321、UDENT.txtForBinaryAs#FileNum2DoWhileNotEOF(FileNum1)Get#1,char从源文件读出一个字节从源文件读出一个字节Put#2,char将一个字节写入目标文件将一个字节写入目标文件LoopClose#FileNum1Close#FileNum2采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.6常用的文件操作语句和函数常用的文件操作语句和函数1.FileCopy语句语句格式:格式:FileCopysource,destination功能:复制一个文件。功能:复

322、制一个文件。说明:说明:FileCopy语句不能复制一个已打开的文件。语句不能复制一个已打开的文件。2.Kill语句语句格式:格式:Killpathname功能:删除文件。功能:删除文件。说明:说明:pathname中可以使用统配符中可以使用统配符“*”和和“?”。例如:例如:Kill*.TXT3.Name语句语句格式:格式:NameoldpathnameAsnewpathname功能:重新命名一个文件或目录。功能:重新命名一个文件或目录。说明:说明:(1)Name具有移动文件的功能。具有移动文件的功能。(2)不能使用统配符不能使用统配符“*”和和“?”,不能对一个已打开的文件上,不能对一个已

323、打开的文件上使用使用Name语句。语句。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4.ChDrive语句语句格式:格式:ChDrivedrive功能:改变当前驱动器。功能:改变当前驱动器。说明:如果说明:如果drive为为“”,则当前驱动器将不会改变;如果,则当前驱动器将不会改变;如果drive中中有多个字符,则有多个字符,则ChDrive只会使用首字母。只会使用首字母。5.MkDir语句语句格式:格式:MkDirpath功能:创建一个新的目录。功能:创建一个新的目录。6.ChDir语句语句格式:格式:

324、ChDirpath功能:改变当前目录。功能:改变当前目录。例如:例如:ChDirD:TMP7.RmDir语句语句格式:格式:RmDirpath功能:删除一个存在的目录。功能:删除一个存在的目录。说明:只能删除空目录。说明:只能删除空目录。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物8.CurDir函数函数格式:格式:CurDir(drive)功能:利用功能:利用CurDir函数可以确定任何一个驱动器的当前目录。函数可以确定任何一个驱动器的当前目录。说明:说明:drive为为,则,则CurDir返回当前驱动

325、器的当前目录。返回当前驱动器的当前目录。例例8.8利用利用ChDrive和和ChDir语句改写例语句改写例8.0中的中的File1_DblClick()事件过程。事件过程。SubFile1_DblClick()ChDriveDrive1.Drive设置缺省驱动器设置缺省驱动器ChDirFile1.Path设置缺省目录设置缺省目录RetVal=Shell(File1.FileName,1)EndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例8.9为例为例8.0添加事件过程添加事件过程File1_Ke

326、yDown(),使之支持,使之支持Del键,即按下键,即按下Del键删除选定的文件。键删除选定的文件。SubFile1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyDeleteThenChDriveDrive1.DriveChDirFile1.PathKillFile1.FileNameFile1.Refresh文件删除后更新文件列表框文件删除后更新文件列表框EndIfEndSub采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物本章小节本章小节

327、文件文件文件是记录的集合,文件是记录的集合,三种访问模式三种访问模式顺序访问顺序访问 打开打开 Open文件名文件名, ,模式模式, ,文件号文件号 写写 Print、Write 读读 Input # 文件号,变量文件号,变量 Line Input #文件号文件号随机访问随机访问Open文件名文件名 For RandomAs#文件号文件号 Len=Len=长度长度 读读Get 写写 Put二进制访问二进制访问与随机访问模式类似与随机访问模式类似本章目录本章目录采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第

328、第9 9章章 图形操作图形操作9.1 图形操作基础图形操作基础9.2 绘图属性绘图属性9.3 图形方法及控件图形方法及控件9.4 综合应用综合应用 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.1 9.1 图形操作基础图形操作基础9.1.1 9.1.1 引例引例例例9.19.1在窗体上绘制在窗体上绘制 2 2 到到2 2 之间的正弦曲线。之间的正弦曲线。在在VBVB中绘制图形,其过程一般分为中绘制图形,其过程一般分为4 4个步骤:个步骤: 先定义图形载体窗体对象或图形框对象的坐标系。先定义图形载体窗体对

329、象或图形框对象的坐标系。 设置线宽,线型、色彩等属性。设置线宽,线型、色彩等属性。 指定画笔的起终点位置。指定画笔的起终点位置。 调用绘图方法绘制图形。调用绘图方法绘制图形。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.1.2坐标系统坐标系统构成一个坐标系,需要三个要素:构成一个坐标系,需要三个要素:坐标原点坐标原点、坐坐标度量单位标度量单位、坐标轴的长度与方向坐标轴的长度与方向。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位

330、干净无污物属性属性ScaleLeft、ScaleTop控制容器对象左边和顶端的坐标,根据这控制容器对象左边和顶端的坐标,根据这两个属性可形成坐标原点。所有对象的两个属性可形成坐标原点。所有对象的ScaleLeft、ScaleTop属性的属性的默认值均为默认值均为0,坐标原点在对象的左上角。,坐标原点在对象的左上角。属性属性ScaleWidth和和ScaleHeight确定对象内部水平方向和垂直方向的确定对象内部水平方向和垂直方向的单元数。单元数。属性属性ScaleMode决定容器对象的坐标度量单位,共有决定容器对象的坐标度量单位,共有8种单位形式。种单位形式。缺省时为缺省时为Twip。每英寸。

331、每英寸1440个个Twip,20个个Twip为为1磅。磅。度量单位转换可使用度量单位转换可使用ScaleX和和ScaleY方法:方法:对象对象.ScaleX(转换值,原坐标单位,转换坐标单位)(转换值,原坐标单位,转换坐标单位)对象对象.ScaleY(转换值,原坐标单位,转换坐标单位)(转换值,原坐标单位,转换坐标单位)改变容器对象的改变容器对象的ScaleMode属性值,不会改变容器的大小或它在屏幕属性值,不会改变容器的大小或它在屏幕上的位置。上的位置。9.1.2坐标系统坐标系统采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保

332、持熔接部位干净无污物例例9.2在在Form_Paint事件中定义窗体的坐标系。事件中定义窗体的坐标系。使用使用Scale方法,语法如下:方法,语法如下: 对象对象.Scale(xLeft,yTop)-(xRight,yBotton)说明:说明:(1)对象可以是窗体、图形框或打印机;对象可以是窗体、图形框或打印机;(2)参数指定了对象的左上角坐标和右下角坐标;参数指定了对象的左上角坐标和右下角坐标;(3)不带参数时,取消自定义坐标系。不带参数时,取消自定义坐标系。自行定义坐标系自行定义坐标系采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的

333、圆度,保持熔接部位干净无污物位于上层的对象会遮盖下层相同位置上的任何对象,即使下层的对象位于上层的对象会遮盖下层相同位置上的任何对象,即使下层的对象在上层对象后面绘制。位于同一层内的对象在发生层叠时,位于前面的对在上层对象后面绘制。位于同一层内的对象在发生层叠时,位于前面的对象会遮盖位于后面的对象。如标签和文本框;命令按钮和文本框。利用图象会遮盖位于后面的对象。如标签和文本框;命令按钮和文本框。利用图形层的特点,可以实现悬浮效果。例如:在命令按钮后放置一个表面色彩形层的特点,可以实现悬浮效果。例如:在命令按钮后放置一个表面色彩为黑色的标签,可以实现悬浮效果。为黑色的标签,可以实现悬浮效果。同一

334、图形层内控件对象排列顺序称为同一图形层内控件对象排列顺序称为Z序列。序列。Zorder方法的语法为:对象方法的语法为:对象.Zorderpositionposition=0表示该控件被定位于表示该控件被定位于Z序列的前面;序列的前面;position=1表示该控件被定位于表示该控件被定位于Z序列的后面。序列的后面。9.1.3图形层图形层采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.2 9.2 绘图属性绘图属性9.2.1 9.2.1 当前坐标当前坐标作作用用:CurrentX、CurrentY属属性性给给

335、出出窗窗体体或或图图形形框框或或打打印印机机在绘图时的当前坐标。在绘图时的当前坐标。说说明明:属属性性在在设设计计阶阶段段不不能能使使用用,使使用用CLS方方法法后后,C CurrentX与与CurrentY属性值为属性值为0。坐坐标标系系确确定定后后,坐坐标标(x,y)表表示示对对象象上上绝绝对对坐坐标标值值。若若坐坐标标值值前前加加上上Step,则则表表示示对对象象上上的的相相对对坐坐标标位位置置,即即从从当当前前坐坐标分别平移标分别平移x,y个单位,其绝对坐标为个单位,其绝对坐标为(CurrentX+x,CurrentY+y)。例例9.3用用Print方法在窗体上随机显示方法在窗体上随机

336、显示50个个“”和和50个个“”。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.2.2 9.2.2 线宽与线型线宽与线型作用:作用:窗体、图形框或打印机的窗体、图形框或打印机的DrawWidth属性给出这些对属性给出这些对象上所画线的宽度或点的大小象上所画线的宽度或点的大小(以像素为单位,最小值为以像素为单位,最小值为1)。窗体或图形框或打印机的窗体或图形框或打印机的DrawStyle属性给出这些对象上所画属性给出这些对象上所画线的形状。线的形状。说明:说明:线型只在线型只在DrawWidth属性为属性

337、为1时有效。时有效。例例9.4通过改变通过改变DrawStyle属性值在窗体上画出不同的线型。属性值在窗体上画出不同的线型。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.2.3 9.2.3 填充与色彩填充与色彩 作用:作用:FillStyle指定填充的图案指定填充的图案(有有8种内部图案种内部图案,取值取值0-7)FillColor指定封闭图形的填充颜色。指定封闭图形的填充颜色。颜色的设置方法:颜色的设置方法:(1)RGB(红红,绿绿,蓝蓝)函数,产生某种颜色。三基色参数值使用函数,产生某种颜色。三基色

338、参数值使用0255之间的整数。之间的整数。(2)QBColor(颜色码颜色码)函数,函数,015之间的整数。之间的整数。(3)使用六位十六进制长整型数,如使用六位十六进制长整型数,如&HFFFFFF&。(4)使用使用VB常量,如常量,如vbRed,vbBlue等。等。例例9.5演示颜色的渐变过程。演示颜色的渐变过程。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.3 9.3 图形方法及控件图形方法及控件9.3.1Line方法方法 作用:作用:Line方法用来画直线或矩形。方法用来画直线或矩形。格式:对象对

339、象.Linestep(x1,y1)step(x2,y2),颜色颜色,BF说明:说明:对象可以是窗体或图形框;对象可以是窗体或图形框;(x1,y1)、(x2,y2)为为线线段段的的起起终终点点坐坐标标或或矩矩形形的的左左上上角角和和右右下角坐标;下角坐标;关键字关键字Step表示采用当前作图位置的相对值;表示采用当前作图位置的相对值;关关键键字字B表表示示画画矩矩形形,关关键键字字F表表示示用用画画矩矩形形的的颜颜色色来来填填充充矩形,矩形,F必须与必须与B一起使用。一起使用。例例9.6用用Line方方法法在在图图形形框框PictureBox上上绘绘制制函函数数f(x)=x2在在区区间间0.3,

340、1之间积分面积区域,填充为蓝色。之间积分面积区域,填充为蓝色。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.3.2 9.3.2 Circle方法方法作用:作用:CircleCircle方法用于画圆、椭圆、圆弧和扇形。方法用于画圆、椭圆、圆弧和扇形。格格式式:对对象象.CircleStepStep(x,y),半半径径,颜颜色色,起起始始角角,终终止止角角,长长短轴比率短轴比率其中:其中:对象为窗体、图形框或打印机;对象为窗体、图形框或打印机;(x,y)为圆心坐标,为圆心坐标,step表示当前作图位置的相对

341、值;表示当前作图位置的相对值;圆圆弧弧和和扇扇形形通通过过参参数数起起始始角角、终终止止角角控控制制。当当起起始始角角、终终止止角角取取值值在在02 时时为为圆圆弧弧,当当在在起起始始角角、终终止止角角取取值值前前加加一一负负号号时时,画出扇形,负号表示画圆心到圆弧的径向线;画出扇形,负号表示画圆心到圆弧的径向线;椭圆通过长短轴比率控制,默认值为椭圆通过长短轴比率控制,默认值为1时,画圆。时,画圆。例例9.7在在窗窗体体上上绘绘制制由由圆圆环环构构成成的的艺艺术术图图案案。构构造造图图案案的的算算法法为为:将将一一个个半半径径为为r的的圆圆周周等等分分为为n份份,以以这这n个个等等分分点点为为

342、圆圆心心,以以半半径径r1绘绘制制n个圆。个圆。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.3.3 Pset9.3.3 Pset方法方法作用:作用:PsetPset方法用于画点。方法用于画点。 格式:格式: 对象对象. . PsetPset Step Step(x,y)(x,y) , ,颜色颜色 说明:说明:( (1)1)参数参数(x,y)(x,y)为所画点的坐标;为所画点的坐标; (2)Step(2)Step表示采用当前位置的相对值;表示采用当前位置的相对值; (3)(3)采用背景色画点时可以清除点

343、。采用背景色画点时可以清除点。例例9.89.8用用PsetPset方方法法绘绘制制方方程程组组y1=-5xy1=-5x2 2+2x+3+2x+3和和y2=x+1y2=x+1的的曲曲线线,并并求解方程。求解方程。 分析:分析:采用较小的步长,就可使离散的点连接成曲线。采用较小的步长,就可使离散的点连接成曲线。 求求解解方方程程实实质质是是找找曲曲线线的的交交点点坐坐标标,由由于于作作图图时时存存在在误误差差,故故判判断断时时不不能能用用y1=y2y1=y2,而而要要使使用用Abs(y1-y2)Abs(y1-y2)误误差差获获得得对对应的应的x x值。值。采用PP管及配件:根据给水设计图配置好PP

344、管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.3.4 Point9.3.4 Point方法方法作用:作用:PointPoint方法返回指定点的方法返回指定点的RGBRGB颜色。颜色。格式:格式: 对象对象. Point (x,y) Point (x,y)说说明明:(x,y)(x,y)指指定定点点的的坐坐标标。如如果果(x,y)(x,y)点点位位于于对对象象之之外外,PointPoint方法将返回方法将返回TrueTrue。例例9.99.9用用PointPoint方方法法获获取取一一个个区区域域的的信信息息并并使使用用PsetPset方方法法进进

345、行行仿真。仿真。分分析析:窗窗体体与与图图形形框框的的坐坐标标系系设设置置值值相相同同,但但窗窗体体的的实实际际宽宽度和高度比图形框大,故仿真输出时放大了原来的字符。度和高度比图形框大,故仿真输出时放大了原来的字符。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物9.3.5Line(画线工具画线工具)作用:作用:Line控件用来画线。控件用来画线。属性:属性:BorderWidth、BorderStyle、BorderColor。说说明明:运运行行时时可可通通过过x1、y1、x2、y2四四个个属属性性设设置置

346、两两个个端端点点的的位置。位置。例如:例如:用用Line控件制作数码数字。控件制作数码数字。9.3.6Shape(形状形状)作作用用:Shape控控件件根根据据Shape属属性性不不同同用用来来画画矩矩形形、正正方方形形、椭圆、圆、圆角矩形及圆角正方形。椭圆、圆、圆角矩形及圆角正方形。属属性性:FillStyle属属性性指指定定控控件件的的填填充充图图案案,FillColor属属性性指指定定控件填充图案的颜色。控件填充图案的颜色。例如:例如:用用Shape控件绘制奥林匹克五环旗。控件绘制奥林匹克五环旗。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,

347、以保证切口面的圆度,保持熔接部位干净无污物9.4综合应用综合应用例例9.109.10利利用用绘绘图图方方法法及及绘绘图图属属性性,根根据据给给定定的的数数据据 绘制直方图、饼图等统计图形。绘制直方图、饼图等统计图形。设计思路:设计思路:采用动态数组存放数据;采用动态数组存放数据;直方图可用带参数直方图可用带参数BFBF的的LineLine语句来绘制;语句来绘制;饼饼图图绘绘制制用用CircleCircle语语句句,绘绘图图时时需需要要计计算算出出每每个个绘绘图图数数据据在在圆圆内内占占的的百百分分比比,定定出出该该数数据据对对应应扇扇形形的的起始角和终止角;起始角和终止角; 折线图可用折线图可

348、用LineLine语句实现;语句实现;散点图用散点图用PsetPset语句绘制。语句绘制。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例9.11设计程序模拟行星运动。设计程序模拟行星运动。设计思路:设计思路:在时钟的在时钟的Timer1_Time事件内有规律地改变对象的事件内有规律地改变对象的形状、尺寸或位置,就可形成动画效果。形状、尺寸或位置,就可形成动画效果。太阳和行星运动轨道用太阳和行星运动轨道用Circle语句完成。语句完成。行星在轨道上的方程行星在轨道上的方程:x=rx*cos(alfa),y

349、=ry*sin(alfa)窗体的窗体的DrawMode属性设置为属性设置为Xor或或Invert,在相,在相同位置上重复绘置相同图形,可起到擦除的作用。同位置上重复绘置相同图形,可起到擦除的作用。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物例例9.12通过改变图形形状演示一个陀螺在图形通过改变图形形状演示一个陀螺在图形框内转动。框内转动。例例9.13演示地球图标的转动,在转动时同时使演示地球图标的转动,在转动时同时使地球图标在窗体内移动,并变化地球图标的尺地球图标在窗体内移动,并变化地球图标的尺寸。寸。(

350、用用PictureClip控件来存放一组图片控件来存放一组图片)采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物本章小节本章小节在在VB内绘制图形过程内绘制图形过程1)先定义图形载体的坐标系先定义图形载体的坐标系2)设置绘图属性设置绘图属性(线宽,线型、色彩等线宽,线型、色彩等)3)指定画笔的起终点位置指定画笔的起终点位置4)调用绘图方法绘制图形调用绘图方法绘制图形坐标系定义坐标系定义Scale绘图属性绘图属性 CurrentX、CurrentY,DrawWidth、DrawStyle,FillStyle、FillColor绘图方法绘图方法Line、Circle、Pset、Point

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号