VB程序语句与控制结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

一个VB应用程序主要由用户界面和响应各事件的程序代码组成,程序代码是应用程序的核心。本章首先介绍程序代码设计的基础知识,再通过一些典型的例子,使大家逐步掌握编程的思路和技巧。VB虽然是面向对象的程序设计语言,但在代码设计中仍然支持结构化程序设计的三种基本结构,即顺序结构、选择结构和循环结构。本章将主要介绍数据的输入与输出、三种基本程序控制结构及语句。

3.1 数据的输入与输出

VB的输入/输出有多种形式,常用的输入方式有:使用键盘输入数据的函数InputBox 以及文本框等控件。常用的输出方式有: Print方法、MsgBox函数和过程以及图形框、文本框、标签等控件。有关控件的使用在其第六章中介绍,本节主要介绍InputBox函数、MsgBox函数与过程以及Print方法的使用。

3.1.1 InputBox函数

格式:InputBox(提示[,标题][,默认][,x坐标位置][,y坐标位置])

功能:InputBox函数产生一个对话框,作为输入数据的界面,等待用户输入内容,当用户单击“确定”按钮或按回车键,函数返回输入的值,其值的类型为字符串(String)。

说明:

(1)“提示”:必选项。字符串表达式,在对话框中作为提示信息显示,可为汉字。若要多行显示,必须在每行行末加回车符Chr(13)和换行符Chr(10)符或VB符号常数vbCrLf。

(2)“标题”:可选项。字符串表达式,在对话框的标题区显示;若省略,默认为应用程序名。

(3)“默认”:可选项。字符串表达式,当输入对话框中无输入时,则该默认值作为输入的内容。

(4)“x坐标位置、y坐标位置”:可选项。整型表达式,确定对话框左上角相对于屏幕左上角的x、y坐标,单位为twip。该项省略时,对话框出现在屏幕水平、垂直中间的位置。

【注意】

各项参数次序必须一一对应,除了“提示”一项不能省略外,其余各项均可省略,处于中间的默认部分要用逗号占位符跳过。

例如,运行如下代码段,结果显示如图3-1所示,当单击“确定”按钮后,变量strName 的值为“李林”。

Dim strName as String*20

Title = "InputBox函数示例"

Msg1 = "请输入你的姓名"

StrName=InputBox(Msg1,Title,,200,200)

图3-1

3.1.2 Msgbox 函数与过程

MsgBox用于输出数据,它会在屏幕上显示一个对话框。在对话框中显示消息,等待用

户单击按钮,并返回所选按钮的整数值。有函数和过程两种形式。

MsgBox函数格式:变量=MsgBox(提示[,按钮][,标题])

MsgBox过程格式: MsgBox 提示[,按钮][,标题]

说明:

(1)“提示”和“标题”的意义与InputBox函数中对应的参数相同。

(2)“按钮”:可选项。数值表达式,决定信息框按钮的数目和类型及出现在信息框上的图标类型。该数值表达式的值由4部分数值求和得到,它也可以用符号常量表示。其设置见表3.1。

(3)MsgBox函数返回所选按钮整数值的意义见表3.2

(4)MsgBox过程与MsgBox函数的区别是:MsgBox过程没有返回值,也不用圆括号“()”,所以常用于较简单的信息显示。其他用法与MsgBox函数相同。

Msg=”程序运行出错,继续吗?”

Title=”Msgbox演示程序”

Resp=MsgBox(Msg,308,Title)

If Resp=6 then

Print “你选择了是!”

Else

Print “你选择了否!”

End If

图3-2

程序中,MsgBox函数的参数308也可以写成符号常量的形式。因308=4+48+256,因而可将数字308写成vbYesNo+vbCritical+vbDefaultButton2的常量表达式的形式;同样,If 语句也可写成If Resp=vbYes then的形式。

【例3.1】输入圆的半径,求圆的面积。

(1)进入代码窗口,编辑程序代码如下:

Private Sub Form_Click()

Const Pi = 3.14 ’定义常量Pi

Dim r As Double, a as Double

r = InputBox("请输入圆的半径")

a = Pi * r * r

MsgBox("圆的面积为:" & a )

End Sub

(2)运行程序,输入半径为5,输入、输出对话框如图3-3所示。

图3-3

3.1.3 Print 方法

Print方法常用于在屏幕上输出信息。在本书第一章1.4.2节中已有介绍。

例如,执行如下代码:

a = 10:b=15

c$ = “欢迎使用Visual Basic”

Print “数值表达式a+b的值为:”;a+b

Print

Print “字符串变量c$的值为:”;c$

运行结果如下:

“数值表达式a+b的值为: 25

“字符串变量c$的值为:欢迎使用Visual Basic

【例3.2】用Print方法输出图形。程序运行结果如图3-4所示。

Private Sub Form_Click()

For i=1 to 5

Print Tab(i);String(6-i,”*”)

Next I

End Sub

图3-4

【注意】

当Tab(i)中i的值小于当前位置的值时,重新定位在下一行的i列。

例如,执行以下语句:

Print tab(5);“abcdefg”;tab(8);“1234567”

运行结果如下:

abcdefg

1234567

3.1.4 打印机输出

Visual Basic除了可以在屏幕上输出以外,还可以在打印机上输出所需要的信息。

1.用PrintForm方法打印

格式:[窗体名.]PrintForm

功能:将指定窗体的信息传送到打印机进行打印。

说明:

(1)缺省窗体名,则打印当前窗体的信息。

(2)PrintForm方法不仅可以打印窗体上的文本,而且还可以打印出窗体上的任何可见的控件及图形。若窗体中包含图形,需要将输出窗体的AutoReDraw属性设置为True。

2.用Printer对象打印

格式:Printer.Print [表达式列表]

功能:把“表达式列表”中的内容输出到打印机上。

例如,下列语句行将字符串“欢迎使用Visual Basic”输出到Windows系统的缺省打印机上。

Printer.Print "欢迎使用Visual Basic"

Printer对象包含多种属性和方法用以控制打印的各种特性。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

相关文档
最新文档