第3章 VB程序语句与控制结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章第3章VB程序语句与控制结构一个VB应用程序主要由用户界面和响应各事件的程序代码组成,程序代码是应用程序的核心。本章首先介绍程序代码设计的基础知识,再通过一些典型的例子,使大家逐步掌握编程的思路和技巧。VB虽然是面向对象的程序设计语言,但在代码设计中仍然支持结构化程序设计的三种基本结构,即顺序结构、选择结构和循环结构。本章将主要介绍数据的输入与输出、三种基本程序控制结构及语句。3.1数据的输入与输出VB的输入/输出有多种形式,常用的输入方式有:使用键盘输入数据的函数InputBox以及文本框等控件。常用的输出方式有:Print方法、MsgBox函数和过程以及图形框、文本框、标签等控件。有关控件的使用在其第六章中介绍,本节主要介绍InputBox函数、MsgBox函数与过程以及Print方法的使用。3.1.1InputBox函数格式:InputBox(提示[,标题][,默认][,x坐标位置][,y坐标位置])功能:InputBox函数产生一个对话框,作为输入数据的界面,等待用户输入内容,当用户单击“确定”按钮或按回车键,函数返回输入的值,其值的类型为字符串(String)。说明:(1)“提示”:必选项。字符串表达式,在对话框中作为提示信息显示,可为汉字。若要多行显示,必须在每行行末加回车符Chr(13)和换行符Chr(10)符或VB符号常数vbCrLf。(2)“标题”:可选项。字符串表达式,在对话框的标题区显示;若省略,默认为应用程序名。(3)“默认”:可选项。字符串表达式,当输入对话框中无输入时,则该默认值作为输入的内容。(4)“x坐标位置、y坐标位置”:可选项。整型表达式,确定对话框左上角相对于屏幕左上角的x、y坐标,单位为twip。该项省略时,对话框出现在屏幕水平、垂直中间的位置。【注意】各项参数次序必须一一对应,除了“提示”一项不能省略外,其余各项均可省略,处于中间的默认部分要用逗号占位符跳过。例如,运行如下代码段,结果显示如图3-1所示,当单击“确定”按钮后,变量strName的值为“李林”。DimstrNameasString*20Title=InputBox函数示例Msg1=请输入你的姓名StrName=InputBox(Msg1,Title,,200,200)图3-13.1.2Msgbox函数与过程MsgBox用于输出数据,它会在屏幕上显示一个对话框。在对话框中显示消息,等待用户单击按钮,并返回所选按钮的整数值。有函数和过程两种形式。MsgBox函数格式:变量=MsgBox(提示[,按钮][,标题])MsgBox过程格式:MsgBox提示[,按钮][,标题]说明:(1)“提示”和“标题”的意义与InputBox函数中对应的参数相同。(2)“按钮”:可选项。数值表达式,决定信息框按钮的数目和类型及出现在信息框上的图标类型。该数值表达式的值由4部分数值求和得到,它也可以用符号常量表示。其设置见表3.1。(3)MsgBox函数返回所选按钮整数值的意义见表3.2(4)MsgBox过程与MsgBox函数的区别是:MsgBox过程没有返回值,也不用圆括号“()”,所以常用于较简单的信息显示。其他用法与MsgBox函数相同。表3.1“按钮”设置及意义类别符号常量按钮值意义按钮数目vbOkOnlyvbOkCancelvbAbortRetryIgnorevbYesNoCancelvbYesNovbRetryCancel012345只显示“确定”按钮。显示“确定”和“取消”按钮。显示“终止”、“重试”和“忽略”按钮。显示“是”、“否”和“取消”按钮。显示“是”和“否”按钮。显示“重试”和“取消”按钮。图标类型vbCriticalvbQuestionvbExclamationvbInformation16324864显示警示图标,红色STOP标志。显示询问图标?。显示警告消息图标!。显示信息图标i。默认按钮vbDefaultButton1vbDefaultButton2vbDefaultButton30256512第一个按钮为默认按钮。第二个按钮为默认按钮。第三个按钮为默认按钮。模式vbApplicationModalvbSystemModal04096应用程序模式系统模式表3.2MsgBox函数的返回值返回值符号常量被单击的按钮1vbOk确定2vbCancel取消3vbAbort终止4vbRetry重试5vbIgnore忽略6vbYes是7vbNo否例如,在代码中加入以下语句,程序在运行中会打开图3-2所示的消息框。Msg=”程序运行出错,继续吗?”Title=”Msgbox演示程序”Resp=MsgBox(Msg,308,Title)IfResp=6thenPrint“你选择了是!”ElsePrint“你选择了否!”EndIf图3-2程序中,MsgBox函数的参数308也可以写成符号常量的形式。因308=4+48+256,因而可将数字308写成vbYesNo+vbCritical+vbDefaultButton2的常量表达式的形式;同样,If语句也可写成IfResp=vbYesthen的形式。【例3.1】输入圆的半径,求圆的面积。(1)进入代码窗口,编辑程序代码如下:PrivateSubForm_Click()ConstPi=3.14’定义常量PiDimrAsDouble,aasDoubler=InputBox(请输入圆的半径)a=Pi*r*rMsgBox(圆的面积为:&a)EndSub(2)运行程序,输入半径为5,输入、输出对话框如图3-3所示。图3-33.1.3Print方法Print方法常用于在屏幕上输出信息。在本书第一章1.4.2节中已有介绍。例如,执行如下代码:a=10:b=15c$=“欢迎使用VisualBasic”Print“数值表达式a+b的值为:”;a+bPrintPrint“字符串变量c$的值为:”;c$运行结果如下:“数值表达式a+b的值为:25“字符串变量c$的值为:欢迎使用VisualBasic【例3.2】用Print方法输出图形。程序运行结果如图3-4所示。PrivateSubForm_Click()Fori=1to5PrintTab(i);String(6-i,”*”)NextIEndSub图3-4【注意】当Tab(i)中i的值小于当前位置的值时,重新定位在下一行的i列。例如,执行以下语句:Printtab(5);“abcdefg”;tab(8);“1234567”运行结果如下:abcdefg12345673.1.4打印机输出VisualBasic除了可以在屏幕上输出以外,还可以在打印机上输出所需要的信息。1.用PrintForm方法打印格式:[窗体名.]PrintForm功能:将指定窗体的信息传送到打印机进行打印。说明:(1)缺省窗体名,则打印当前窗体的信息。(2)PrintForm方法不仅可以打印窗体上的文本,而且还可以打印出窗体上的任何可见的控件及图形。若窗体中包含图形,需要将输出窗体的AutoReDraw属性设置为True。2.用Printer对象打印格式:Printer.Print[表达式列表]功能:把“表达式列表”中的内容输出到打印机上。例如,下列语句行将字符串“欢迎使用VisualBasic”输出到Windows系统的缺省打印机上。Printer.Print欢迎使用VisualBasicPrinter对象包含多种属性和方法用以控制打印的各种特性。Printer对象的属性不能在属性窗口中设置,只能在运行时通过程序代码来设置。下面介绍一些Printer对象常用的属性和方法。(1)Page属性Page属性用来保持和返回当前的页号,格式为:Printer.Page每当打印完一页后,Page属性值自动增1。通常用Page属性打印页号,例如:Printer.Print第;Printer.Page;页(2)NewPage方法NewPage方法用以结束Printer对象中的当前页并前进到下一页,也就是实现换页操作,格式为:Printer.NewPage执行NewPage方法可以强制使打印机前进到下一个打印页,并将打印位置重置到新页的左上角。调用NewPage方法时,它将Printer对象的Page属性加1。(3)EndDoc方法EndDoc方法用来结束文件打印,格式为:Printer.EndDoc执行EndDoc方法表明打印操作的结束,并向打印机管理程序发送最后一页的退出信号,并把Page属性重置为1。(4)KillDoc方法KillDoc方法用于立即终止当前打印作业,格式为:Printer.KillDoc执行KillDoc方法将中断Print函数的执行,且清除打印缓冲区中的所有信息。【例3.3】编写程序,实现连续打印“打印测试页1”和“打印测试页2”两张测试页。PrivateSubForm_Click()Printer.Print打印测试页;Printer.PagePrinter.NewPagePrinter.Print打印测试页;Printer.PagePrinter.EndDocEndSub单击窗体后,打印机打印两页,分别为“打印测试页1”和“打印测试页2”。3.2顺序结构顺序结构就是程序的各语句按出现的先后次序执行。在VisualBasic中顺序结构的语句主要有赋值语句、输入语句、输出语句等。3.2.1赋值语句赋值语句是程序设计中最基本的语句,也是为变量和事件的属性赋值的最主要的方法。赋值语句的一般形式为:变量名=表达式或对象名.属性=表达式赋值语句的作用:先计算右边表达式的值,然后赋给左边的变量或控件属性。例如:sum=100’把数值常量100赋给变量sumaver=sum/10’将表达式sum/10的值赋给变量averText1.Text=”Hello!”’为文本框显示字符串Text1.Text=””’清除文本框的内容【注意】(1)表达式可以是任何类型的表达式,一般应与变量名的类型一致,当表达式的类型与变量的类型不一致时,作如下处理:①若左边是字符型变量,将右边非字符型转换成左边的类型。例如:C$=123’数值常量123转换为字符型数据”123”赋给c②若左边是数值型变量,右边表达式为数字字符串时,自动转换成数值类型赋给左边变量。若右边表达式有非数字字符或空串时,则出现类型不匹配错误。例如:m%=”100”‘数字串”100”转换为数值100赋给变量mm%=”a100”‘出现类型不匹配的错误m%=””‘出现类型不匹配的错误③若左边是逻辑型变量,右边是数值型表达式,非0转换为True,0转换为False;反之,将逻辑型表达式的值赋给数值型变量时,True转换为-1,False转换为0。例如:DimfasBooleanx%=10:y%=5f=x+y‘f中结果为Truef=x-10‘f中结果为Falsen%=xy‘表达式xy值为True,n中结果为-1n%=x=y‘表达式x=y值为False,n中结果为0④不管表达式的值是什么类型,都可以直接赋给一个变体类型的变量。(2)赋值号与关系运算符等于都用“=”表示,但系统不会产生混淆,会根据所处的位置自动判断是何种意义的符号。也就是在条件表达式中出现的是等号,否则是赋值号。例如:赋值语句a=b与b=a是两个结果不相同的赋值语句,而在关系表达式中a=b与b=a两种表示方法是等价的。(3)赋值号左边只能是变量,不能是常量、符号常量、表达式。下列语句均为错误的赋值语句:5=x+y'左边是常量vbcrlf=34‘左边是符号常量x+y=5'左边是表达式(4)不能在一条赋值语句中,同时给多个变量赋值。例如:要对x,y,z三个变量值赋初值1,如下面语句书写语法上没错,但结果不正确:Dimx%,y%,z%x=y=z=1执行该语句前x,y,z的变量值默认是0,VisualBasic在编译时,将右边两个“=”作为关系运算符处理,先进行y=z比较,结果为True(-1);接着True=1比较结果False(0);最后将False赋值给x,因此最后

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功