1、Visual Basic应用任务教程第第1章章 Visual Basic入门入门学习指导学习指导 本章向读者介绍本章向读者介绍VBVB的的集成开发环境、基本概集成开发环境、基本概念及基本操作、基本控念及基本操作、基本控件的使用,介绍构成件的使用,介绍构成VBVB程序的基本元素,包括程序的基本元素,包括数据类型、常量、变量、数据类型、常量、变量、函数、运算符和表达式函数、运算符和表达式等内容。等内容。【任务任务1】VB欢迎您u效果描述 编写如图所示的程序。程序运行后,单击“显示”按钮,在上面方框中显示“VB欢迎您!”,单击“退出”按钮,退出程序运行。【任务任务1】设置窗体背景设置窗体背景 u设计
2、分析 一、启动VB 安装VB系统后,单击“开始”按钮,选择“程序”菜单,选择“Microsoft Visual Basic 6.0中文版。二、开发环境 VB6.0工作环境是一个集成开发环境,即程序设计、编辑、运行和调试等功能一体的开发环境,除了Microsoft应用软件常规的标题栏、菜单栏、工具栏外,还包括VB6.0的几个独立窗口。【任务任务1】设置窗体背景设置窗体背景 1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【任务任务1】VB欢迎您u知识链接一、程序设计的基本步骤 通过前面简单应用程序的设计过程可以总结出,
3、建立一个应用程序分为以下几步骤:(1)设计应用程序界面(2)设置对象属性(3)编写程序代码(4)运行和调试应用程序(5)保存和编译应用程序【任务任务1】VB欢迎您二、基本概念1对象:将反映对象的属性和行为封装在一起形成的实体。2类:具有相同属性的对象的集合,是创建对象实例的模板。对象由类创建,对象是类的一个实例。3.属性:用来表示对象的特征,一个人的年龄、身高、发型都是人的特征,即属性。在VB中每种对象有若干个属性,不同对象的属性类型和个数是不同的。属性有属性值,改变属性值就可以改变对象的特征。【任务任务1】VB欢迎您4 4事件:事件:VBVB中所指的中所指的“事件事件”是指系统事先设定的、是
4、指系统事先设定的、能为对象所识别和响应的动作。每一种对象所能识别能为对象所识别和响应的动作。每一种对象所能识别的事件是不同的。的事件是不同的。5 5方法:是方法:是VBVB提供的内置于对象的特殊子程序,每提供的内置于对象的特殊子程序,每个对象都可以有多个方法。个对象都可以有多个方法。对象名对象名.方法方法 参数名表参数名表 其中,若省略了对象名,表示为当前窗体。例如:其中,若省略了对象名,表示为当前窗体。例如:Form1.Print VBForm1.Print VB欢迎您欢迎您 或或 Print VBPrint VB欢迎您欢迎您 【任务任务1】VB欢迎您三、基本属性三、基本属性1.Name1.
5、Name属性属性 :用来识别窗体、控件等对象的名称。:用来识别窗体、控件等对象的名称。2.Caption2.Caption属性:表示对象的标题。属性:表示对象的标题。3.Height Width3.Height Width属性属性:高度和宽度。高度和宽度。4.Left Top4.Left Top属性属性:Left:Left属性指定对象左边缘到其容属性指定对象左边缘到其容器左边缘的距离,器左边缘的距离,TopTop属性指定对象上边缘到其容器上属性指定对象上边缘到其容器上边缘的距离。边缘的距离。5 5BackColor ForeColorBackColor ForeColor属性属性 BackCo
6、lor BackColor属性返回或设置对象的背景颜色。属性返回或设置对象的背景颜色。ForeColor ForeColor属性返回或设置对象里文本的颜色。属性返回或设置对象里文本的颜色。6 6EnabledEnabled属性属性 用来设置窗体或控件能否接受用户事件用来设置窗体或控件能否接受用户事件 7 7Visible Visible 属性属性 Visible Visible属性指定对象是否可见属性指定对象是否可见 8 8FontFont属性属性 Font Font属性是一个属性组合,其中包含了字体、大属性是一个属性组合,其中包含了字体、大小、字体样式等属性成员。小、字体样式等属性成员。【任
7、务任务2】变化的窗体变化的窗体u效果描述 程序运行后,窗体背景颜色变为红色,单击“变大”按钮,窗体就变大,单击“变小”按钮,窗体就变小。窗体在运行时背景加载为红色,就要在窗体的装载Load事件过程中,通过程序代码的方式改变窗体的背景颜色,Load事件在窗体装入内存时发生。单击命令窗体变大和变小,就要在命令按钮的单击事件中改变窗体的Height和Width属性值。u设计分析【任务任务2】变化的窗体变化的窗体1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【任务任务2】变化的窗体变化的窗体一、窗体的属性(1)Border
8、Style属性:设置窗体的边框样式.(2)Picture属性:设置窗体中要显示的图片。(3)MaxButton和MinButton属性:指明是否显示最大化按钮和最小化按钮。(4)ControlBox属性:设置窗体标题栏中是否有控制菜单,默认值为True。(5)Icon属性:设置窗体控制菜单图标。(6)WindowState属性:设置窗体窗口运行时的状态(最大、还原或最小)。u知识链接【任务任务2】变化的窗体变化的窗体二、窗体的事件(1)Click事件:鼠标单击事件,在窗体内无控件处单击鼠标左健时发生。(2)DblClick事件:鼠标双击事件,在窗体内无控件处双击鼠标左健时发生。(3)Initi
9、alize事件:初始化事件,是建立窗体时首先触发的事件,先于Load事件。(4)Load事件:装载事件,把窗体装入内存时发生,此事件在Initialize之后发生。(5)Activate事件:当窗体成为活动窗口时触发该事件,此事件在Load之后发生。(6)Unload事件:卸载事件,关闭窗体时触发该事件。【任务任务3】窗体的切换窗体的切换 u效果描述 每个窗体的背景均为一幅图片,每个窗体上各有1个标签。单击第1个窗体的标签,切换到第2个窗体,单击第2个窗体的标签,又切换到第1个窗体。【任务任务3】窗体的切换窗体的切换 u设计分析 窗体的背景图片可以通过窗体Picture属性设置。单击窗体上的标
10、签,进行窗体间的切换,需要用到窗体的两个方法Hide和Show,其中Hide用于隐藏窗体,Show用于显示窗体。1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【任务任务3】窗体的切换窗体的切换【任务任务3】窗体的切换窗体的切换 u知识链接一、多窗体设计1建立多窗体。2设置启动窗体。二、窗体的方法(1)Hide方法:隐藏窗体,但不卸载。(2)Show方法:显示窗体。(3)Print方法:在窗体上输出文本或数据。(4)Cls方法:清除运行时窗体上(或图形框)的文本或图形。(5)Move方法:用于移动窗体或对象,并可改变
11、其大小。【任务任务4】对象的隐藏与失效对象的隐藏与失效 窗体上有2个标签、3个命令按钮,当单击“显示文本1”命令按钮时,显示上面文字,下面的文字隐藏,“显示文本1”按钮失效;当单击“显示文本2”命令按钮时,显示下面的文字,上面的文字隐藏,“显示文本2”按钮失效,“显示文本1”按钮可用。u效果描述 本程序中,标签上文字的显示或隐藏,通过标签控件的Visible属性实现,Visible属性用来指定对象是否可见。命令按钮的失效与恢复,通过命令按钮控件的Enabled属性实现,Enabled属性用来设置对象是否有效。u设计分析【任务4】对象的隐藏与失效1创建界面创建界面 按题目要求创建界面按题目要求创
12、建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【任务任务4】对象的隐藏与失效对象的隐藏与失效一、标签控件(1)BackStyle属性:设置标签背景是否透明。0-Transparent背景透明 1-Opaque(默认值)背景不透明。(2)BorderStyle属性:设置标签边框样式。0-None无边框(默认)1 Fixed Single有固定边框。(3)Alignment属性:设置标题文本的对齐方式。0 Left Justify(默认值)左对齐 1 Right Justify右对齐 2-Center居中。u知识链接【任务任务4】对象的隐藏与失效对象的隐藏与失效(4)
13、AutoSize属性:自动调整标签的宽度,使之适合标题文本的宽度。默认为False。2标签的事件 (1)Click事件:单击鼠标左键时发生。(2)DblClick事件:双击鼠标左键时发生。二、命令按钮控件1命令按钮的属性 (1)Default属性:指定命令按钮为窗体内的“默认”按钮。其默认值为False。当Default=True时,即使焦点不在命令按钮上,按回车键也可触发其Click事件。【任务任务4】对象的隐藏与失效对象的隐藏与失效(2)Cancel属性:指定命令按钮为窗体内的“取消”按钮。其默认值为False。当Cancel=True时,即使焦点不在命令按钮上,按Esc键也可触发其Cli
14、ck事件。(3)ToolTipText属性:鼠标指向命令按钮时,允许显示一个提示框,该属性值是提示框的字符串。(4)Caption属性:Caption属性用来设置命令按钮的显示标题。如果给命令按钮定义快捷键,只需在作为快捷键的字母前加一个连字符“&”。2命令按钮的事件(1)Click事件:单击鼠标左键时发生。【任务任务5】系统登录系统登录u效果描述 创建一个登录程序,包括2个窗体,输入用户名和密码,单击“确定”按钮,若用户名及密码都正确则进入“学生信息管理系统”窗体,否则可以清除文本框内容。u设计分析 本例是一个简单的登录程序,在两个文本框中分别输入用户名和密码。输入密码时,要使文本框显示“*
15、”,就要将输入密码的文本框的PasswordChar属性设置为“*”。单击“确定”按钮时要判断用户名和密码是否正确,单击“取消”按钮时,要清除文本框,使光标定位于文本框中。在“取消”按钮的单击事件过程中设置文本框的Text属性为空,并使用文本框的SetFocus方法将光标放置在文本框。u完成步骤1 1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u知识链接一、文本框的属性(1)Text属性:显示的文本内容。(2)PasswordChar属性:密码替换符。(3)MultiLine属性:设置是否允许存放多行文本。(4)Scroll
16、Bars属性:设置文本框内是否有滚动条。(5)MaxLength属性:设置文本框内文本的最大长度(字符数)。默认值为0。(6)SelText属性:返回文本框内被选定的文本。(7)SelStart属性:返回选定文本的开始位置。(8)SelLength属性:选定文本的长度,单位为字符。二、对象的焦点二、对象的焦点 焦点是对象接受鼠标和键盘输入的能力。当某一个控焦点是对象接受鼠标和键盘输入的能力。当某一个控件或窗体具有焦点时,它们就可以接受用户的输入。件或窗体具有焦点时,它们就可以接受用户的输入。1 1设置焦点设置焦点SetFocusSetFocus方法:用于设置焦点方法:用于设置焦点 2 2焦点事
17、件焦点事件(1)GotFocus(1)GotFocus 事件:当对象接受到焦点时发生该事件。事件:当对象接受到焦点时发生该事件。(2)LostFocus(2)LostFocus事件:事件:当对象失去了焦点时发生该事当对象失去了焦点时发生该事件。件。LostFocusLostFocus事件过程主要用于更新输入内容,或事件过程主要用于更新输入内容,或对对GotFocusGotFocus事件过程建立的内容进行检查修改。事件过程建立的内容进行检查修改。【任务任务6】文本同步变化文本同步变化u效果描述 窗体上有1个标签控件和2个文本框控件,并且2个文本框都有水平和垂直滚动条,当程序运行时,用户在第一个文
18、本框内输入文字时,在第二个文本框内同步显示相同的内容。u设计分析 本例中要使文本框有水平和垂直滚动条,首先本例中要使文本框有水平和垂直滚动条,首先要设置文本框可以接收多行文本,将文本框的要设置文本框可以接收多行文本,将文本框的MultiLineMultiLine属性设置为属性设置为TrueTrue,然后才能设置添加滚,然后才能设置添加滚动条的属性动条的属性ScrollBarsScrollBars,将,将ScrollBarsScrollBars属性设置属性设置为为3-Both3-Both,同时有水平和垂直滚动条。,同时有水平和垂直滚动条。文本框有一个重要的事件文本框有一个重要的事件ChangeC
19、hange,当文本框内,当文本框内容发生变化时发生。本例中用户在第一个文本框容发生变化时发生。本例中用户在第一个文本框内每输入一个文字,都将触发一次内每输入一个文字,都将触发一次ChangeChange事件,事件,要在第二个文本框内显示相同的内容,就要在第要在第二个文本框内显示相同的内容,就要在第一个文本框的一个文本框的ChangeChange事件中编写代码将第一个文事件中编写代码将第一个文本框的内容送入第二个文本框。本框的内容送入第二个文本框。1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤u知识链接文本框的事件(
20、1)Change事件:改变文本框内容时发生。(2)KeyPress事件:当用户从键盘上敲入一个字符时触发该事件,并返回一个KeyAscii参数到该事件中,KeyAscii参数的值是字符键的ASCII码值。例如,当用户输入“A”,返回KeyAscii的值是65。用户每输入一个字符,引发一次KeyPress事件。最常用的是对回车键(KeyAscii的值是13)的判断,表示文本的结束。【应用提高应用提高1】趣味文本趣味文本u效果描述 窗体上单击“字体变化”按钮后,文本框中文字的大小、字体、风格会发生变化;单击“文字颜色”按钮后,文本框中文字颜色会变化;单击“背景颜色”按钮后,文本框中的背景颜色会变化
21、;单击“设置密码”命令按钮后,文本框变为密码形式,其中的文字变为“*”符号;单击“退出”按钮可退出程序运行。u设计分析 本程序比较简单,在每个命令按钮的单击事件本程序比较简单,在每个命令按钮的单击事件中设置文本框的相关属性即可完成对文本框的相中设置文本框的相关属性即可完成对文本框的相关设置。关设置。1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【应用提高应用提高1】趣味文本趣味文本【任务任务7】求圆的周长和面积求圆的周长和面积u效果描述 编写一个程序“求圆的周长和面积”,在文本框中输入圆的半径,单击“计算”命令按钮
22、求圆的周长和面积。u设计分析 在文本框中输入圆的半径后,单击在文本框中输入圆的半径后,单击“计算计算”按按钮利用数学公式就可求出圆的周长和面积,将结钮利用数学公式就可求出圆的周长和面积,将结果在标签上输出。果在标签上输出。在计算的过程中要用到多种数据类型,圆的半在计算的过程中要用到多种数据类型,圆的半径是整型;计算出的周长和面积是实数;计算出径是整型;计算出的周长和面积是实数;计算出的结果存储在字符串中;以便于输出,计算中还的结果存储在字符串中;以便于输出,计算中还要用到常量要用到常量3.141593.14159。为了完成计算,要定义多个变量,用到变量定为了完成计算,要定义多个变量,用到变量定
23、义语句义语句DimDim。u完成步骤1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u知识链接一、数据类型数据的表示和存储形式(1)整数类型 Integer,Long(2)浮点类型 Single(单精度浮点型)Double(双精度浮点型)(3)字符串数据类型 string(4)逻辑型 Boolean(5)日期型 Date(6)变体型(Variant)二、常量VB中有三种常量:直接常量、符号常量、系统常量。1直接常量前面介绍的数据类型,其常量值直接反映了其类型。2符号常量 Public|PrivateConst 常量名 As t
24、ype=表达式说明:(1)声明的类型部分(As type)是可选的,省略时,类型由赋予的值确定。(2)常量名其定义规则遵循标识符的命名规则。(3)表达式作为常量值,可以是直接的数值,也可以是由数字和字符串常量运算符组合成的简单表达式。3系统常量由系统定义的、可直接使用的常量。例如:vbBlack 颜色常量,其值为0 x0,代表黑色。三、变量1.变量的声明显示声明:Dim 变量名 As type可在同一个Dim语句中声明多个变量,各变量之间用逗号隔开,但必须指定每个变量的数据类型。例如,Dim a As Integer,b As Integer隐式声明:变量不进行声明而直接使用。所有隐式声明的变
25、量都是Variant型的。a=3 b=5.8 2 2变量的作用域变量的作用域一个变量被定义后并不是在任何地方都能被引用的,一个变量被定义后并不是在任何地方都能被引用的,每一个变量都有它的作用域。每一个变量都有它的作用域。(1)(1)过程级变量:只有在声明他的过程中才能被识别过程级变量:只有在声明他的过程中才能被识别的变量,也称局部变量。局部变量用的变量,也称局部变量。局部变量用DimDim或或StaticStatic关键关键字来声明。字来声明。(2)(2)模块级变量:在模块的模块级变量:在模块的“通用通用”声明段中用声明段中用PrivatePrivate关键字声明的变量,其作用范围是该模块中的
26、关键字声明的变量,其作用范围是该模块中的所有过程。所有过程。(3)(3)全局变量:在模块的声明段中用全局变量:在模块的声明段中用PublicPublic关键字声关键字声明的变量,其作用范围是应用程序中的所有过程。即在明的变量,其作用范围是应用程序中的所有过程。即在整个应用程序中有效,全局变量也称为公用变量。整个应用程序中有效,全局变量也称为公用变量。【任务任务8】计算随机算术题计算随机算术题u效果描述 单击“随机数”按钮,在左边的两个文本框中随机产生2个100以内正整数,单击相应的运算符按钮,则会在第3个文本框中输出计算结果,单击“退出”按钮结束程序运行。本例中要随机产生本例中要随机产生100
27、100以内正整数,要用到以内正整数,要用到VBVB系系统提供的两个数学函数统提供的两个数学函数Rnd(x)Rnd(x)和和Int(x)Int(x)。Rnd(x)Rnd(x)函数用于产生函数用于产生0 01 1之间的随机数之间的随机数,Int(x)Int(x)函数返回不超过函数返回不超过x x的最大整数。的最大整数。这里首先要用这里首先要用Rnd(x)Rnd(x)产生产生(0,1)(0,1)区间的随机数,区间的随机数,再乘以再乘以100100,扩大,扩大100100倍,就是倍,就是(0,100)(0,100)区间的随机数,区间的随机数,然后再用然后再用IntInt函数取整,即表达式函数取整,即表
28、达式Int(Rnd()Int(Rnd()*100)100)就可以产生就可以产生100100以内的正整数。以内的正整数。u设计分析【任务任务8】计算随机算术题计算随机算术题1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【任务任务8】计算随机算术题计算随机算术题u知识链接一、常用内部函数【任务任务8】计算随机算术题计算随机算术题函数名函数名功功 能能举举 例例Int(x)返回不超过返回不超过x的最大整数的最大整数Int(2.6)=2Int(-4.2)=-5Abs(x)取取x的绝对值的绝对值Abs(5)=5Abs(-5)
29、=5Sqr(x)返回返回x的算术平方根值的算术平方根值Sqr(4)=2Rnd(x)得到得到01之间的单精度随机数之间的单精度随机数 参见说明参见说明Exp(x)返回返回e的的x次方,即次方,即exExp(3)=20.086表表1-2常用的常用的数学数学函函数数2字符串处理函数 【任务任务8】计算随机算术题计算随机算术题函数名函数名功功 能能举举 例例Left$(x,n)取取x左边的左边的n个字符个字符Left$(abcd,2)=abRight$(x,n)取取x右边的右边的n个字符个字符Right$(abcd,2)=cdMid$(x,m,n)取取x中从第中从第m个字符开始的个字符开始的n个字个字
30、符符Mid$(abcd,2,2)=bcUcase$(x)把把x中的字母都转换为大写中的字母都转换为大写Ucase$(aBcD)=ABCDLcase$(x)把把x中的字母都转换为小写中的字母都转换为小写Lcase$(aBcD)=abcdVal(x)返回在返回在x中包含的数值中包含的数值Val(1.56abc)=1.56Trim$(x)去掉去掉x左端和右端的空格部分左端和右端的空格部分Trim$(abc )=abc3日期时间函数 【任务任务8】计算随机算术题计算随机算术题函数名函数名功功 能能举举 例例Now返回系统当前日期和时间返回系统当前日期和时间Print now显示显示2010-09-20
31、 20:35:14Date返回系统的当前日期返回系统的当前日期Print Date 显示显示Year(x)返回相应的年份返回相应的年份Print Year(now)显示显示2010Month(x)返回相应的月份返回相应的月份(112)12)Print Month(now)显示显示9Day(x)返回相应的日期返回相应的日期(131)31)Day(2010,9,20)=20Weekday(x)返回相应的星期返回相应的星期(17)7)Weekday(2010,9,20)=3Hour(x)返回小时数返回小时数(023)23)Hour()=10Minute(x)返回分钟数返回分钟数(059)59)Min
32、ute()=30Second(x)返回秒数返回秒数(059)59)Second()=154其他函数 【任务任务8】计算随机算术题计算随机算术题函数名函数名功功 能能举举 例例RGB(r,g,b)得到由红、绿、蓝三原色得到由红、绿、蓝三原色组合后的颜色值组合后的颜色值RGB(0,0,0)为黑为黑色色Qbcolor(n)得到按得到按Qbasic方式设置的方式设置的颜色值,颜色值,n为颜色号,取为颜色号,取值范围为:值范围为:015Qbcolor(0)为黑色为黑色LoadPicture(fn$)为窗体、图片框或图像框为窗体、图片框或图像框控件装载图像,控件装载图像,fn$为图像为图像文件名文件名参见
33、说明参见说明Len(x)得到变量得到变量x的长度的长度(存储变存储变量量x所需字节数所需字节数)设设x为双精度实型为双精度实型Len(x)=8)=8二、运算符与表达式VB的运算符有算术运算符、连接运算符、关系运算符和逻辑运算符。表达式按其所含运算符和运算对象的不同,可分为算术表达式、字符串表达式、关系表达式和逻辑表达式等。1算术运算符和算术表达式(1)整除运算()结果是商的整数部分。(2)求余运算(Mod)结果是两数相除后的余数。(3)利用算术运算符“+、-”也可以进行日期型数据的运算,日期型数据之间只能进行加、减运算。2字符串运算符和字符串表达式将两个或多个字符串连接起来可以用字符串连接运算
34、符“&”或“+”,生成一个新的字符串。【任务任务8】计算随机算术题计算随机算术题表表1-2常用的常用的数学数学函函数数3关系运算符和关系表达式关系运算符又称为比较运算符,用来对两个操作数进行大小比较,比较的结果是一个逻辑值,若关系成立,则返回真(True),否则返回假(False)。4逻辑运算符和逻辑表达式逻辑运算符是用来对两个操作数进行逻辑运算。【任务任务8】计算随机算术题计算随机算术题表表1-2常用的常用的数学数学函函数数运算符运算符含含 义义运运 算算 规规 则则And逻辑与逻辑与两个操作数均为真时,结果为真两个操作数均为真时,结果为真有一个操作数为假时,结果为假有一个操作数为假时,结果
35、为假Or逻辑或逻辑或两个操作数均为假时,结果为假两个操作数均为假时,结果为假有一个操作数为真时,结果为真有一个操作数为真时,结果为真Not逻辑非逻辑非当操作数为假时,结果为真当操作数为假时,结果为真当操作数为真时,结果为假当操作数为真时,结果为假当操作数为真时,结果为假当操作数为真时,结果为假5各种运算符的优先级比较(1)对每一级运算按相应运算符的运算次序进行。(2)所有同一级运算符都是从左到右进行的。(3)括号内的运算符优先执行,有多层括号时,从里向外逐层展开计算。(4)算术运算符的优先次序由高到低依次为:(乘方)-(取负)*(乘)、/(除)(整除)Mod(求余)+(加)、-(减)。(5)关
36、系运算符的优先次序由高到低依次为:(大于)、=(大于等于)、=(小于等于)=(等于)、(不等于)。(6)逻辑运算符的优先次序由高到低依次为:Not(非)And(与)Or(或)【任务任务8】计算随机算术题计算随机算术题表表1-2常用的常用的数学数学函函数数【应用提高应用提高2】计算时间间隔计算时间间隔u效果描述 编写程序编写程序“计算时间间隔计算时间间隔”。程序运行后,用户在。程序运行后,用户在文本框中输入年、月、日,单击文本框中输入年、月、日,单击“计算计算”按钮,显示系按钮,显示系统当前日期与用户输入日期相差的天数。统当前日期与用户输入日期相差的天数。u设计分析 本程序需使用本程序需使用Da
37、teDiffDateDiff()函数来计算两个日期相()函数来计算两个日期相隔的天数。隔的天数。由于用户输入到文本框中的年、月、日是字符类型由于用户输入到文本框中的年、月、日是字符类型的,将三个文本框中的年、月、日连接后,需使用的,将三个文本框中的年、月、日连接后,需使用CDate()CDate()函数将字符类型数据转换成日期类型,才能函数将字符类型数据转换成日期类型,才能使用使用DateDiffDateDiff()函数来计算两个日期相隔的天数,()函数来计算两个日期相隔的天数,计算出的天数是数值类型的,输出时再使用计算出的天数是数值类型的,输出时再使用Str()Str()函数函数将数值转换为
38、字符类型。将数值转换为字符类型。【应用提高应用提高2】计算时间间隔计算时间间隔1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【应用提高应用提高2】计算时间间隔计算时间间隔u知识链接一、常用语句1赋值语句Let 格式:Let|=功能:将表达式的值赋给变量或对象属性。2注释语句Rem格式:或 Rem 功能:在程序的适当位置加注释。3结束语句End格式:End功能:结束程序运行。【应用提高应用提高2】计算时间间隔计算时间间隔二、编码规则(1)用回车键作为语句的结束符。(2)语句输入时不区分字母的大小写。(3)为增加程序的
39、可读性。(4)当一行中输入多条语句时,需用“:”作为语句分隔符。(5)单引号“”后面的内容为注释,可放在一行语句的最后,或单独占据一行。注释是一些说明性的文本,VB在编译程序时会自动跳过注释行,其本身并不执行。【应用提高应用提高2】计算时间间隔计算时间间隔三、标识符命名规则标识符是程序代码中变量、常量、数据类型、过程、函数、类、以及其它对象定义的名字。利用标识符可以完成对变量、常量、数据类型、过程、函数、类的引用。VB6.0中标识符的命名规则如下:(1)标识符由字母(AZ,az)、数字(09)或下划线组成,第一个字符必须是字母(AZ,az)。(2)标识符的长度不能超过255个字符。其中,窗体、
40、控件和模块的标识符长度不能超过40个字符。(3)自定义的标识符不能和VB中的运算符、语句、函数和过程名等关键字同名。(4)最好能做到“见名知义”。【应用提高应用提高2】计算时间间隔计算时间间隔第第2章章Visual Basic程序控程序控制结构制结构 学习指导学习指导 如同其他程序设计语如同其他程序设计语言一样,言一样,VB的程序也有三的程序也有三种基本结构:顺序结构、种基本结构:顺序结构、选择结构和循环结构,本选择结构和循环结构,本章介绍与三种基本结构有章介绍与三种基本结构有关的语句和方法。关的语句和方法。【任务任务1】录入学生信息录入学生信息 u效果描述 设计程序“录入学生信息”,用如图所
41、示的对话框输入学生的姓名、年龄、性别、籍贯,并在窗体上显示输入的信息。【任务任务1】录入学生信息录入学生信息 u设计分析 要产生如图所示的输入对话框,就要用到数据输入工具InputBox 函数。InputBox函数是VB提供的一种输入方法,它通过对话框的形式来进行数据的输入,每次只能输入一个数据。本程序要在窗体上显示输入的信息,这就需要用到输出方法Print,Print方法的作用是在对象上输出信息。【任务任务1】录入学生信息录入学生信息 1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【任务任务1】录入学生信息录入学
42、生信息 u知识链接本程序中用到了InputBox函数及和Print方法。一、InputBox函数InputBox函数产生一个对话框,这个对话框作为输入数据的界面,等待用户输入文本或选择一个按钮,当用户单击“确定”按钮或按Enter键时,函数返回对话框中所输入的内容。格式:InputBox(提示信息,标题,缺省值,横坐标,纵坐标)【任务任务1】录入学生信息录入学生信息 功能:产生一个对话框,让用户从键盘输入内容,当用户单击“确定”按钮或按回车键时,函数返回输入的数据,若单击“取消”按钮,则返回一个零长度的字符串。二、二、Print方法方法该方法常用于在窗体、图片框或打印机上输出文本信该方法常用于
43、在窗体、图片框或打印机上输出文本信息或表达式的值。息或表达式的值。格式:格式:对象名对象名.Print 表达式表表达式表,|;【任务任务2】输出问候语输出问候语u效果描述 设计程序“输出问候语”,用户通过输入框函数InputBox输入姓名,并单击“确定”按钮后,则以如图所示的对话框显示一段问候信息。【任务任务2】输出问候语输出问候语u设计分析 本程序中要以图所示的对话框形式输出信息,这就要用到消息框函数Msgbox。Msgbox函数以对话框的形式来输出信息,在这个对话框中,还可以有多种图标和多个按钮,用户可以根据对话框的提示,选择相应的按钮来进行相应的处理。【任务任务2】输出问候语输出问候语u
44、完成步骤1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码【任务任务2】输出问候语输出问候语 本程序中用到两种对话框,一个是输入框函数本程序中用到两种对话框,一个是输入框函数InputBox,另一个是消息框函数,另一个是消息框函数MsgBox。前者已阐述。前者已阐述过,这里就不重复了。后者可以向用户传送信息,并可过,这里就不重复了。后者可以向用户传送信息,并可以通过用户在对话框上的选择识别用户所作的响应,作以通过用户在对话框上的选择识别用户所作的响应,作为程序继续执行的依据。为程序继续执行的依据。u知识链接【任务任务2】输出问候
45、语输出问候语MsgBox函数格式:MsgBox(提示信息,按钮,标题,横坐标,纵坐标)功能:产生一个对话框,在对话框中显示提示信息,等待用户单击按钮,并返回一个反映用户所选按钮的数据值。说明:说明:(1)“(1)“提示信息提示信息”是必要参数,同是必要参数,同InputBoxInputBox函数。函数。(2)“(2)“按钮按钮”为可选参数,指定显示的按钮类型、使为可选参数,指定显示的按钮类型、使用的图标样式、默认按钮等。按钮参数设置见表用的图标样式、默认按钮等。按钮参数设置见表2-12-1、表、表2-22-2、表、表2-32-3。如果省略,则。如果省略,则“按钮按钮”参参数的缺省值为数的缺省值
46、为0 0。不同分组的取值可以用。不同分组的取值可以用“+”+”或或“or”or”运算符连接起来使用。运算符连接起来使用。【任务任务2】输出问候语输出问候语【应用提高应用提高1】时间转换时间转换 设计程序“时间转换”。单击窗体时用输入框函数输入小时、分和秒,把它转化成秒数并输出,运行界面如图所示。u效果描述【应用提高应用提高1】时间转换时间转换 本程序是对输入的数据进行计算,数据是由输入对话框输入,这里需将输入对话框内输入的内容转换成数值才能进行计算,计算公式为:1小时=60*60秒,1分钟=60秒,计算结果由消息对话框输出。u设计分析【应用提高应用提高1】时间转换时间转换1 1创建界面创建界面
47、 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【应用提高应用提高2】求一元二次方程求一元二次方程的根的根设计程序设计程序“求一元二次方程求一元二次方程ax2+bx+c=0ax2+bx+c=0的根的根”。单。单击窗体上的按钮,输入击窗体上的按钮,输入a,b,ca,b,c的值,求出一元二的值,求出一元二次方程的解,运行界面如图所示。次方程的解,运行界面如图所示。u效果描述【应用提高应用提高2】求一元二次方程求一元二次方程的根的根 本程序是对一元二次方程求解,方程系数是本程序是对一元二次方程求解,方程系数是由输入对话框输入,求解之前先判断
48、方程的解的由输入对话框输入,求解之前先判断方程的解的情况,如果有解,计算公式为:情况,如果有解,计算公式为:x1=(-b+Sqr(d)/(2 x1=(-b+Sqr(d)/(2*a);a);x2=(-b-Sqr(d)/(2 x2=(-b-Sqr(d)/(2*a)a),如果方程有唯,如果方程有唯一解,计算公式为:一解,计算公式为:x=(-b)/(2 x=(-b)/(2*a)a),计算结果由消息对话框输,计算结果由消息对话框输出。出。u设计分析 1 1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码u完成步骤【应用提高应用提高2】求一
49、元二次方程求一元二次方程的根的根【任务任务3】求较大数求较大数 u效果描述 设计程序“求较大数”。在如图所示运行界面输入二个数,求其中较大数。【任务任务3】求较大数求较大数 u设计分析 本程序是对两个文本框中的数据进行大小比较,首先要将文本框中输入的内容转换成数值类型,使用Val函数进行类型转换,然后用选择结构的条件语句IfThen 语句进行判断比较大小,并将判断的结果显示到第三个文本框中。【任务任务3】求较大数求较大数 u完成步骤1 1创建界面创建界面 按题目要求创建界面按题目要求创建界面2 2过程代码过程代码 编写并输入过程代码编写并输入过程代码【任务任务3】求较大数求较大数 u知识链接单
50、分支选择结构单分支选择结构格式格式1 1(单行格式):(单行格式):If If Then Then 1 格式格式2 2(多行格式):(多行格式):If If Then Then 1 End ifEnd if功能:判断条件表达式,当条件成立(为真)时,功能:判断条件表达式,当条件成立(为真)时,执行执行ThenThen后面的语句序列后面的语句序列1 1,否则,执行,否则,执行IfIf语句的语句的下一条语句。下一条语句。【任务任务4】计算运费计算运费 u效果描述 设计程序“计算运费”。火车站托运行李时,需要根据行李的重量按不同的标准进行收费。由输入对话框输入行李的重量weight(千克),计算出托