Download presentation
Presentation is loading. Please wait.
1
Visual Basic程序设计基础 计算机科学学院
2
第三章 Visual Basic程序设计基础
1 窗 体 2 数据输入与输出 3
3
3.1 Visual Basic 基本语句 注意: 同一语句行中输入多条语句,语句之间用冒号“ : ”分隔。(不推荐使用)
a=3 : b=6 一条语句在多行显示,使用续行符“ _”。续行符与它前面的字符之间至少有一个空格 x=( -b + sqr (b^2 – 4 * a * c) ) / _ (2 * a)
4
3.1 Visual Basic 基本语句 1.赋值号左边只能是变量,不能是常量、常数符号或表达式 2.不能在一句赋值语句中给多个变量赋值
sin(x) = x + y 5 = sqr(s) + x + y x + y = 3 2.不能在一句赋值语句中给多个变量赋值 Dim x%,y%,z% x=y=z=1 3.等号左边和右边的数据类型至少相关 X%=“asd”
5
3.1.3 注释语句 功 能:在程序中加入解释性的说明 语法格式: Rem 注释内容 ‘ 注释内容 (推荐使用)
功 能:在程序中加入解释性的说明 语法格式: Rem 注释内容 ‘ 注释内容 (推荐使用) 说 明:注释语句是非执行语句,它仅对程序的有关内容起说明作用 多行注释功能对调试非常有用 (1)使用关键字Rem,在Rem和注释内容之间要加一个空格。 (2)在其他语句后使用Rem关键字,必须使用冒号(:)与前面的 语句隔开。注释符(单引号’)可以直接写在其他语句后面。
6
3.1.4 暂停语句 (Stop语句) Private Sub Form_click() Dim i%, s% Print i , s
s = s + i Form1.Print s End Sub ‘ 每一次的执行都会在此暂停 在VB解释环境下,STOP在程序 代码中设置断点(相当于中断) 暂停程序的执行。 功能:暂停语句功能是暂停程序的执行。 说明:暂停语句可以编写在程序的任何地方,程序执行到Stop语句处即暂停。
7
3.1.5 结束语句 (End语句) 用于结束一个程序的运行,并关闭所有文件 常用的地方 Sub Command1_Click()
End Sub 结束一个Sub过程 End Function 结束一个function过程 End If 结束一个if语句块 End Type 结束记录类型的定义 End Select 结束情况语句
8
实例 1.两个数的交换 2.计算三角形面积 S=(a+b+c)/2 面积=sqr(s*(s-a)*(s-b)*(s-c))
9
第三章 Visual Basic程序设计基础
3.1 窗 体 3.2 数据输入与输出 3.3
10
3.2 窗体 窗体是构成应用程序的基本模块 窗体是用户与应用程序之间进行交互的窗口 最大化按钮 对象 方法 属性 事件
11
常见属性 0,0 Top Left Height Width Left、Top、Width、Height属性
所有可视化的对象都具有这些属性,它们决定了对象的位置和大小 Top Height Left Width 0,0 格式: 对象.Left[=数值] 对象.Top[=数值] 对象.Width[=数值] 对象.Height[=数值] 属性值以TWIP(缇)为单位,每缇约为1/1440英寸 窗体的LEFT指窗体左边界与屏幕左边界的相对距离 TOP指窗体顶边与屏幕顶边的相对距离
12
常见属性 Caption和Name属性 Caption属性用来设置窗体或对象的标题,该标题显示在窗体或对象上。
控件名 Name Caption Text 窗体(frm) Form1 文本框(txt) Text1 命令按钮(cmd) Command1 标签(lbl) Label1 计时器(tmr) Timer1 常用控件的默认Caption属性和Name属性
13
常见属性 Enabled、Visible属性 说明: Enabled属性用来设置一个对象是否激活。
默认情况下,对象的Enabled和Visible属性值均为True,表示该对象既可见,又处于激活状态 Command2.Visible=False Command3.Enabled=False
14
常见属性 AutoRedraw属性 Picture属性 自动重画,该属性控制屏幕图像的重建
如果该属性设置为True,则当一个窗体被其他窗体覆盖,又回到该窗体时,将自动刷新或重画该窗体上的所有图形。 该属性的默认值为False。 Picture属性 Picture属性用来在对象中显示一个图形。该属性可以显示多种图形格式: .jpg、.bmp、.gif 、.ico……
15
常见属性 ForeColor和BackColor属性 WindowState和BorderStyle属性 ControlBox属性
颜色用一个十六进制常量表示。&H & WindowState和BorderStyle属性 WindowState属性用来设置窗体的操作状态 (正常状态/最大化/最小化) BorderStyle属性用来设置窗体边框的类型 ControlBox属性 设置窗口控制框(系统菜单,位于窗口左上角). Font属性 Font属性用来设置输出字符的字形属性,包括字体和字号等 如果程序中需要使用多种字形,可以通过程序代码设置 当BorderStyle=0(无边界)时, ControlBox不起作用
16
窗体的常见方法 [对象.]Cls 用于清除对象中显示的文本或图形 说明:
格式中的“对象”可以是窗体或图片框,如果省略“对象”则清除当前窗体内的显示内容。但是用Picture属性输入的图形不能用Cls方法清除,只能通过LoadPicture方法清除。 不能清除在设计时的文本和图形
17
窗体的常见方法 [对象.]Show [对象.]Hide 作用:Show方法用来显示窗体,Hide方法用来隐藏窗体
18
窗体的常见方法 Move方法 用来移动对象,同时可改变其大小。如果一个对象支持Left、Top、Width和Height属性,则它也支持Move方法。 [对象.]Move left[,top,width,Height]
19
实例 控件从左向右循环移动
20
窗体的常见事件 Load事件 Unload事件(卸载事件) Sub Form_Load() Caption = "装入窗体"
Load事件是在窗体被装入工作区时自动触发的事件。当应用程序启动时,自动执行该事件。Load事件可以用来在启动时对属性和变量进行初始化。 Sub Form_Load() Caption = "装入窗体" Form1.AutoRedraw = True FontSize = 48 : FontName = "隶书" Form1.Print "装入窗体" End Sub Unload事件(卸载事件) 当从内存中清除一个窗体(关闭窗体)时自动触发该事件。
21
窗体的常见事件 Click和DblClick事件
Click是鼠标单击事件,程序运行后,当鼠标在对象上作单击操作时,将调用对象的单击事件对象名_Click() DblClick是鼠标双击事件,程序运行后,当鼠标在对象上作双击操作时,将调用对象的双击事件对象名_DblClick()。 “双击”实际上触发两个事件,第一次按鼠标按钮时产生Click事件,第二次产生DblClick事件。 触发Click和DblClick事件的对象常见的有窗体和命令按钮。
22
Private Sub Text1_Change() Print "文本框中的内容有改变" End Sub
常见事件 Change事件 Change事件是一旦控件的内容改变,就自动触发该事件。例如在文本框中键入内容时,就触发Change事件 Private Sub Text1_Change() Print "文本框中的内容有改变" End Sub
23
几个常见控件 命令按钮(Command Button) 标签(Lable) 文本框(TextBox) 计时器(Timer)
24
常用控件—命令按钮 属性 Caption、Default、Cancel、Enabled 事件 Click、DblClick
25
常用控件——标签(Label) 属性 阴影文字的构建 Caption ForeColor、BackColor Alignment
BorderStyle AutoSize 阴影文字的构建
26
常用控件——文本框(TextBox) 既可以显示文本,又可以在文本框中输入、编辑或复制文本 Text属性:设置文本框中显示的文本内容
Multiline属性:设置是否允许输入多行文本 ScrollBars属性:设置是否含有滚动条 PasswordChar属性:设置显示口令字符
27
常用控件——文本框(TextBox) 仅在运行时有效的属性 SelLength SelStart SelText 实例:显示哪些内容被选中了
当前选中的字符个数。为0表示未选中任何字符。 SelStart 当前选择文本的起始位置。其值为从0开始。 SelText 当前选择的文本字符串,没有选择时为空串。 实例:显示哪些内容被选中了
28
常用控件——计时器控件 利用计算机系统的时钟计时,间隔一定时间触发事件。计时器的时间以毫秒为单位。 Interval属性 Timer事件
用于设置计时器事件之间的时间间隔,取值为0,则表示定时器无效 Timer事件 当达到Interval属性规定的时间间隔就触发事件
29
常用控件——计时器控件 Private Sub Form_Load( ) Text1.Text = "计时器"
Command2.Enabled = False Timer1.Interval = 100 End Sub Private Sub Timer1_Timer( ) Label1.Caption = Time
30
常用控件——计时器控件 Timer1.Interval = 100 Private Sub Command1_Click()
Text1.Text = "计时开始" Form1.Tag = Timer Command1.Enabled = False Command2.Enabled = True End Sub Private Sub Command2_Click() Text1.Text = CInt(10 * (Timer - Form1.Tag)) / 10 & "秒" Command1.Enabled = True Command2.Enabled = False Tag:返回/设置一个表达式 用来存储程序中需要 的额外数据,字符串型 Timer:返回一个Single,表示 从午夜开始到现在经 过的秒数 Timer1.Interval = 100
31
实例 任务 设计一个窗体,运行窗体后,图片会不停地闪动 界面设计 : 属性设计 : Private Sub Timer1_Timer()
对象 属性 属性值 Timer Name Timer1 Enabled True 100 PictureBox Picture1 D:\a003.bmp Private Sub Timer1_Timer() End Sub Picture1.Visible = Not (Picture1.Visible)
32
数据输入输出 ▲ 1 数据输出--Print方法 ▲ 2 数据输入--InputBox函数 ▲ 3 MsgBox函数和MsgBox语句 4
打印机输出
33
Print方法 [对象名.] Print [表达式] [,|;] 说明 在指定的对象中输出表达式的值,用于在窗体、图片框或打印机上输出数据。
表达式可以省略,则在对象上打印空行。 Print具有计算和输出双重功能。
34
Print方法 Private Sub Form_Click()
Dim intA1 As Integer, intA2 As Integer, intTemp% intA1 = 5: intA2 = 10 Form1.Print "交换"; intA1; intA2 intTemp = intA1: intA1 = intA2: intA2 = intTemp Form1.Print "得"; intA1; intA2 End Sub
35
Print方法 用“;”隔开数据项,打印时以紧凑格式输出 字符串数据的紧凑格式输出时把各表达式连接起来输出
数值数据的紧凑格式输出时,数据前有一个符号位,后有一个空格
36
Print方法 用“,”隔开,以标准格式输出(分区输出格式),以14个字符宽度划分为一个区段。 判断下面语句的输出结果?
37
练习题 Print "AB"; "CDE" Print 2; -4, 6 Print "AB"; "CDE", ‘末尾出现了逗号
*2*-4**********6 ABCDE**********2*-4**********6 ABCDE*2*-4*****6
38
与Print方法有关的函数 Tab函数 Print Tab(n) Spc函数 Print Spc(n)
功能是在指定的位置显示输出信息。 Print Tab(n) Spc函数 功能是在两个输出表达式之间空n个空格。 Print Spc(n) 参数n为数值表达式,其值为一整数,它是下一个输出位置的列号 注意: Spc函数和Tab函数的功能十分类似,而且可以互相代替,但Tab函数需要从对象的左端开始计数,而Spc函数只表示两个输出项之间的空格数
39
与Print方法有关的函数 Print "**********" Print Tab(2); "*"; Spc(8); "*"
40
Format函数 将数值或日期按指定格式输出 Format(数值表达式,格式字符串)
41
Print format(25634, “########”)
Print format(25634, “########”) 25634 Print format( , “###.##”) 850.72 Print format(7.876, “000.00”) 007.88
42
Format函数 Print format(.257, “00.0%”) Print format(384.2, “$###.00”)
25.7% Print format(384.2, “$###.00”) $384.20 Print format( , “0.00E+00”) 3.49E+03 Print format(9.8596, “$0,000.00”) $0,009.86
43
Format函数 # 数字;不在前面或后面补0 0 数字;在前面或后面补0 . 小数点 , 千位分隔逗点 % 百分比符号 $ 美元符号
# 数字;不在前面或后面补0 数字;在前面或后面补0 小数点 , 千位分隔逗点 % 百分比符号 $ 美元符号 负、正号 E+ E- 指数符号
44
InputBox函数 提示 标题 默认 InputBox( 提示 [,标题] [,默认] [,x坐标] [,y坐标] )
r = Val(InputBox("输入圆半径", "圆周长和面积计算", 1))
45
InputBox函数 换行符 Chr$(13)+ Chr$(10) vbCrLf
46
MsgBox()函数与MsgBox过程 MsgBox(msg[,type][,title][,helpfile][,context])
整型表达式,决定信息框按钮的数目和类型及出现在信息框上的图标类型
47
MsgBox函数 64 MsgBox "欢迎光临!", vbOKOnly + vbInformation, "欢迎"
64 MsgBox "欢迎光临!", 64, "欢迎"
48
MsgBox函数 MsgBox “网络连接出现问题,是否重试?", 274, "警告" 2+16+256
vbAbortRetryIgnore+ vbCritical+vbDefaultbutton2
49
MsgBox()函数与MsgBox过程 函数形式:x = MsgBox("参数错误",18) 过程形式:MsgBox "参数错误",18
返回值为3 返回值为4 返回值为5
50
MsgBox函数 返回值 符号常量 用户选择的按钮 1 VbOk “确定”按钮 2 VbCancel “取消”按钮 3 VbAbort
“终止”按钮 4 VbRetry “重试”按钮 5 VbIgnore “忽略”按钮 6 VbYes “是”按钮 8 VbNo “否”按钮
51
MsgBox函数 x = MsgBox("是否退出?", vbOKCancel, "提示")
52
MsgBox()函数与MsgBox过程 MsgBox "请输入小于等于10的半径值", 48, "出错"
53
思考 以下关于MsgBox的叙述中,错误的是( ) A) MsgBox函数返回一个整数。 B) 通过MsgBox函数可以设置信息框中图标和按钮的类型。 C) MsgBox语句没有返回值。 D) MsgBox函数的第一个参数是一个整数,该参数只能确定对话框中显示的按钮数量。 D
54
思考 Private Sub Command1_Click( ) a$ = “software and hardware” b$ = Right(a$, 8) c$ = Mid(a$, 1, 8) MsgBox a$, , b$, c$, 1 End Sub 单击命令按钮,在弹出的信息框的标题栏中显示的是( ) A)software and hardware B)software C)hardware D)1 C
55
顺序程序设计实例 如何输入摄氏温度与华氏温度值? 摄氏温度与华氏温度的转换 转换公式为:F=32+1.8C,其中F为华氏温度,C为摄氏温度
用文本框或InputBox函数来获得输入值 如何输出转换后的结果? 用文本框的文本属性、标签的标题属性以及Print方法来输出结果
56
两种界面设计方法 InputBox函数来获得输入值,用标签的标题显示输出结果 文本框既获得输入值,也来显示输出结果
57
实验 计算三角形的面积,三角形三边的值通过三次调用InputBox函数求得,求出的面积通过调用MsgBox输出
58
实验 单机窗体时,随机产生一个三位正整数,然后逆序输出该数,产生的数与逆序数同时显示(要求用数字和字符串两种形式完成)
Similar presentations