《vb程序设计》PPT课件.ppt_第1页
《vb程序设计》PPT课件.ppt_第2页
《vb程序设计》PPT课件.ppt_第3页
《vb程序设计》PPT课件.ppt_第4页
《vb程序设计》PPT课件.ppt_第5页
已阅读5页,还剩291页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安徽工业大学计算机学院,1,第1章 Visual Basic程序设计概述,1.1 Visual basic 简介 1.2 VB集成开发环境 1.3 建应用程序过程 1.4 VB帮助系统,安徽工业大学计算机学院,2,1.1 Visual basic 简介,程序设计基本概念 Visual Basic的发展 Visual Basic的特点,本章目录,安徽工业大学计算机学院,3,1.1.1 Visual Basic的发展,20世纪60年出现Basic语言; 20世纪80年代,True Basic、Quick Basic和Turbo Basic等; 1991年Microsoft公司推出Visual Basic1.0,以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行机制。从1991年的VB1.0至1998年的V B6.0的多次版本升级,功能更强大、完善,应用面更广; 2002年正式发布Visual Basic.NET。,本章目录,安徽工业大学计算机学院,4,1.1.2 VB的特点,例1 设计一个滚动文字的广告程序,一行文字在具有背景图案的窗体上、下移动。 设计思路: 在窗体上使用标签Label对象来存放文字; 利用Timer控件来快速触发移动; 利用单击按钮来手动触发移动.,本章目录,安徽工业大学计算机学院,5,当一个标签放在窗体上时,标签的左上角坐标(用Left、Top表示)就被指定了。,如果改变标签的左上角坐标就可移动标签,即移动文字。 例如: Label1.Top=Label1.Top+50可使标签Label1向下移动50单位,欢迎使用VB,本章目录,Top,Left,0,0,安徽工业大学计算机学院,6,实现连续移动,可通过时钟对象Timer,在规定的时间间隔执行: Label1.Top =Label 1.Top+50 就可使标签Label1连续向下移动。 时钟对象的Interval可指定时间间隔,1秒为1000单位。每隔0.2秒移动一次可设置Interval=200,本章目录,安徽工业大学计算机学院,7,程序进一步改进: 连续循环移动,首先要能判断出标签是否超出窗体范围。,窗体,欢迎光临,该点在Top方向上的坐标为: 窗体的高度Height 如果标签的Top窗体的高度,表示已越出窗体范围,可将标签移到窗体上方,此时标签的Top=?,本章目录,Height,安徽工业大学计算机学院,8,具有基于对象的可视化设计工具 事件驱动的编程机制 提供了易学易用的应用程序集成开发环境 支持结构化程序设计语言 强大的网络、数据库、多媒体功能 完备的帮助功能,VB功能特点,本章目录,安徽工业大学计算机学院,9,VB系统的安装 VB系统的启动 VB集成开发环境的使用,1.2 VB集成开发环境,本章目录,安徽工业大学计算机学院,10,安装,VB6.0有学习版、专业版和企业版三种版本。执行VB6.0的Setup.exe,在安装程序的提示下进行,初学者可采用典型安装方式。 VB6.0联机帮助文件使用MSDN文档格式,联机帮助文件不在VB6.0系统盘上,而与Visual Studio产品的帮助集合在两张CD盘上,安装过程中,系统会提示插入MSDN盘。,本章目录,安徽工业大学计算机学院,11,启动,启动VB选择开始菜单中的 Microsoft Visual Basic 6.0中文版程序。 VB 6.0窗口列出了VB能够建立的应用程序类型,初学者只要选择默认标准.EXE。 单击新建按钮,就可创 建该类型的应用程序。,本章目录,安徽工业大学计算机学院,12,1.2.1集成开发环境使用,本章目录,安徽工业大学计算机学院,13,1.2.2 主窗口,三种工作模式 设计模式 界面的设计和代码的编制 运行模式 运行应用程序 中断模式 暂时中断程序运行,调试程序 2. 菜单栏 包括13个下拉菜单 3. 工具栏,本章目录,安徽工业大学计算机学院,14,1.2.3 窗体设计窗口,窗体是建立VB应用程序的主要部分,一个应用程序至少有一个窗体窗口。 每个窗体必须有一个唯一的窗体名,默认名为Form1. 设计状态的窗体由网格点构成,方便用户对控件的定位,网格点间距可以通过工具|选项|通用进入窗体网格设置. 运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。,本章目录,安徽工业大学计算机学院,15,代码设计窗口,用来进行代码设计:各种事件过程、过程代码的编写和修改。 打开代码设计窗口的方法: 双击窗体、控件 资源管理器窗口的 ”查看代码”,本章目录,安徽工业大学计算机学院,16,1.2.4 属性窗口,设置窗体或控件的属性,如 颜色、字体、大小等。,本章目录,安徽工业大学计算机学院,17,1.2.5 工程管理器窗口,保存一个应用程序所有属性以及组成这个应用程序所有的文件。 工程文件的扩展名为.VBP,工程文件名显示在工程文件窗口的标题框内。,已存盘,未存盘,本章目录,安徽工业大学计算机学院,18,1.2.6 工具箱窗口,由21个被绘制成按钮形式的图标构成,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。 也可通过工程|部件命令将第3方开发的其他控件装入到工具箱。,本章目录,安徽工业大学计算机学院,19,1.3 创建应用程序的过程,建立一个应用程序分为以下几步: (1) 建立用户界面的对象 (2) 对象属性的设置 (3) 对象事件过程及编程 (4) 保存和运行程序 例1.2 编写一个人民币与美元兑换的程序。 要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示兑换结果。,本章目录,安徽工业大学计算机学院,20,设计思路: 建立用户界面的对象 输入使用文本框TextBox; 提示使用标签Label; 按钮Command的Click事件执行处理命令。,本章目录,安徽工业大学计算机学院,21,1.4 使用帮助系统,使用MSDN Library查阅器 通过VB的帮助菜单,选择内容、索引或搜索菜单项,安徽工业大学计算机学院,22,本章小节,Visual Basic 6.0 一个基于对象的可视化设计工具 vb的三种工作模式 设计模式、运行模式、中断模式 VB程序组成,工程,窗体文件,控件和属性设置,模块文件,事件代码,本章目录,安徽工业大学计算机学院,23,第2章 VB可视化编程基础,2.1 VB对象概念 2.2 窗体和基本控件 2.3 综合应用,安徽工业大学计算机学院,24,2.1 VB对象的概念,2.1.1 对象和类 对象指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。 每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。 例如人具有身高、体重等特征,具有行走、说话等行为,外界作用在人对象上的各种活动,如下雨等。,本章目录,安徽工业大学计算机学院,25,类的概念,在现实世界中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。类是对同一种对象的集合与抽象。 如人类是“人”的抽象。类是创建对象实例的模板,对象则是类的一个实例。 类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。,本章目录,安徽工业大学计算机学院,26,VB中的类和对象,VB工具箱中的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。,本章目录,安徽工业大学计算机学院,27,例如:工具箱内的TextBox是类(它确定了TextBox的属性、方法和事件) 窗体上显示的是两个TextBox对象,本章目录,安徽工业大学计算机学院,28,属性、事件和方法构成对象的三要素 属性 存放对象的数据(决定对象外观及功能) 例如,控件名称、文本、大小等属性。 对象属性的设置方法: 设计阶段 利用属性窗口直接设置属性值 程序运行时 通过语句对象名.属性名=属性值 例如:Command1.Caption = “确定“ 注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。,2.1.2 对象的属性、事件和方法,本章目录,安徽工业大学计算机学院,29,事件 发生在对象上的事情 同一事件,对不同的对象,会引发不同的反应:,事件,教师_铃声() 讲课 End Sub,学生_铃声() 听讲 End Sub,VB为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus 、按下键盘KeyPress 等,其他人员_铃声() 可不于响应 End Sub,本章目录,安徽工业大学计算机学院,30,事件过程 应用程序处理事件的步骤 应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下: Sub 对象名_事件(参数) 事件过程代码 End Sub,事件过程,本章目录,安徽工业大学计算机学院,31,例:单击按钮 ,使Text1的字体为20磅. Sub Command1_Click() Text1.FontSize = 20 End Sub 一个动作可能同时发生多个事件。例如单击鼠标同时发生了: Click、MouseDown、MouseUp事件 编程时,只要对需要的事件过程编码。 注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。,模板产生,用户输入,本章目录,安徽工业大学计算机学院,32,程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。 VB程序的执行步骤如下: 启动应用程序,装载和显示窗体; 窗体(或窗体上的控件)等待事件的发生; 事件发生时,执行对应的事件过程; 重复执行步骤和。,事件驱动,本章目录,安徽工业大学计算机学院,33,方法,面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。 方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: 对象.方法 参数名表 若省略对象,表示当前对象,一般指窗体。 例如:Text1.SetFocus 此语句使Text1控件获得焦点,光标在本文框内闪烁。,本章目录,安徽工业大学计算机学院,34,2.2 窗体和基本控件,窗体和控件具有基本属性 例2.1 (1) Name 名称属性 所创建的对象名称,在程序中引用。 (2) Caption 标题属性 该属性决定了对象上显示的内容。 (3) Height、Width、Top和Left属性 决定对象的高度、宽度,和位置。,本章目录,安徽工业大学计算机学院,35,(4) Enabled 属性 对象是否允许操作 (5) Visible 属性 对象是否可见 (6) Font 属性组 文本的外观 FontName字体、FontSize大小 FontBold粗体、FontItalic斜体、 FontStrikethru 删除线、 FontUnderline 下划线,本章目录,安徽工业大学计算机学院,36,(7) ForeColor属性 前景颜色 (8) BackColor属性 背景颜色 (9) MousePointer 鼠标指针类型 设置值范围015,由系统指定 。若为99,由用户提供的图形文件定义鼠标指针形状。 (10) MouseIcon属性 在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在Graphics目录下。,本章目录,安徽工业大学计算机学院,37,控件默认属性 所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。,例如,下面两条语句是等价的: Text1.Text=“Visual BASIC“ Text1 =“Visual BASIC“,本章目录,安徽工业大学计算机学院,38,2.2.2 窗体,窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画界面。 窗体属性决定了窗体的外观和操作。,本章目录,安徽工业大学计算机学院,39,窗体-事件,常用的事件有Click、DblClick和Load。 Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。 例2.2 窗体无最大化按钮和最小化按钮,窗体启动时,在标题栏显示“装入窗体”,并装入一背景图;单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字。,本章目录,安徽工业大学计算机学院,40,窗体-方法,使用方法的语法形式: 对象.方法 参数列表 Cls方法 清除运行时在窗体或图形框中产生的文本或图形, Cls方法不能清除窗体在设计时的文本和图形 Move方法 可移动窗体或控件,并可改变其大小。 语法格式如下: 对象.Move 左边距离,上边距离,宽度,高度,本章目录,安徽工业大学计算机学院,41,2.2.3 标签,标签用来显示文本信息(不能输入) 例2.3 标签属性演示,本章目录,安徽工业大学计算机学院,42,2.2.4 文本框,文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。 (1) Text 显示或输入的正文内容 (2) Maxlength 设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。 注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。,本章目录,安徽工业大学计算机学院,43,(3) MultiLine 多行属性 设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。 (4) ScrollBars 滚动条属性 None 无滚动条 Horizontal 水平滚动条 Vertical 垂直滚动条 Both 同时加水平和垂直滚动条 当MultiLine为True时,ScrollBars才有效,本章目录,安徽工业大学计算机学院,44,(5) PassWordChar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。 当MultiLine为True时,该属性不起作用,密码不允许多行。 (6) Locked 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。,本章目录,安徽工业大学计算机学院,45,(7)文本内容进行选择操作 SelStart 选定的正文开始位置 SelLength 选定的正文长度 SelText 选定的正文内容 这3个属性互相关联,例如设置SelStart、SelLength后,SelText 自动存放指定的文本。 例2.4 利用属性实现文本信息的复制。,本章目录,安徽工业大学计算机学院,46,文本框-事件,(1) Changed事件 当Text属性值发生改变时引发该事件 例 在文本框每输入一个字符就引发一次事件 (2) KeyPress事件 按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中 例 对回车的判断 KeyAscii=13,本章目录,安徽工业大学计算机学院,47,(3) LostFocus事件 对象失去焦点时发生LostFocus事件 该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。 (4) GotFocus事件 GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生,本章目录,安徽工业大学计算机学院,48,文本框-方法,文本框最有用的方法是SetFocus,把光标移到指定的文本框中。其形式如下: 对象. SetFocus SetFocus还可以用于如CheckBox、CommandButton、ListBox、ComboBox等控件。 例2.5 对输入的数据进行合法性检验,过滤不合法的数据。,本章目录,安徽工业大学计算机学院,49,2.2.5 命令按钮,用于程序运行时执行相应的事件 1. 属性 (1) Caption 命令按钮上显示的文字 (2) Style 按钮样式 0 Standard:默认,按钮上不能显示图形 1 Graphical:按钮上可以显示图形和文字 (3) Picture 在按钮装入图形 (4) ToolTipText 加以文字提示 2. 事件 命令按钮一般接收Click事件,本章目录,安徽工业大学计算机学院,50,2.3 综合应用,例2.6建立一个类似记事本的应用程序,提供: (1) 剪切、复制和粘贴的编辑操作 (2) 字体大小的格式设置 分析: (1) 建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。 (2) 利用文本框的SelText属性实现“剪切、复制和粘贴”的编辑操作。 (3) “格式”设置利用Font对象实现。,本章目录,安徽工业大学计算机学院,51,本章小节,类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。 对象三要素:属性、事件、方法 窗体 是所有控件的容器 基本控件 标签、文本框、命令按钮,本章目录,安徽工业大学计算机学院,52,第三章 VB语言基础,3.1 数据类型 3.2 变量和常量 3.3 运算符和表达式 3.4 程序结构和编码规则 3.5 综合应用,本章目录,安徽工业大学计算机学院,53,3.1 数据类型,本章目录,安徽工业大学计算机学院,54,3.2 变量,变量 在程序运行中其存储的值可以改变 命名规则: 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255个字符 不能使用VB中的关键字 VB不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母表示,本章目录,安徽工业大学计算机学院,55,变量声明,用Dim语句显式声明变量 Dim 变量名 As 类型 As部分缺省,创建的变量为变体类型 一条Dim语句可同时定义多个变量,但每个变量应有类型说明,否则为变体型 。 例如:Dim m,n As Integer, x,y As Single 则创建了变体型变量m、x,整型变量n和单精度型变量y,本章目录,安徽工业大学计算机学院,56,常量,常量是在程序运行中不变的量,VB有三种常量: 直接常量 其常数值直接反映了其类型 符号常量 用户声明,便于程序阅读或修改 Const 符号常量名 As 类型 = 表达式 例如: Const PI = 3.14159 系统常量 系统提供许多内部常量 例如:vbCrLf 回车/换行组合符,本章目录,安徽工业大学计算机学院,57,3.3 运算符和表达式,和其他语言一样,VB中也具有丰富的运算符,通过运算符和操作数组合成表达式,实现程序编制中所需的大量操作。 运算符是表示实现某种运算的符号。VB中的运算符可分算术运算符、字符串运算符、关系运算符和逻辑运算符4类。,本章目录,安徽工业大学计算机学院,58,算术运算符,例:5+10 mod 10 9 / 3+2 2 结果:10,注意:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。 例如: 30-True 结果是31,逻辑量True转为数值-1,False转为数值0 False + 10 + “4“ 结果是14,本章目录,安徽工业大学计算机学院,59,字符串运算符,& 两旁的操作数可任意,转换成字符型后再连接 + 两旁的操作数应均为字符型; 1)数值型:则进行算术加运算 2)一个为数字字符,另一个为数值,自动将数 字字符转换为数值后进行算术加 3)一个为非数字字符,另一个为数值型,出错 例如: 操作 结果 操作 结果 “ab“ & 123 “ab123 “ “ab“ + 12 出错 “12“ & 456 “ 12456 “ “12“ + 456 468 “12“ & True “12True“ “12“ + True 11,本章目录,安徽工业大学计算机学院,60,关系运算符,关系运算符是双目运算符,作用是对两个操作数进行大小比较,若关系成立,则返回True,否则返回False。操作数可以是数值型、字符型。,本章目录,安徽工业大学计算机学院,61,逻辑运算符,逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值True或False。,本章目录,安徽工业大学计算机学院,62,表达式,1.组成 变量、常量、函数、运算符和圆括号 2.书写规则 运算符不能相邻 例a+ -b是错误的 乘号不能省略 例x 乘以y 应写成:x*y 括号必须成对出现(均使用圆括号) 表达式从左到右在同一基准上书写,无高低、大小 3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 Integer=字符运算符关系运算符逻辑运算,本章目录,安徽工业大学计算机学院,63,表达式书写举例,a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g),例逻辑表达式书写,选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其表达式写为: Age285 And ( Mark1=100 Or Mark2 =100 Or Mark3=100 ) 如果取消括号有何问题?请读者考虑。,sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1),本章目录,安徽工业大学计算机学院,64,3.3.3 常用函数,VB函数: 内部函数和用户自定义函数,内部函数,数学函数 转换函数 字符串函数 日期函数 格式输出函数,调用函数的形式: 函数名(参数列表),本章目录,安徽工业大学计算机学院,65,数学函数,本章目录,安徽工业大学计算机学院,66,数学函数,Rnd函数返回0和1(包括0但不包括1)之间的双精度随机数. 每次运行时,要产生不同序列的随机数,先执行Randomize 语句。产生ab的之间的随机整数:Int(Rnd *(b-a)+a),本章目录,安徽工业大学计算机学院,67,转换函数,本章目录,安徽工业大学计算机学院,68,字符串函数,本章目录,安徽工业大学计算机学院,69,字符串函数,本章目录,安徽工业大学计算机学院,70,日期函数,例 计算从当前日期到2007年6月30日有多少天?表达式为: DateDiff(“d“, Now, #6/30/2007#),本章目录,安徽工业大学计算机学院,71,Shell函数,Shell函数可调用各种应用程序。格式如下: Shell(命令字符串,窗口类型) 命令字符串为要执行的应用程序名(包括路径),必须是可执行文件(.com、.exe、.bat)。 窗口类型表示执行应用程序的窗口状态,04,6的整型数值,1表示正常窗口状态。 函数调用成功返回一个任务标识ID,不成功,则返回0。,例 i = Shell( “calc.exe“),本章目录,安徽工业大学计算机学院,72,3.4 程序结构和编码规则,本章目录,安徽工业大学计算机学院,73,编码规则,(1) VB代码不区分字母的大小写 关键字 首字母自动转换成大写,其余字母转换成小写。 用户自定义的变量、过程名,以第一次定义的为准,以后输入的自动向首次定义的形式转换。 (2) 语句书写自由 一行上可书写多句语句(用冒号分隔),一行最多255个字符。 单行语句可分若干行书写,在本行后加入续行符(空格和下划线)。,本章目录,安徽工业大学计算机学院,74,3.5 综合应用,例3.1 模仿字处理软件中字符串替换功能。 设计思路: 利用Shell函数调用winword.exe执行Word程序实现替换功能 利用查找(InStr)、取子串(Left、Mid)等函数实现替换功能 利用替换(Replace)函数实现替换功能,本章目录,安徽工业大学计算机学院,75,本章小节,变量:在程序运行中其存储的值可以改变 变量声明 Dim 变量名 As 类型 运算符 算术运算符、字符串运算符、关系运算符和逻辑运算符 函数 内部函数、用户自定义函数 调用函数形式:函数名(参数列表) Shell函数 调用各种应用程序,本章目录,安徽工业大学计算机学院,76,第4章 VB控制结构,4.1 顺序结构 4.2 选择结构 4.3 循环结构 4.4 其它辅助控制语句 4.5 综合应用 4.6 程序调试,安徽工业大学计算机学院,77,4.1 顺序结构,VB具有结构化程序设计的三种结构,即顺序结构、选择结构、循环结构,是程序设计的基础。 顺序结构就是各语句按出现的先后次序执行。一般的程序设计语言中,顺序结构的语句主要是赋值语句、输入/输出语句等。在VB中也有赋值语句;而输入/输出可以通过文本框控件、标签控件、InputBox函数、MsgBox函数和过程等来实现。,本章目录,安徽工业大学计算机学院,78,4.1.1 赋值语句,形式: 变量名表达式 计算右边表达式的值,然后赋给左边的变量。 给变量赋值和设定属性是VB编程中常见的两个任务。例如: n = n + 1 计数累加 Text1.Text “ 清除文本框的内容 Text1.Text “欢迎使用VB “ 文本框显示字符串,本章目录,安徽工业大学计算机学院,79,赋值语句注意点,赋值语句不允许写成 表达式变量,虽然赋值号与关系运算符等于号都用=表示,VB系统会根据所处的位置自动判断符号的意义。 赋值号左边的变量只能是变量,不能是常量、常数符号、表达式。下面均为错误的赋值语句: Now()=x+y 左边是表达式(函数) 5=sqr(s)+x+y 左边是常量,本章目录,安徽工业大学计算机学院,80,InputBox函数 打开一个对话框,等待用户输入,返回字符串类型的输入值。 形式:InputBox(提示,标题,默认值,x坐标位置,y坐标位置) 提示项不能省略。若要多行提示,可在每行行末加回车换行vbCrLf。 例4.1利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。,4.1.2 数据输出和输入,本章目录,安徽工业大学计算机学院,81,打开一个信息框,等待用户选择一个按按钮。 MsgBox函数返回所选按钮的值,MsgBox过程不返回值 MsgBox函数形式: 变量% = MsgBox(提示,按钮,标题) MsgBox过程形式: MsgBox 提示,按钮,标题 按钮项是一整型表达式,决定信息框按钮的数目和类型及出现在信息框上的图标形式。,MsgBox函数和MsgBox过程,本章目录,安徽工业大学计算机学院,82,MsgBox按钮设置,本章目录,安徽工业大学计算机学院,83,MsgBox所选按钮返回值,例4.2 编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。,本章目录,安徽工业大学计算机学院,84,Print方法,作用:在对象上输出信息。 对象.PrintSpc(n)|Tab(n)输出列表 ;|, 对象:窗体、图形框或打印机。缺省为窗体。 Spc(n)函数:从当前位置起空n个空格 Tab(n)函数:从最左端开始计算的第n列 分号:定位在上一个被显示的字符之后 逗号:定位在下一个打印区开始处(每区14列) Print语句尾无分号或逗号,输出后换行 例4.3 Print方法输出图形,安徽工业大学计算机学院,85,Format格式输出函数,形式: Format (表达式, “格式字符串“) 常用数值格式化符及举例,例4.4 利用Format函数显示数值。,安徽工业大学计算机学院,86,4.2 选择结构,计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。必须利用选择结构等来解决实际应用中的各种问题。VB中提供了多种形式的条件语句来实现选择结构,有If条件语句和Select情况语句等。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。,本章目录,安徽工业大学计算机学院,87,4.2.1 If条件语句,1. IfThen语句(单分支结构) If Then 语句块(可以是一句或多句语句) End If 或 If Then 表达式:关系表达式、逻辑表达式,算术表达式。表达式值按非零为True,零为False进行判断。 该语句的作用是当表达式的值为True,执行Then后面的语句块,否则不做任何操作。,本章目录,IF演示,安徽工业大学计算机学院,88,单分支结构,例:已知两个数x和y,比较它们的大小,使得x大于y。 If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t 简单If形式无End If时,只能是一句语句或语句间用冒号分隔,而且必须在一行上书写。,本章目录,安徽工业大学计算机学院,89,双分支结构,2. IfThenElse语句 If 表达式 Then 语句块1 Else 语句块2 End If 或 If 表达式 Then 语句1 Else 语句2 当表达式的值为True时,执行Then后面的语句块1,否则执行Else后面的语句块2,本章目录,安徽工业大学计算机学院,90,双分支结构例,计算分段函数,单分支 y=cos(x)x3+3*x 结构实现 If x0 Then y=sin(x)+sqrt (x*x+1),If x0 Then 双分支 y=sin(x)+sqr (x*x+1) Else 结构实现 y=cos(x)x3+3*x End If,本章目录,安徽工业大学计算机学院,91,多分支结构,3. IfThenElseIf 语句 If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 Else 语句块 n+1 End If,作用:根据不同的表达式值确定执行哪个语句块,本章目录,安徽工业大学计算机学院,92,例4.7 已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。 If UCase(ch) = “A“ And UCase(ch) = “ 0“ And ch = “9“ Then 数字字符 MsgBox(ch + “是数字字符“) Else 除上述字符以外的字符 MsgBox(ch + “是其他字符“) End If,不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。 ElseIf不能写成 Else If,多分支结构例,本章目录,安徽工业大学计算机学院,93,If语句的嵌套是指If或Else后面的语句块中又包含If语 If 表达式1 Then If 表达式2 Then End If End If,If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End If,If语句的嵌套,例 已知x,y,z三个数,使得xyz 用一个IF语句和一个嵌套的IF语句实现,本章目录,安徽工业大学计算机学院,94,4.2.2 Select Case语句,Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End Select,表达式列表与变量或表达式的类型必须相同,是下面4种形式之一 : 表达式 例: “A“ 一组用逗号分隔的枚举值 2,4,6,8 表达式1 To 表达式2 60 To 100 Is 关系运算符表达式 Is 60,本章目录,安徽工业大学计算机学院,95,Select Case语句例,将例4.7 改用 Select Case 语句实现: Select Case ch Case “a“ To “z“,“A“ To “Z“ MsgBox( ch + “是字母字符“) Case “0“ To “9“ MsgBox (ch +“是数字字符“) Case Else MsgBox( ch + “是其他字符“) End Select 多分支结构,用Select Case语句比IfThenElseIf语句直观,程序可读性强。但不是所有的多分支结构均可用Select Case语句代替IfThenElseIf语句。,本章目录,安徽工业大学计算机学院,96,Select Case语句例,例4.9判断坐标点(x,y),落在哪个象限。,代码一 If x 0 And y 0 Then MsgBox(“在第一象限“) ElseIf x 0 Then MsgBox(“在第二象限“) ElseIf x 0 And y 0 Then MsgBox(“在第四象限“) End If,代码二 Select Case x,y Case x 0 And y 0 MsgBox(“在第一象限”) Case x 0 MsgBox(“在第二象限”) Case x 0 And y 0 MsgBox(“在第四象限”) End Select,代码二错误: 1. Select Case 后不能出现多个变量 2. Case后不能出现变量及有关运算符,本章目录,安徽工业大学计算机学院,97,4.2.3 条件函数,(1) IIf函数 IIf(表达式,表达式为真时的值,表达式为假时的值) IIf函数是If Then Else 结构的简洁表示 例如,将x,y中大的数,放入Tmax变量中: Tmax = IIf(x y,x,y) 该语句与如下语句等价 : If x y Then Tmax = x Else Tmax = y,本章目录,安徽工业大学计算机学院,98,4.2.3 条件函数,(2) Choose函数 Choose(整数表达式,选项列表) 根据表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null。 例 根据Nop的值,得到+、-、中的某运算符: Op= Choose(Nop,“+“,“-“,“,“) 例4.10 根据当前日期,显示今日是星期几。 t = Choose(Weekday(Now), “星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”) MsgBox(“今天是:“ & Now & t),本章目录,Dim nop As Integer, op As Char Randomize() nop = Int(Rnd() * 4 + 1) op = Choose(nop, “+“, “-“, “, “) MsgBox(“nop=“ & nop & “ op=“ & op),安徽工业大学计算机学院,99,4.3 循环结构,计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。例如,按照人口某增长率,对人口增长统计;根据各课程的学分、绩点和学生的成绩,统计每个学生的平均绩点等。这类问题都可通过循环结构来方便地实现。VB中提供了两种类型的循环语句:一种是计数循环语句;另一种是条件型循环语句。,本章目录,安徽工业大学计算机学院,100,4.3.1 For循环语句,For循环语句用于控制循环次数预知的循环结构。 For 循环变量 初值 To 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量 循环变量必须为数值型。 循环次数,例4.11 计算1100的奇数和,本章目录,Dim i%, sum% For i = 1 To 100 Step 2 sum = sum + i Next i MsgBox(sum),安徽工业大学计算机学院,101,For循环语句,循环流程: (1) 循环变量被赋初值,它仅被赋值一次。 (2) 判断循环变量是否在终值内,如果是,执行循环体;如果否,结束循环,执行Next的下一语句。 (3) 循环变量加步长,转(2),继续循环,例4.12 将可打印的ASCII码制成表格输出,本章目录,安徽工业大学计算机学院,102,4.3.2 DoLoop循环语句,Do循环用于控制循环次数未知的循环结构。 形式1: Do While|Until 语句块 Exit Do 语句块 Loop 形式1为先判断后执行,有可能一次也不执行; 形式2为先执行后判断,至少执行一次。,形式2: Do 语句块 Exit Do 语句块 Loop While|Until ,本章目录,安徽工业大学计算机学院,103,DoLoop流程,本章目录,安徽工业大学计算机学院,104,循环例题,例4.13 我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。 解此问题两种方法,可根据公式:,直接利用标准函数对数可求得,但求得的年数不为整数;也可利用循环求得 。,本章目录,安徽工业大学计算机学院,105,4.3.3 循环的嵌套,在一个循环体内又包含了一个完整的循环结构称为循环的嵌套。循环嵌套对For循环语句和DoLoop语句均适用。 例4.14 打印九九乘法表,思考:打印上三角或下三角程序如何改动?,本章目录,安徽工业大学计算机学院,106,4.4 其他辅助控制语句,4.4.1 Go To 语句 无条件地转移到标号或行号指定的那行语句。 Go To 标号|行号 注意:标号是字符序列,首字符必须为字母,标号后应有冒号;行号是一个数字序列; 例4.15 判断输入的数是否为素数 素数就是除1和本身以外,不能被其他任何整数整除的数。根据此定义,判别某数m是否为素数最简单的方法就是依次用i=2m-1去除,只要有一个数能整除m,m就不是素数;否则m是素数。,要求一定范围内的素数,只要将m作为外循环体变量。,本章目录,安徽工业大学计算机学院,107,4.4.2 退出和结束语句,1.Exit语句 VB中有多种形式的Exit语句,用于退出某种控制结构的执行。Exit的形式如下: Exit For、Exit Do、 Exit Sub、Exit Function 2.End语句 独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。,本章目录,安徽工业大学计算机学院,108,4.5 综合应用,例4.16 由计算机自动产生四则运算题,并能判断答案的正确性。 设计思路: (1)通过随机函数Rnd产生试题的操作数和运算符,运算符+、-、可对应编号14。产生表达式通过Form_Load事件过程。 (2)需要有一个全局变量保存四则运算题的正确答案,用户答案可通过文本框输入。 (3)本题主要将随机函数、If语句、Select语句综合在一起使用。,本章目录,安徽工业大学计算机学院,109,综合应用-最大公约数,例4.17用辗转相除法求两自然数的最大公约数。 求最大公约数的算法思想: (1)对于两数m,n,使得mn (2) m除以n得余数r,例 m=14 ,n=6 的最大公约数 If m 0) m=n n=r r= m mod n Loop MsgBox “最大公约数=” & n,辗转相减法 m=m-n mn n=n-m nm m、n为公约数 m=n Do While m n m n If m n Then 14 6 m = m n 8 6 Else 2 6 n = n m 2 4 End If 2 2 Loop,(3)若r=0,则n为最大公约数,结束;否则执行(4) (4)mn,nr,再重复执行(2),本章目录,安徽工业大学计算机学院,110,综合应用-级数求和,例4.18求自然对数e的近似值,其误差小于0.00001。,近似公式,分析:本例涉及到程序设计中两个重要运算:累加和连乘i!。累加是在原有和的基础上再加一个数;连乘则是在原有积的基础上再乘以一个数。 该题先求i!,再将1/i!进行累加,循环次数未知,可先设置一个次数很大的值,然后在循环体内判断是否到达精度,也可用Do While来实现。,本章目录,安徽工业大学计算机学院,111,综合应用-试凑法,例4.19 百元买百鸡。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。 分析: (1) 设母鸡、公鸡、小鸡各为x、y、z,列出方程为: x+y+z= 100 3x+2y+0.5z = 100 三个未知数,两个方程,此题求若干个整数解。 (2) 计算机求解此类问题,采用试凑法(也称穷举法)来实现,即将可能出现的各种情况一一罗列测试,判断是否满足条件,采用循环结构来实现。,本章目录,安徽工业大学计算机学院,112,综合应用-递推法,递推(迭代)法基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次都从旧值的基础上递推出新值,并由新值代替旧值。 例4.20 小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少? 分析:用后一天的数推出前一天的桃子数。设第n天的桃子为xn,是前一天的桃子的二分之一减去1。,迭代法类似的应用求高次方程的近似根。,本章目录,安徽工业大学计算机学院,113,4.6 程序调试,随着程序的复杂性提高,程序中的错误也伴随而来。对初学者,看到出现错误不要害怕,关键是如何改正错误,失败是成功之母。上机的目的,不光是为了验证你编写的程序的正确性,还要通过上机调试,学会查找和纠正错误的方法和能力。VB为调试程序提供了一组交互的、有效的调试工具,在此逐一介绍。,本章目录,安徽工业大学计算机学院,114,4.6.1 错误类型,语法错误、运行时错误和逻辑错误三类。 语法错误,本章目录,安徽工业大学计算机学院,115,运行错误,指令代码执行了一非法操作引起的。例如,类型不匹配、试图打开一个不存在的文件等。程序会自动中断,并给出有关的错误信息。,本章目录,安徽工业大学计算机学院,116,逻辑错误,程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序,并具有调试程序的经验。,本章目录,安徽工业大学计算机学院,117,4.6.2 调试和排错,VB的三种模式 (1) 设计模式(设计) 可以进行程序的界面设计、属性设置、代码

温馨提示

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

评论

0/150

提交评论