




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第4章 顺序结构程序设计,本章要点: 赋值语句 数据输入* 数据输出* 注释、暂停与程序结束语句,2,事件驱动: 将代码划分成一些“子过程” 过程结构: 过程内部代码由三种基本结构组成 即: 顺序结构、选择结构、循环结构 顺序结构: 执行过程的次序从上到下,从左到右 例: Private Sub Command1_Click() Const Pi = 3.14 H = Val(Text1.Text) : R = Val(Text2.Text) Text3.Text = Pi * R 2 * H End Sub,3,4.1 赋值语句,1. 格式 let = 或: .= 2. 功能 计算表达式的值,再将此值赋给变量或对象属性。,3. 说明 (1) : 应符合VB变量命名约定。 (2) : 常量、变量、表达式、属性。 (3) : 缺省时为当前窗体。 (4) 赋值号“=”: 与数学中的等号意义不同。 例: X=X+1,4,(5) 赋值号左边必须是变量或对象属性。 例: X=1 MyStr=“Good Morning“ Command1.Caption=“确定“ X+1=X 错误,赋值号左边是表达式 Y=5 正确 5=Y 错误,赋值号左边是常量 (6) 变量名或对象属性名的类型应与表达式类型相容。 类型相容:指变量名或对象属性名能够正确存取赋值号右边的表达式的值。,5,例: Dim A As Integer, B As Single Dim C As Double, S As String A = 100 将整型数100赋给整型变量A S = “123.45“ 将字符串“123.45“赋给变量S A = S 将数字字符串变量赋给整型变量, 变量A中存放123 S = A S中存放字符串“123“ B = 12345.67 A = B 高单度变量赋值给整型变量, 先四舍五入后取整, A中存放12346 C = 123456.789 B = C 高精度变量赋值给低精度变量, 变量B中存放123456.8。有效数字7位 S = “abc“ A = S 错误,类型不匹配,6,(7) 变量未赋值时,数值型变量值为0,字符串变量值为空串“。 (8) 给可变类型的变量赋值后,变量的类型为赋值号右边表达式的类型。 例: 执行下列各赋值语句后,A的数据类型是什么? (设A没有定义数据类型) A = 6 = 5 A = 5 + 3 A = “5+3“ A = “#11/26/99#“ A = #11/26/1999# A = Not 5 8,可用TypeName函数显示变量的数据类型。 如:Print TypeName(A),7,【例4-1】设变量A中存放5,变量B中存放8,交换两个变量的值,使变量A中存放8,变量B中存放5。 代码如下: A = 5 B = 8 C = A A = B B = C VB4lt1:进入VB环境,8,4.2 数据输入,把要加工的初始数据从某种外部设备(例如键盘)输入到计算机中,并把处理结果输出到指定设备(如显示器),这是程序设计语言所应具备的基本部分。,9,4.2.1 用输入框(InputBox)输入数据,1. InputBox函数的格式 InputBox( , , ) 2. 功能 提示一对话框,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。 3. 说明 : 字符串表达式。 可用Chr(13)、Chr(10)、Chr(13) & Chr(10)、vbCrLf换行。最多可有1024个字符 : 字符串表达式,省略时默认为应用程序名。 : 字符串表达式,省略时默认为空。 返回值: 字符串(在对话框中单击取消则返回“),10,例: Private Sub Form_Activate() Dim R As Single, AREA As Single R = Val(InputBox(“请输入半径”, “计算面积”, “1”) AREA = 3.14 * R 2 Print “R=“; R; “ AREA=“; AREA End Sub,单击“确定”,返回文本框中的文本到变量R中 单击“取消”,返回一个零长度的字符串,11,用文本框输入数据时,也就是将文本框的Text属性的内容赋值给某个变量。 例:将文本框Text1中输入的字符串赋给字符串变量Mystr Dim MyStr As String MyStr = Text1.Text 例:将文本框Text1中输入的字符串作为数据赋给整型变量 Dim A As Integer A = Val(Text1.Text),4.2.2 用文本框(TextBox)输入数据,12,1. 文本框控件的常用属性,Text属性:表示文本框中包含的内容 Locked属性:决定文本框的内容是否可编辑 Multiline属性:为true,可输入多行文本,默认为false. Scrollbars:决定是否有滚动条以及滚动条的显示方式。默认为不显示。 Passwordchar:显示在文本框中的替代符,如“*”,主要用于口令的输入。 Maxlength:指定显示的字符个数,超出部分不接收,并同时发出嘟嘟声。,13,2.文本框控件的显示文本,文本框显示的文本受text属性控制。Text属性可以用以下3种方式设置: 设计时在属性窗口中进行; 编程时通过代码设置 运行时由用户输入 若不希望用户更改文本,可以把文本框的locked 属性设置为true或将enabled属性设置为False 以vb4lt1为例说明,14,3. 多行文本框,若需要在文本框中显示多行文本,可以修改文本框的multiline和scorllbars属性,但这两种属性只能在属性窗口中修改。 Multiline 属性 TRUE:可以输入和显示多行文本,同时具有文字处理器的自动换行功能,按ctrl+enter组合键可以插入一行。 Scorllbars属性 当multiline为true时,scrollbars属性才有效。 0-none 1- horizontal 2-vertical 3-both 若无horizontal滚动条,文本框的文本会自动按字换行,当加了horizontal以后,文本框的自动换行功能会自动消失,只有按enter键才能换行。举例说明。,15,1. 焦点 当前可以接收用户输入的对象称为具有焦点。 注意: 并非所有控件都可以接收焦点。而且, 只有Enable和Visible属性为True时,才可以接收焦点。 2. 事件 GotFocus 发生在对象得到焦点时 LostFocus 发生在对象失去焦点时 3. 对象何时得到焦点 运行时选择对象(鼠标、Tab键、访问键) 在代码中使用SetFocus方法 其格式为:.setfocus,4.2.3 焦点和Tab键序,16,4. 对象何时失去焦点 运行时用Tab键移动、用访问键或用鼠标单击选择另一个对象。 在代码中对另一个对象使用SetFocus方法改变焦点。 5. Tab键序 指按Tab键时焦点在各个控件之间移动的顺序。 每个窗体都有自己的Tab键序。 默认键序与控件的建立次序一致。 TabIndex属性: 决定Tab键序 改变TabIndex属性可以改变Tab键序 TabStop属性: 决定是否能够使用 TAB 键将焦点移动到当前对象。,17,【例4-2】设计如下图所示的界面,运行时,输入某学生三门课的成绩,计算平均成绩。按要求编程。,要求: 单击“计算”按钮求平均成绩; 当输入成绩的文本框获得焦点时,选中其中的文本; 当输入成绩的文本框内容发生变化时,清除平均值; 单击“清除”按钮清除所有内容,将焦点定位在Text1中; 单击“退出”按钮结束程序的运行。,18,单击“计算”按钮求平均成绩 Private Sub Command1_Click() A = Val(Text1.Text) B = Val(Text2.Text) C = Val(Text3.Text) Text4.Text = (A + B + C) / 3 End Sub,19,当输入成绩的文本框获得焦点时,选中其中的文本 Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub,Private Sub Text2_GotFocus() Text2.SelStart = 0 Text2.SelLength = Len(Text2.Text) End Sub Private Sub Text3_GotFocus() Text3.SelStart = 0 Text3.SelLength = Len(Text3.Text) End Sub,20,当输入成绩的文本框内容发生变化时,清除平均值 Private Sub Text1_Change() Text4.Text = “ End Sub,Private Sub Text2_Change() Text4.Text = “ End Sub Private Sub Text3_Change() Text4.Text = “ End Sub,21,单击“清除”按钮清除所有文本框的内容,并将焦点定位在文本框Text1中。 Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ Text3.Text = “ Text4.Text = “ Text1.SetFocus End Sub,单击“退出”按钮结束程序的运行。 Private Sub Command3_Click() End End Sub,22,4.2.4 框架控件,框架(frame)控件是一种容器控件。在框架控件内的控件可以随框架一起移动,并且受框架控件的某些属性(visible,enabled等)的控制。 使用框架控件对其他控件进行分组,可以使界面更清晰明了。一般不需要响应框架控件的事件。 使用框架控件将其他控件分组的方法有两个: 先画框架控件并激活,再加入其中的控件,这样可使框架控件及其上的控件一起移动。 若要用框架控件将现有的控件分组,可先选定所有控件,将它们剪切到剪贴板上,然后选定框架控件进行粘贴。以vb4lt2为例。,23,4.3 数据输出,在程序设计中对输入的数据进行加工后,往往需要将处理结果、提示信息等呈现给用户,即输出。,24,用文本框输出数据时,也就是将数据赋给文本框的Text属性。例如输出一个字符串(或数值), 输出多个字符串(或数值) 例:用文本框Text1输出一个字符串 Text1.Text = “hello“ 例:用文本框Text1输出一个数值型数据 X = 3 5 Text1.Text = Str(X) Str可以省略或用Format 例:用文本框Text1输出多个数,分多行输出。 首先将文本框的MultiLine设置为True,必要时可以进一步设滚动条属性ScrollBars。 X = 3 5: Y = 7 4 Text1.Text = Str(X) & vbCrLf & Str(Y),4.3.1 用文本框(TextBox)输出数据,25,【例4-3】在Text1中输入任一英文字母,在Text2中显示该英文字母及其ASCII码值。要求在文本框Text2中显示出所有输入的英文字母及其ASCII码值。,26,Private Sub Command1_Click() Dim Char As String * 1 Char = Trim(Text1.Text) Text2.Text = Text2.Text & Space(5) & Char & _ Space(10) & Str(Asc(Char) & vbCrLf Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub,Chr(13) & Chr(10),27,4.3.2 用标签(Label)输出数据,用标签输出数据时,也就是将数据赋给标签的Caption属性。也可以输出多个数据。 例:用标签Label1输出一个字符串 Label1.Caption = “hello“ 例:用标签Label1输出一个数值型数据 X = 3 5 Label1.Caption = Str(X) 例:用标签Label1输出多个数,分多行输出。 通常要先设置标签的AutoSize属性和WordWrap属性为True。 X = 3 5: y = 7 4 Label1.Caption = “x=“ & Str(X) & vbCrLf _ & “y=“ & Str(y),28,【例4-4】已知三角形的三条边a、b、c的长度,用海伦公式求三角形的面积S。海伦公式:,将文本框Text1、Text2、Text3的内容清空; 设置三个文本框的Alignment属性为1-Right Justify; 设置标签Label2的Caption属性为空; 设置标签Label2的BorderStyle属性为1 Fixed Single。,29,代码如下:,Private Sub Command1_Click() Dim A As Single, B As Single, C As Single Dim P As Single, S As Single A = Val(Text1.Text) B = Val(Text2.Text) C = Val(Text3.Text) P = (A + B + C) / 2 S = Sqr(P * (P - A) * (P - B) * (P - C) 显示时保留两位小数 Label2.Caption = Format(S, “0.00“) End Sub,30,消息框常用于在屏幕上显示一个对话框,给出一些提示或警告信息,并允许用户进行选择。程序可根据该选择确定进一步的操作。 1. MsgBox函数的格式 =MsgBox(,) 或: MsgBox ,4.3.3 用消息框(MsgBox)输出数据,31,2. 功能 在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮。 3.说明,(1) “标题”和“提示”与InputBox函数中对应的参数相同; () “按钮类型+图标类型+默认按钮”是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及默认按钮。 () 若程序中需要返回值,则使用函数,否则可调用过程。,32,按钮及图标值如下:,根据用户所选按钮,函数返回17的整数值,其含义如下表:(表4-9),33,例: Private Sub Command1_Click() MsgBox “提示信息“ End Sub,例: 换行 Private Sub Command1_Click() MsgBox “第一行“ & Chr(13) & Chr(10) & “第二行“ End Sub,34,例: Private Sub Command1_Click() A = MsgBox(“提示信息“, , “标题内容“) End Sub,例: 按钮类型0到5或符号常量 见P65 Private Sub Command1_Click() A = MsgBox(“提示信息“, 1, “标题内容“) End Sub,35,例: 图标类型16、32、48、64或符号常量 见P67 Private Sub Command1_Click() A = MsgBox(“提示信息“, 16, “标题内容“) End Sub,例: 默认按钮0,256,512 见P67 Private Sub Command1_Click() a = MsgBox(“提示信息“, 2 + 256, “标题内容“) Print a End Sub,按回车打印4,36,4.3.4 用Print方法输出数据,1. Print方法 格式: . Print ; | , : 窗体 如 Form1.Print “Hello“ 图片框 如 Picture1.Print “Hello“ 打印机 如 Printer.Print “Hello“ 立即窗口 如 Debug .Print “Hello“ 省略: 默认为当前窗体。 : 多个表达式使用逗号或分号隔开。 逗号: 以14个字符位置为单位把一个输出行分成若干区段。 分号: 后一项紧跟前一项输出。,37,输出时,数值型数据前有一个符号位(正号不显),后面留一个空格位;字符串原样输出,前后无空格。,例: Private Sub Form_Activate() Print “12345678901234567890“ Print “2+4=“;2 + 4, Print “2-4=“; Print 2 - 4 End Sub,例: Private Sub Form_Activate() Print “12345678901234567890“ Print “2+4=“; 2 + 4 Print “2-4=“, 2 - 4 End Sub,38,例: Private Sub Form_Load() Form1.Show Print “12345678901234567890“ Print 产生空行 Print “2+4=“; 2 + 4, Print 取消上面一句末尾逗号的作用 Print “2-4=“; Print 2 - 4 End Sub,输入Print时可用?代替,VB将其自动转换成Print,39,2. 与Print方法有关的函数 (1) Tab函数 格式: Tab(n) 功能: 在指定的第n个位置上输出数据。 参数n: n,40,例: Private Sub Form_Activate() Print “12345678901234567890“ Print “Hello“; Tab(10); “World“ Print “Hello“; Tab; “World“ Print “Hello“; Tab(4); “World“ Print Tab(-5); “Hello“ End Sub,41,(2) Spc函数 格式: Spc(n) 功能: n表示在显示或打印下一个表达式之前插入的空格数。表示跳过n个空格。 例: Print “HOW“; Spc(3); “ABOUT“ 结果: HOWABOUT,注意: Spc函数与Space函数、Tab函数的区别 Space函数:可以用在字符串允许出现的任何位置。 Spc函数:只能用在打印语句中。 Tab函数指定绝对位置; Space函数或Spc函数指定相对位置。,42,3. 清除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装饰材料行业新技术应用考核试卷
- 锯材加工过程中的木材阻燃处理考核试卷
- 汽车语音识别与控制系统考核试卷
- 食物中毒院前急救
- 新生儿小肠坏死性结肠炎护理
- 麻醉药理学局部麻醉药
- 任务8.3+打造主播人设+课件-《互联网+推销实务》
- Methyltetrazine-amido-Tri-acid-PEG1-ethoxymethyl-methane-生命科学试剂-MCE
- 风格制胜3:风格因子体系的构建及应用
- 自然语言及语音处理项目式教程 课件7.2.2-2基于深度学习的语音合成算法
- 2023年芜湖一中高一自主招生考试试题数学
- 天津理工大学-PPT 答辩3
- 引体向上教学设计
- 中心静脉导管护理
- 江苏省南京市联合体2022-2023八年级初二下学期期中英语试卷+答案
- 事业单位岗位职数情况表
- 糖尿病的外周血管病变和处置培训课件
- Ф9.52铜管表冷器计算书
- 钻冲孔灌注桩监理实施细则
- GB/T 21352-2022地下矿井用钢丝绳芯阻燃输送带
- GB/T 5211.12-2007颜料水萃取液电阻率的测定
评论
0/150
提交评论