《visualbasic程序设计教程教学课件作者王唯第3章》由会员分享,可在线阅读,更多相关《visualbasic程序设计教程教学课件作者王唯第3章(193页珍藏版)》请在金锄头文库上搜索。
1、第3章 Visual Basic基本语句,3.1 顺序结构 3.2 选择结构 3.3 循环结构 3.4 数组 3.5 子程序 3.6 函数,3.1 顺序结构,顺序结构是程序设计中最简单、最常用的基本结构,按照各语言出现的先后顺序执行。在Visual Basic中顺序结构的主要语句是赋值语句,输入输出语句(可以通过文本框、Print方法等实现)。系统还提供了与用户交互的函数和过程来实现这些功能。,下一页,返回,3.1 顺序结构,3.1.1 项目 赋值语句 项目说明 利用赋值语句给变量或对象属性输入数据。 已知a=6,b=9,计算c= 项目分析 声明3个单精度变量a,b,c,分别给变量a、b赋值
2、6a 9b 计算表达式,其结果10.81665c,上一页,下一页,返回,3.1 顺序结构,编程实现 代码编写 编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim a As Single, b As Single, c As Single a = 6 b = 9 c = Sqr(a * a + b * b) Print “c=“ & c End Sub 运行程序后单击窗体,输出结果如下:c=10.81665,上一页,下一页,返回,3.1 顺序结构,学习支持 给变量赋值 格式:Let变量名=表达式 功能:计算右端的表达式,并把结果赋值给左端的变量。 赋值含义
3、:将值送到变量的存储单元中去。 说明:(1)表达式中的变量必须是赋过值的,否则变量的初始值自动取0值(变长字符串变量取空字符)。例如: a = 1 c = a + b + 3 b未赋过值,为0。 执行后,c 值为 4。,上一页,下一页,返回,3.1 顺序结构,(2)利用赋值语句,可以改变变量的值。因此,同一变量在不同时刻可以取不同的值。 (3)赋值语句跟数学中等式具有不同的含义。例如,赋值语句x=x+1表示把变量x的当前值加上1后再将结果赋给变量x。 “先读后写”:读出x的内容x加1写回x(覆盖原有内容)。,上一页,下一页,返回,3.1 顺序结构,知识巩固 例 单击窗体后,显示如下内容 *A=
4、3 *A=7 *A=17 程序代码如下: Private Sub Form_Click() a = 3 : Print “*A=“ & a a = 7 : Print “*A=“ & a a = a * 2 + 3 : Print “*A=“ & a End Sub,上一页,下一页,返回,3.1 顺序结构,3.1.2 项目 对象属性赋值 项目说明 设计一个“万年历”程序,用来查看某年的元旦是星期几。 项目分析 计算某年y的元旦是星期几,可由以下式子得出。 f = y-1 +(y-1)/4 - (y-1)/100 + (y-1)/400+ 1 其中 表示求整。 k = f Mod 7 f除以7的
5、余数 y为某年公元年号,计算出k为星期几。,上一页,下一页,返回,3.1 顺序结构,编程实现 一、设计用户界面,设置对象属性 “万年历”程序运行时界面如图3-1所示。 设置对象属性:属性设置见表3-1。 二、代码编写 功能要求:用户在“输入年份”文本框(Text1)中输入某一年份,单击“查看”按钮时,则在“星期”文本框(Text2)中显示出星期几。,上一页,下一页,返回,3.1 顺序结构,“查看”按钮(Command1)单击事件过程代码如下: Private Sub Command1_Click() Dim y As Integer, f As Integer, k As Integer y
6、= Val(Text1.Text) -1 f = y + Int(y/4) Int(y/100) + Int(y/400) + 1 k = f Mod 7 Text2.Text = k End Sub,上一页,下一页,返回,3.1 顺序结构,学习支持 为对象的属性赋值 一般格式为: 对象.属性=属性值 例如,对命令按钮Command1的Caption属性赋值为Command1.Caption=“查看“ 如果为同一个对象的多个属性赋值,可以使用withEnd With语句。例如: With Text1 .FontName = “隶书“ .FontSize = 18 End With,上一页,下一
7、页,返回,3.1 顺序结构,知识巩固 例 输入一个总秒数,转换成小时、分钟和秒数 如输入4852秒,则输出1小时20分52秒。 (1)创建应用程序的运行界面,如图3-2所示。 (2)设置对象属性见表3-2。 程序代码如下: Private Sub Command1_Click() Dim h As Integer, m As Integer, s As Integer, t As Integer t = Val(Text1.Text) h = t 3600,上一页,下一页,返回,3.1 顺序结构,t = t - h * 3600 m = t 60 s = t - m * 60 Text2.Te
8、xt = h Text3.Text = m Text4.Text = s End Sub Private Sub Command2_Click() End End Sub,上一页,下一页,返回,3.1 顺序结构,3.1.3项目 输入框InputBox函数 Visual Basic与用户之间的直接交互是通过InputBox函数、MsgBox函数和MsgBox过程实现的。 项目说明 通过输入框输入姓名,显示如图3-3所示的输入对话框。 项目分析 利用InputBox函数创建输入对话框。对话框的标题是“输入框”,提示内容是“请您输入你的姓名然后单击确定”。,上一页,下一页,返回,3.1 顺序结构,编
9、程实现 代码编写 窗体单击事件过程代码如下: Private Sub Form1_Click() Dim strName As String * 40 strName= InputBox(“请输入你的姓名“ + vbCrLf + “然后单击确定“,“输入框“ ) End Sub,上一页,下一页,返回,3.1 顺序结构,学习支持 InputBox函数 InputBox(提示,标题,默认,x 坐标位置,y坐标位置) 提示:提示信息,不能默认。提示信息为一个字符串表达式,在对话框中作为信息显示。 标题:对话框标题,为字符串表达式。若默认,则把应用程序名作为对话框标题。 默认:字符串表达式。当输入对话
10、框中无输入时,则该默认值作为输入的内容。 x 坐标位置、y坐标位置:整型表达式,用来确定对话框左上角在屏幕上的位置。屏幕左上角为坐标原点。 函数返回字符类型,返回的值是文本框中输入的值。,上一页,下一页,返回,3.1 顺序结构,其中vbCrlf是回车换行的意思。 也可以使用如下语句: Dim strName As String * 40,strS1 As String * 40 strS1 = “请输入你的姓名“ + Chr(13)+ Chr(10)+ “然后单击确定“ strName= InputBox(strS1,“输入框“,100,100) 其中Chr(13)表示回车,Chr(10)表示
11、换行。 当键盘输入“王晓明”后,变量strName获得键盘输入的值。,上一页,下一页,返回,3.1 顺序结构,知识巩固 例 产生一个能接收用户输入的对话框 利用InputBox函数创建输入对话框接收用户输出,如图3-4所示。 程序代码如下: filename$=InputBox(“请输入文件名“ + Chr(13)+“(不超过8个字符)“,“文件名“,vbfile),上一页,下一页,返回,3.1 顺序结构,3.1.4 项目 MsgBox函数 项目说明 通过消息框显示消息,显示如图3-5所示的消息提示对话框。 项目分析 利用MsgBox函数编写上面的信息框,把每一项都描述出来。 编程实现 程序代
12、码如下: a%=MsgBox(“注意:,你输入的数据不正确“,2+48,“错误提示“),上一页,下一页,返回,3.1 顺序结构,学习支持 MsgBox函数 变量%= MsgBox(提示,按钮图标+默认按钮+模式,标题) 说明: (1)“标题”和“提示”与InputBox函数中对应的参数相同。 (2)“按钮图标+默认按钮+模式”是整型表达式,决定消息框按钮数目、出现在消息框上的图标类型及操作模式(见表3-3)。 (3)若程序中需要返回值,则使用函数。否则,可调用过程。 注意:以上按钮的4组方式可以组合使用。 MsgBox的作用是打开一个信息框,等待用户选择一个按钮。MsgBox函数返回所选按钮的
13、整数值,其返回值意义见表3-4。,上一页,下一页,返回,3.1 顺序结构,知识巩固 例 产生一个能提示用户信息的消息框 设计一个程序,在窗体上放置1个标签、1个文本框和3个命令按钮,如图3-6所示。 程序要求:程序开始运行后,用户在文本框中输入一个密码,将这个密码与程序中事先给出的密码进行比较。如果两个密码不相同,系统就会显示一个消息框,提示用户输入的密码不正确;如果两个密码相同,也显示一个消息框,告诉用户输入的密码正确。如果用户选择了消息框上的“取消”按钮,则结束程序运行。单击“结束”按钮,也能结束程序的运行。消息框如图3-7所示。,上一页,下一页,返回,3.1 顺序结构,程序代码如下: P
14、rivate Sub cmdClear_Click() txtPW.Text = “ txtPW.SetFocus End Sub Private Sub cmdCheck_Click() pw$ = “MyProgram“ 这是预设的密码 Title$ = “密码核对框“ Info1$ = “你输入了正确的密码“ Info2$ = “你输入的密码不正确“,上一页,下一页,返回,3.1 顺序结构,If Text1.Text = pw$ Then answer = MsgBox(Info1$,65,Title$) 1+64+0=65 Else answer = MsgBox(Info2$,277
15、,Title$) 16+5+256=277 End If If answer = 2 Then End 选择了“取消”按钮 If answer = 1 Then 选择了“确定”按钮 txtPW.Text =“ txtPW.SetFocus End If End Sub,上一页,下一页,返回,3.1 顺序结构,程序中事先设置了一个字符串“MyProgram”作为密码。假如用户输入的密码(即文本框txtPW的Text属性值)等于“MyProgram”(即pw$),则执行如下语句。 answer = MsgBox(Info1$,65,Title$) MsgBox函数的第1个参数是消息框中的提示文字。
16、现在,Info1$的值是“你输入了正确的密码”,出现在消息框的中间位置上。函数的第3个参数用来指定消息框的标题。现在,Title$值是“密码核对框”,出现在消息框的顶部。第2个参数(现为65)决定消息框内的按钮和图标的种类、数目。该参数是3个数值相加之和。这3个数值分别代表按钮的类型、显示图标的种类和哪一个按钮是默认的“活动按钮”。,上一页,下一页,返回,3.1 顺序结构,3.1.5 项目 MsgBox过程 项目说明 通过输入框输入姓名,然后在消息框中显示出来。 项目分析 在窗体的Load事件中,显示输入对话框,运行时屏幕的显示如图3-8所示,输入姓名后单击“确定”按钮,输入内容通过消息对话框显示出来如图3-9所示。,上一页,下一页,返回,3.1 顺序结构,编程实现 程序代码如下: Private Sub Form_Load() Dim x as String x$ = In