资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/10/3,#,第3章,简单VB程序设计,第1页,窗 体,3.1,命令按钮,3.2,标 签,3.3,文本框,3.4,赋值语句,3.5,第2页,注释语句、结束语句,3.9,程序调试,3.10,消息框,3.8,输入框,3.7,Print方法,3.6,第3页,VB应用程序执行是由事件驱动,当用户触发某一事件时执行对应事件过程,这些事件过程之间并没有特定执行次序。,第4页,但在每一个事件过程内部,是有一定执行控制流程,这就是通常所说三种基本结构:次序结构、分支结构、循环结构。次序结构是最简单一个结构,该结构按语句排列先后次序执行。,第5页,本章主要内容有:VB最基本几个对象;与次序结构相关语句和方法。经过本章学习,能够进行简单VB程序设计。,第6页,3.1 窗体,创建VB应用程序第一步是创建用户界面。用户界面基础是窗体,各种控件对象必须建立在窗体上。开启VB后,即在屏幕上显示一个窗体,如图3-1所表示。,第7页,图标,标题,最大化按钮,最小化按钮,关闭按钮,窗口区,边框,图3-1 窗体,第8页,3.1.1 窗体主要属性,窗体属性决定了窗体外观和操作。对象大部分属性可用两种方法来设置:经过属性窗口设置和经过程序代码设置。有少许属性不能在程序代码中设置。,第9页,(1)Caption 属性,设置窗体标题内容。标题内容应概括说明本窗体作用。,(2)MaxButton 属性和 MinButton 属性,MaxButton为True,窗体右上角有最大化按钮;为False时,无最大化按钮。,MinButton 属性为True,窗体右上角有最小化按钮;为False时,无最小化按钮。,第10页,(3)BorderStyle 属性,决定窗体边框式样及窗体是否能调整大小。,(4)BackColor属性和ForeColor 属性,BackColor属性设置窗体背景颜色;ForColor 属性设置窗体前景颜色。窗体前景颜色是执行Print方法时所显示文本颜色。,第11页,(5)Height属性和Width属性,设置窗体初始高度和宽度。其单位为Twip。1Twip=1/20点=1/1440英寸=1/567厘米。,第12页,(6)Left属性和Top属性,用于设置窗体左边框距屏幕左边界距离和窗体顶边距屏幕顶端距离。其单位为Twip。,第13页,(7)Name(名称)属性,设置窗体名称,在程序代码中用这个名称引用该窗体。新建工程时,窗体名称缺省为 Form1;添加第二个窗体,其名称缺省为 Form2,以这类推。为了便于识别,用户通常给 Name 属性设置一个有实际意义名称。,第14页,(8)Enabled属性,属性值为True或False,设置对象是否能够对用户产生事件做出反应。普通在程序中设置,用于暂时屏蔽对窗体或其它控件控制。,第15页,(9)Moveable属性,属性值为True或False,设置是否能够移动窗体。,第16页,(10)Visible属性,属性值为True或False,设置窗体是否被显示。用户可用该属性在程序代码中控制窗体隐现。,第17页,(11)Picture属性,设置在窗体中显示图片。单击Picture属性右边按钮,弹出“加载图片”对话框,用户可选择一个图片文件作为窗体背景图片。若在程序中设置该属性值,需要使用LoadPicture函数。,第18页,(12)WindowState属性,设置窗体开启后大小状态。它有三个可选值:,0-Normal:窗体大小由Height和Width属性决定。,1-Minimized:窗体最小化成图标。,2-Maximized:窗体最大化,充满整个屏幕。,第19页,在VB中,即使不一样对象有不一样属性集合,但有一些属性,如Name、Enabled、Visible、Height、Width、Left、Top等,其它控件也含有,且含有相同作用。在后续章节中,我们主要介绍各种控件惯用特殊属性。,第20页,3.1.2 事件,窗体最惯用事件有三种:Click(单击)、DbClick(双击)、Load(装入)。,第21页,(1)Click事件,程序运行后,单击窗体触发该事件。,(2)DbClick事件,程序运行后,双击窗体触发该事件。,第22页,(3)Load事件,Load事件是窗体被装入内存工作区时触发事件。假如这个事件过程存在,就马上执行它。Load事件过程通惯用于开启程序时对属性、变量初始化,装载数据等。,第23页,【例3.1】窗体上无最大化最小化按钮,程序运行后,在窗体上装入一幅图片作为背景;当单击窗体时,窗体变宽;当双击窗体时,则退出。程序运行界面如图3-2所表示。,第24页,(,a,),Load,事件,(,b,),Click,事件,图3-2 例3.1运行界面,第25页,属性设置如表3-1所表示。,对象,属性,设置,Form1,Caption,练习窗体事件,MaxButton,False,MinButton,False,表3-1 例3.1对象属性设置,第26页,事件过程以下:,Private Sub Form_Load()装入图片,Form1.Picture=LoadPicture(c:picChangcheng.wmf),End Sub,Private Sub Form_click()单击窗体,第27页,Form1.Width=Form1.Width+1000,End Sub,Private Sub Form_DblClick()双击窗体,End,End Sub,第28页,说明:上机时,可经过查找文件方法找一个图片文件,参考本例中格式代如即可。,第29页,3.2 命令按钮,在VB应用程序中,命令按钮是使用最多对象之一,常惯用它接收用户操作信息,触发对应事件过程,以实现指定功效。,第30页,3.2.1 属性,(1)Caption属性,设定命令按钮上显示文本。,(2)Default属性,该属性用于设置默认命令按钮。当Default属性设置为True时,按ENTER键相当于用鼠标单击了该按钮。,第31页,(3)Style 属性和Picture属性,命令按钮上除了能够显示文字外,还能够显示图形。,若要显示图形,首先应将Style 属性设置为1,然后在Picture属性中设置要显示图形文件。类似,若要设置命令按钮BackColor(背景色),也应将Style 属性设置为1。,第32页,Style 属性可设置为:,0-Standard:标准,命令按钮上不能显示图形。,1-Graphical:图形,命令按钮上能够显示图形,也能够显示文字。,第33页,(4)Value属性,该属性只能在程序运行期间引用或设置。True表示被按下,False(默认)表示未被按下。在代码中可经过设置Value属性为True,来触发命令按钮Click事件。比如,利用下面代码,可经过程序来选择命令按钮,并触发命令按钮Click事件。,Command2.Value=True,第34页,3.2.2 事件,最惯用事件是Click事件。,第35页,3.3 标签,标签(Label)主要用于显示不需要用户修改文本。所以,标签能够用来标示窗体及窗体上对象,如为文本框、列表框等添加描述性文字,或者作为窗体说明文字。,第36页,3.3.1 属性,(1)Caption属性,设置标签要显示内容。它是标签主要属性。,(2)BorderStyle属性,默认值为0,标签无边框;设置为1时,标签有立体边框。,第37页,(3)Autosize属性,该属性用于设置标签是否自动改变尺寸以适应其内容。设置为True时,伴随Caption内容改变,自动调整标签大小,而且不换行;设置为False时,标签保持设计时大小,这时假如内容太长,只能显示一部分。默认值为False。,第38页,(4)Alignment属性,确定标签中内容对齐方式,有三种可选值:,0-Left Juseify:默认值,左对齐。,1-Right Juseify:右对齐。,2-Center:居中对齐。,第39页,(5)BackStyle属性,该属性用于设置背景是否透明。默认值为1,不透明;设为0时,透明。所谓透明,是指无背景色。,第40页,3.3.2 事件,惯用Click,DbClick事件。,【例3.2】修改例3.1,在图片上加提醒信息“请单击图片”,程序其它功效不变。程序运行界面如图3-2所表示。,第41页,图3-3 例3.2运行界面,第42页,操作以下:,在窗体上添加一个标签,将其Caption属性设置为“请单击图片”,BackStyle属性设置为0(透明),程序代码不变。,第43页,3.4 文本框,文本框(TextBox)在窗体中为用户提供一个既能显示文本又能编辑文本区域,第44页,3.4.1 属性,(1)Text属性,设置文本框中显示内容。它是文本框最主要属性。,(2)Locked属性,设置文本框中内容是否可编辑。,默认值为False,表示可编辑,当设置为True时,不可编辑,此时文本框作用相当于标签。,第45页,(3)Maxlength属性,设置文本框中允许输入最大字符数。,假如输入字符数超出Maxlength设定数目后,系统将不接收超出部分字符,并发出嘟嘟声。该属性默认值为0,表示无限制。,第46页,(4)MultiLine属性,决定文本框是否允许接收多行文本。,若设置为True,文本框可接收多行文本,当输入文本超出文本框边界时,会自动换行。默认值为False,文本框中只能输入一行文本。,第47页,(5)PassWordChar属性,当MultiLine为False时,该属性可设置显示在文本框中替换符。,比如,PassWordChar设置为“*”,那么不论用户输入什么字符,文本框中显示只是“*”,但文本框接收还是用户实际输入字符。设置该属性主要用于输入口令。,第48页,(6)ScrollBars属性,决定文本框中是否有滚动条。,只有当MultiLine属性为True时,文本框才能加滚动条。,第49页,3.4.2 事件,文本框除支持Click,DbClick事件,惯用还有Change,LostFocus事件。,第50页,1.Change事件,当用户输入新内容,或程序对文本框Text属性重新赋值,从而改变文本框Text属性时触发该事件。,第51页,2.LostFocus事件,当用户按下键时光标离开文本框,或用鼠标选择其它对象时触发该事件,称为“失去焦点”事件。,焦点是对象接收用户鼠标或键盘输入能力。当对象含有焦点时,可接收用户输入。通惯用该事件过程对文本框中内容进行检验和确认。,第52页,3.4.3 方法,文本框最惯用方法是SetFocus,使用该方法可把光标移到指定文本框中,使之取得焦点。当使用多个文本框时,用该方法可把光标移到所需要文本框中。,其使用格式为:,对象.SetFocus,第53页,【例3.3】程序运行后,伴随用户输入,标签中同时显示出用户对文本框内容更新次数。运行效果如图3-4所表示。,第54页,图3-4 例3.3 运行效果,第55页,(1)界面设计,在窗体上建立一个文本框、一个标签。设置各对象属性,如表3-2所表示。,第56页,对象,属性,设置,Form1,Caption,文本框应用示例,Text1,text,空,MultiLine,True,Label1,Caption,空,BorderStyle,1,Alignment,2,Font,字体大小取二号,表3-2 例3.3对象属性设置,第57页,(2)编写事件过程以下:,Private Sub Text1_Change(),Static i%,i=i+1,Label1.Caption=i,End Sub,第58页,3.5 赋值语句,赋值语句是VB程序最惯用、最基本语句,它能为变量提供数据。另外,若要在程序代码中设置对象属性,也是使用赋值语句。,第59页,赋值语句有两种格式:,格式1:变量名=表示式,格式2:对象名.属性名=表示式,赋值语句作用是:首先计算“=”右边表示式值,然后将该值赋给“=”左边变量或对象属性。在格式2中,若对象名省略,则默认对象为当前窗体。,第60页,比如:,x=2 把2赋给x,y=x*3 计算x*3值,得6,把6赋给y,x=x+1 计算x+1值,得3,把3赋给x,a$=Hello 把“Hello”赋给a$,Text1.Text=你好!把“你好!”赋给Text1Text属性,第61页,这里还要说明一下赋值语句中类型问题。通常,在使用时应使表示式值类型与变量(或对象属性)类型相同,以防止出现“类型不匹配”错误。不过,一些情况下,VB允许“=”两边类型不相同。,第62页,比如:,dim x!,y%,z$,x=“12.5”把数值形式字符串赋给,数值变量,y=34.24 把单精度数赋给整型变,量,此时截去小数部分,z=6 把整数赋给实型变量,第63页,以上三种情况都是赋值相容。在赋值相容前提下,当“=”两边类型不相同时,VB自动将表示式值类型转换成“=”左边变量(或对象属性)类型,这种方式称为“向左看齐”。上例中,实际赋给x、y、z值分别是12.5、34、6.0。,第64页,【例3.4】已知三角形三边a,b,c,长,求三角形面积,输出三条边长及面积。,第65页,分析:应用程序界面应该能让用户输入三边长,程序在接收用户输入数据后,利用数学公式对数据进行计算,并把结果输出到屏幕上。已知三角形三边a,b,c,长,求三角形面积公式为:,其中p=(a+b+c)/2。,第66页,(1)界面设计,在窗体上建立五个标签、三个文本框和一个命令按钮。设置各对象属性,如表3-3所表示。,第67页,对象,属性,设置,Form1,caption,计算三角形面积,Label1,caption,请输入三边,Label2,caption,a,Label3,caption,b,Label4,caption,c,Label5,caption,空,Text1,text,空,Text2,text,空,Text3,text,空,Command1,caption,计算,表3-3 例3.4对象属性设置,第68页,设计完成界面如图3-5所表示,第69页,图3-5 例3.4界面,第70页,(2)编写事件过程以下:,Private Sub Command1_Click(),Dim a!,b!,c!,p!,s!,a=Text1.Text,b=Text2.Text,c=Text3.Text,p=(a+b+c)/2,s=Sqr(p*(p-a)*(p-b)*(p-c),Label5.Caption=s,End Sub,第71页,3.6 Print方法,Print是输出数据一个主要方法。,第72页,3.6.1 Print格式及功效,格式:对象名.Print 表示式列表。,功效:在对象上输出表示式值。,第73页,(1)对象名:,能够是Form(窗体)、Debug(马上窗口)、Picture(图片框)、Printer(打印机)。省略此项,表示在当前窗体上输出。,第74页,比如:,Print 23*2=;23*2 在当前窗体上输出23*2=46,Picture1.Print Good 在图片框Picture1上输出Good,Printer.Print Morning 在打印机上输出Morning,第75页,(2)表示式列表:,是一个或多个表示式,若为多个表示式,则各表示式之间“,”或“;”隔开。省略此项,则输出一空行。,第76页,(3)用“,”分隔各表示式时,各项在以14个字符位置为单位划分出区段中输出,每个区段输出一项;用“;”分隔各表示式时,各项按紧凑格式输出。,第77页,(4)假如在语句行末尾有“;”,则下一个Print输出内容,将紧跟在当前Print输出内容后面;,假如在语句行末尾有“,”,则下一个Print输出内容,将在当前Print输出内容下一区段输出;,假如在语句行末尾无分隔符,则输出完本语句内容后换行,即在新一行输出下一个Print内容,。,第78页,比如,:,Print 1,;,2,;,3,Print 4,,,5,,,Print 6,Print 7,,,8,Print,Print 9,,,10,第79页,输出结果为,:,1 2 3,4 5 6,7 8,9 10,第80页,(,4,)定位输出,Print,方法中,能够使用,Tab,函数对输出项进行定位。,比如:,Print Tab(10);姓名;Tab(25);年纪,则“姓名”和“年纪”分别从当前行第10列和第25列开始输出。,第81页,输出结果以下:,姓名 年纪,在使用Tab函数时,要将输出内容放在Tab函数后面,并用“;”隔开。,第82页,Tab函数格式为Tab(n),其中n为整数表示式,用它来指定输出起始位置。,Print方法中,还能够使用Spc函数,比如:,Print 后面有8个空格;Spc(8);前面有8个空格,第83页,输出结果以下:,后面有8个空格 前面有8个空格,Spc函数格式为Spc(n),其中n为整数表示式,表示在下一个输出项之前插入空格数,Spc函数与各输出项之间必须用“;”隔开。,第84页,3.6.2 Cls方法,格式:对象名.Cls,功效:Cls方法去除Print方法显示文本或在图片框中显示图形,并把输出位置移到对象左上角。格式中对象能够是窗体或图片框,假如省略对象名,则去除当前窗体显示内容。,第85页,3.7 输入框,我们知道,文本框能够接收用户输入。输入框也能够接收用户输入,不过其格调和使用方法有别于文本框。VB提供InputBox函数可生成输入框。,比如:p$=InputBox(请输入密码,密码框),执行该语句后,屏幕上显示如图3-6所表示输入框。,第86页,标题,文本区,提醒,图,3-6,输入框,图3-6 输入框,第87页,用户可在文本区输入数据,然后按“确定”按钮,函数返回值是用户在文本区输入数据,其类型为字符型。假如用户然后按“取消”按钮,则函数返回值是空字符串。,第88页,每执行一次InputBox函数,用户只能输入一个数据,另外,输入框样式是固定,用户不能改变。用户能改变是输入框“提醒”和“标题”内容,“提醒”和“标题”都是字符串表示式。,第89页,InputBox函数普通格式:,InputBox(提醒,标题,缺省值,x坐标位置,y坐标位置),第90页,其中各参数含义以下:,“提醒”:必选项。字符串表示式,在对话框中作为提醒信息。若要在多行显示提醒信息,则能够在各行之间用vbNewLine来分隔,vbNewLine是代表换行常量。,第91页,比如:InputBox(第一行&vbNewLine&第二行),“标题”:字符串表示式,在对话框中标题区显示,若省略,则标题为应用程序名。,第92页,“缺省值”:字符串表示式,在没有其它输入时作为缺省值。,“x坐标位置”、“y坐标位置”:整数表示式。坐标确定对话框左上角在屏幕上位置,屏幕左上角为坐标原点,单位为Twip。1Twip=1/567厘米。,第93页,需要注意是:各项参数次序必须一一对应,除了“提醒”不能省略外,其余各项均可省略,但省略部分也要用逗号占位符跳过。,第94页,比如:f$=InputBox(第一行&vbNewLine&第二行,ddd,200,200),【例3.5】已知圆半径,求圆周长和圆面积。,第95页,(1)界面设计,在窗体上建立两个标签,两个文本框,两个命令按钮。设置各对象属性,如表3-4所表示。,第96页,对象,属性,设置,Form1,Caption,求圆周长和圆面积,Text1,text,空,Text2,text,空,Label1,Caption,圆周长,Label2,Caption,圆面积,Command1,Caption,输入半径,Command2,Caption,结束,表3-4 例3.5对象属性设置,第97页,设计完成界面如图3-7所表示。,第98页,图3-7 例3.5界面,第99页,(2)编写事件过程以下:,Private Sub Command1_Click(),Dim r!,c!,a!,r=InputBox(请输入半径,输入框),c=2*r*3.14159,a=3.14159*r 2,Text1.Text=c,Text2.Text=a,End Sub,第100页,Private Sub Command2_Click(),End,End Sub,第101页,3.8 消息框,执行VB提供MsgBox函数,能够在屏幕上出现一个消息框,消息框通知用户消息并等候用户来选择消息框中按钮,MsgBox函数返回一个与用户所选按钮相对应整数。,第102页,MsgBox函数格式:,MsgBox(提醒,按钮数值,标题),比如:inta=MsgBox(“密码错”,21,“密码查对”),执行该语句后,屏幕上显示如图3-10所表示消息框。,第103页,图3-10 消息框示例,第104页,在MsgBox函数格式中,“提醒”和“标题”含义同InputBox函数。,“按钮数值”是三个数值之和,这三个数值分别代表钮数目及类型,使用图标样式,及缺省按钮是什么。教材中表3-5,表3-6,表3-7,分别列出这三个数值含义。,第105页,本例“按钮数值”21,是从上面三个表中各取一个数相加而得。注意:每个表只能取一个数。系统会自动把它分解成份别属于上面三个表中三个值5,16,0。这种分解是唯一。其含义是:消息框中有“”图标,有“重试”及“取消”两个按钮,缺省按钮是“重试”按钮。,第106页,当用户单击消息框中一个按钮后,消息框即从屏幕上消失。在上面语句中,将函数返回值赋给了变量inta,在程序中可引用inta作对应处理。,第107页,MsgBox函数返回值是依据用户单击哪个按钮而定,见表3-8。,通常,在程序中要依据MsgBox函数返回值不一样作不一样处理,这需要用到第四章中介绍选择结构方面知识。,第108页,MsgBox也能够写成语句形式,比如:MsgBox 密码错,密码查对,执行此语句也产生一个消息框,如图3-11所表示。,第109页,图3-11 密码查对消息,第110页,MsgBox语句没有返回值,所以惯用于比较简单信息提醒。,第111页,3.9 注释语句、结束语句,3.9.1 注释语句,为了提升程序可读性,通常在程序适当位置加上必要注释。在VB中用“”或Rem来标识一条注释语句,格式为:,第112页,|Rem ,比如:,Rem 编写,Private Sub Form_click(),Dim a$定义一个字符串变量,a=Visual Basic6.0汉字版 为变量赋值,print a 打印a内容,End Sub,第113页,3.9.2 结束语句,格式:End,End语句用来结束程序执行,并关闭已打开文件。,第114页,比如:,Private Sub Command3_Click(),End,End Sub,第115页,3.10 程序调试,在程序中发觉错误并排除错误过程叫做程序调试。VB提供了丰富调试伎俩,能够方便跟踪程序运行,排除程序错误。,第116页,3.10.1 程序错误,程序设计中常见错误可分为以下三种:编译错误、运行时错误和逻辑错误。,第117页,1.编译错误,编译错误指VB在编译程序过程中出现错误。这类错误是因为不正确结构代码而产生,比如关键字输入错、遗漏了必需标点符号等。,比如,Printt hello语句会造成编译错误。,第118页,2.运行时错误,运行错误指编译经过后,运行代码时发生错误。这类错误通常是代码执行了非法操作或一些操作失败。比如,要打开文件没找到,除法运算时除数为零,数据溢出等。,比如,print 245*1000语句,因为245*1000值超出了整数范围。,第119页,3.逻辑错误,程序运行后,得不到应有结果,这说明程序存在逻辑错误,逻辑错误是因为程序结构或算法错误而引发。,比如,把语句s=s+l中英文字母l写成了数字1。,通常,逻辑错误不会产生错误提醒信息,故较难排除,需要程序员认真分析,有时需借助调试工具才能查出原因并更正。,第120页,3.10.2 三种模式,VB开发环境有三种模式:设计模式,运行模式和中止模式。开发环境中标题能够显示出当前所处模式。,第121页,1设计模式,创建应用程序大多数工作都是在设计模式下完成。开启VB后就进入设计模式。,第122页,2运行模式,单击“开启”按钮进入运行模式。在运行模式,用户能够与引用程序交互,还能够查看代码,但不能修改代码。,第123页,3中止模式,在运行时,选择“运行”菜单中“中止”可切换到中止模式,另外,应用程序在运行时产生错误,也能够自动切换到中止模式。在中止模式下,能够查看并编辑代码,重新开启应用程序,结束执行或从中止处继续运行,大多数调试工具只能在中止模式下使用。,第124页,3.10.3 调试方法,使用VB提供调试工具与调试伎俩,可提升程序调试效率。,1逐语句执行,在设计模式或中止模式下,按F8键或单击“调试”菜单中“逐语句”就进入逐语句执行方式。每按一次F8键就执行一个语句。,第125页,2设置断点,VB在运行应用程序时,碰到含有断点代码会中止应用程序执行。通常,断点被设置在代码被怀疑可能有问题区域。断点能够在设计模式或中止模式下设置。设置断点简便方法是在代码窗口中,在要设置断点那一行代码灰色左页边上单击鼠标左键。若要取消断点,单击断点行左边小圆点即可。,第126页,3使用调试窗口,VB提供了三个供用户调试程序使用调试窗口:马上窗口、当地窗口和监视窗口。能够利用这些窗口观察相关变量值。可单击“视图”菜单中对应命令打开它们。,第127页,(1)马上窗口,(2)当地窗口,(3)监视窗口,第128页,
展开阅读全文