第 4章 顺序程序设计
人民邮电出版社
21世纪高等学校计算机基础教育系列教材顺序结构程序设计图形符号 名 称起始和结束框输入输出框条件判断框处理框流程线结构化程序设计程序设计中,不仅要保证程序的正确性,还要保证程序的易读和可维护性,要使程序可维护,就必须做到程序有良好的结构。结构化程序设计方法是一种书写可维护程序的重要方法。在对程序结构和功能的描述中,有多种工具,这里只介绍简单的关于程序流程图的知识:
程序流程图是用若干规定的几何图形来表示程序的结构和功能的一种标识图,在程序流程图中,主要使用的流程图符号见表 常用的流程图符号输入语句
Visual Basic中,用户在输入的时候,需要用到一个输入函数,这个函数是 InputBox(),其语法如下:
InputBox[$](提示 [,标题 ] [,默认值 ] [,x坐标 ] [,y坐标 ] [,帮助文件,上下文 ])
各参数的具体解释见表参数 描 述提示必需的。作为对话框消息出现的字符串表达式。提示 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果 提示 包含多个行,则可在各行之间用回车符 (Chr(13))、换行符
(Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 来分隔。
标题 可选的。显示对话框标题栏中的字符串表达式。如果省略标题,则把应用程序名放入标题栏中。
默认值 可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略默认值,则文 本框为空。
X坐标 可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略 X坐标,则对话框会在水平方向居中。
Y坐标 可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果省略 Y坐标,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。
帮助文件 可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助。如果已提供 帮助文件,则也必须提供上下文。
上下文 可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号。如果已提供上 下文,则也必须要提供帮助文件。
例如,s=InputBox(“请输入一个数字”,“数据判别系统”,0)
运行时出现如图 4.1所示的窗口图 4.1 InputBox运行界面数据输出直接输出到窗体使用 Print方法在窗体中直接输出字符串或数值表达式的值,如图所示。
建立程序界面输出时要用到 Print方法,这个方法是一些对象所特有的,在使用中,要注意它的使用范围,Print方法的使用的语法如下:
Object,Print [outputlist]
Object是要输出的文本的位置,例如 Form(窗体),Debug(调试),PictureBox(图片框)等。在不写 Object时,系统默认将输出内容输出到窗体上。
Outputlist是可选的。是要打印的表达式或表达式的列表。如果省略,则打印一个空白行。就是换行。
其中可以使用前文讲述的 spc( n) |tab( n)函数。
设计步骤如下 。
(1) 建立应用程序用户界面 。
(2) 设置对象属性
(3) 设计代码 。
编写命令按钮 Command1的 Click事件代码:
Private Sub Command1_Click()
Print
Print "2 * 3 + 4 ="; 2 * 3 + 4 ' 使用,;”分割符
Print
Print "欢迎学习 "
Print,"Visual" ' 使用,,”分割符
Print,,"Baisc" ' 使用两个,,”分割符
Print
Print " 欢迎学习 ",' 在行末使用,,”分割符
Print "Visual"; " Baisc"
End Sub
在上例中使用 Tab函数与 Spc函数,如图所示 。
只需改写命令按钮的 Click事件代码:
Private Sub Command1_Click()
Print
Print Tab(5); "2 * 3 + 4 ="; 2 * 3 + 4
Print
Print Tab(6); "欢迎学习 "; Tab(17); "Visual
Baisc"
Print
Print Tab(7); "欢迎学习 "; Spc(3); "Visual";
Spc(2); "Baisc"
End Sub
Tab函数与 Spc函数
3,使用位置属性下面程序按指定尺寸,颜色和外观,把文本输出到窗体的中间,如图所示 。
使用 CurrentX和 CurrentY
(2) 编写命令按钮的 Click事件代码:
Private Sub Command1_Click()
Dim a As String,textW As Integer,textH As Integer
FontName = "隶书 " ' 输出文本的字体
FontSize = 60 ' 输出字体的大小
ForeColor = QBColor(15) ' 输出文本的前景色,即字体的颜色
BackColor = QBColor(8) ' 输出文本的背景色,即窗体的颜色
a =,你好,' 输出文本的内容
textW = TextWidth(a) / 2 ' 文本的宽度 TextWidth(a)
textH = TextHeight(a) – Command1.Height / 2
CurrentX = ScaleWidth / 2 – textW ' 设置输出的水平位置
CurrentY = ScaleHeight / 2 – textH ' 设置输出的垂直位置
Print a '
输出文本
End Sub
输出文本到图片框使用 Print方法在图片框中输出字符串或数值表达式的值 。
设计步骤如下:
(1) 建立应用程序用户界面。
(2) 设置对象属性
(3) 设计代码 。
编写命令按钮 Command1的 Click事件代码:
Private Sub Command1_Click()
Picture1.Print
Picture1.Print Tab(2); "2 * 3 + 4 ="; 2 * 3 + 4
Picture1.Print
Picture1.Print Tab(3); "欢迎学习 "; Tab(17); "Visual Baisc"
Picture1.Print
Picture1.Print Tab(4); "欢迎学习 "; Spc(3); "Visual"; Spc(2); "Baisc"
End Sub
在图片框中使用位置函数 。
设计步骤如下 。
(1) 建立应用程序用户界面与对象属性在图片框中使用位置函数
(2) 编写命令按钮的 Click事件代码:
Private Sub Command1_Click()
Dim a As String,textW As Integer,textH As Integer
Picture1.FontName = "隶书 "
Picture1.FontSize = 40
Picture1.ForeColor = QBColor(15)
Picture1.BackColor = QBColor(8)
a = "你好 "
textW = Picture1.TextWidth(a) / 2 ' 文本的宽度 TextWidth(a)
textH = Picture1.TextHeight(a) / 2
Picture1.CurrentX=Picture1.Width/2–textW ' 窗体的宽度属性 ScaleWidth
Picture1.CurrentY=Picture1.Height/2–textH ' 设置垂直位置为从顶部往下 50twips
Picture1.Print a
End Sub
另一个输出语句是一个对话框,用来输出简单的一些提示或文本。其语法是:
MsgBox 输出的内容 [,按钮及格式 ] [,标题 ] [,帮助文件,上下文 ]
各参数的含义如下:
提示是必需的。字符串表达式,作为显示在对话框中的消息。提示的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果提示的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。
按钮及格式是可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则按钮和格式的缺省值为 0,使用时,可以通过输入 Vb然后从弹出的提示文本列表中选择需要的常量。
标题可选的。在对话框标题栏中显示的字符串表达式。如果省略标题,则将应用程序名放在标题栏中。
帮助文件可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了帮助文件,则也必须提供上下文。
上下文可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了上下文,则也必须提供帮助文件。
例如:
MsgBox "Visual Basic" & Chr(10) & Chr(13) & "程序设计教程
",VbOKOnly +VbInformation,"输出举例 "
MsgBox的结果注释
注释语句注释语句 用来在程序中包含注释,语法格式为,
在要注释的内容前面加一个 ’ 来注释,例如:
如果注释是从某一行的开始就注释的,可以使用关键字 rem 来注释
'On Error Resume Next '设置错误捕获,发生错误时忽略错误,执行下一条语句
'Data1.Recordset.Delete
'Data1.Recordset.MoveNext '当记录全部被删除后,该语句发生错误
Rem If Data1.Recordset.EOF Then Data1.Recordset.MoveLast
计算机在遇到这类代码时,就不执行这些代码。
注释的作用注释可以作为一行单独存在,也可以作为一行的一部分;
多行注释的时候,要求每行都要有’;
注释要清晰、简练,具有可读性;
注释可以用来对程序进行注释,也可以用来对程序进行调试。
Visual Basic中应用程序的结构工程组
VBG
工程 vbp
工程 vbp
工程 vbp…
标准模块 bas
窗体模块 frm
类模块 cls
全局变量声明模块层声明
Sub main过程通用过程窗体层声明通用过程事件过程