1 / 35

第五讲: 顺序结构程序设计

第五讲: 顺序结构程序设计. 顺序结构程序设计基本概念:. 过程结构: 过程内部代码由三种基本结构组成 即: 顺序结构、选择结构、循环结构 顺序结构: 执行过程的次序从上到下,从左到右 例: Private Sub Command1_Click() Const Pi = 3.14 H = Val(Text1.Text) : R = Val(Text2.Text) Text3.Text = Pi * R ^ 2 * H

ian-frank
Download Presentation

第五讲: 顺序结构程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五讲: 顺序结构程序设计

  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. 格式 • <变量名>=<表达式> • 或: [<对象名>.]<属性名>=<表达式> • 2. 功能 • 计算表达式的值,再将此值赋给变量或对象属性。 3. 说明 (1) <变量名>: 应符合VB变量命名约定。 (2) <表达式>: 常量、变量、表达式。 (3) <对象名>: 缺省时为当前窗体。 (4) 赋值号“=”: 与数学中的等号意义不同。 例: X=X+1 (5) 赋值号左边必须是变量或对象属性。

  4. 例: X=1 • MyStr="Good Morning" • Command1.Caption="确定" • X+1=X ' 错误,赋值号左边是表达式 • (3) 变量名或对象属性名的类型应与表达式类型相容。 • 例: 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

  5. C = 123456.789 • B = C ' 高精度变量赋值给低精度变量, • ' 变量B中存放123456.8。有效数字7位 • S = "abc" • A = S ' 错误,类型不匹配 • 例: 执行下列各赋值语句后,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)

  6. (4) 变量未赋值时,数值型变量值为0,字符串变量 • 值为空串""。 • 【例4-1】设变量A中存放5,变量B中存放8,交换两个变量的值,使变量A中存放8,变量B中存放5。 • 分析: 需要借助第三个变量C • 代码如下: • A = 5 • B = 8 • C = A • A = B • B = C

  7. 4.2 数据输入 • 赋值语句;输入框(InputBox);文本框(TextBox) • 4.2.1 用输入框(InputBox)输入数据 • 1. 格式 • InputBox(<提示信息>[,<对话框标题>][,<默认值>]) • 2. 功能 • 提示一对话框,等待用户输入正文或按下按钮, • 并返回包含文本框内容的字符串。 • <提示信息>: 字符串表达式。用Chr(13)、Chr(10)、 • Chr(13) & Chr(10)、vbCrLf可换行。 • <对话框标题>: 字符串表达式。 • <默认值>: 字符串表达式。如果省略,则默认为空。 • 函数返回值: 字符串(在对话框中单击取消则返回"")

  8. 例: Private Sub Form_Activate() Dim R As String, AREA As Single R = InputBox("请输入半径", "计算面积", "1") AREA = 3. 14 * Val(R) ^ 2 Print Val(R), AREA End Sub • 单击“确定”,返回文本框中的文本到变量R中 • 单击“取消”,返回一个零长度的字符串

  9. 4.2.2 用文本框(TextBox)输入数据 • 1. 文本框的属性 • (1) Text: 返回或设置文本框显示的内容。 • 例: Text1.Text = "欢迎使用Visual Basic" • (2) MultiLine: 决定是否可以显示多行文本。 • (3) PasswordChar: 常用于输入口令。 • 在文本框中键入字符显示为该指定的字符。 • (此时MultiLine属性值应为False) • (4) ScrollBars: 用于确定文本框是否带滚动条以及滚动条的方向。 • (仅当MultiLine属性值为True时才可以带滚动条)

  10. (5) SelLength: 在运行期返回或设置选择的字符数。 • 例: Text1.SelLength=Len(Text1.Text) • 表示选中文本框Text1中所有字符。 • (6) SelStart: 在运行期返回或设置当前选择文本的起始位置。 • 例: Text1.SelStart=0 • 表示选择文本的起始位置从第一个字符开始。 • (7) Locked: 指定运行时文本框内容是否可以编辑。 • False—可以编辑 • True—不可编辑(只读)

  11. Text1 Text2 Text3 Text4(设Locked为True) Command3 Command1 Command2 • 2. 文本框的事件和方法 • 事件: Change 、Click、DblClick、 • GotFocus、LostFocus、KeyPress等 • 方法: SetFocus • 【例4-2】设计如下图所示的界面,运行时,输入某同学三门课的成绩,计算平均成绩。按要求编程。

  12. ①单击“计算”按钮求平均成绩 Private Sub Command1_Click() A = Val(Text1.Text) B = Val(Text2.Text) C = Val(Text3.Text) Text4.Text = (A + B + C) / 3 End Sub

  13. ②当输入成绩的文本框获得焦点时,选中其中的文本②当输入成绩的文本框获得焦点时,选中其中的文本 Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub Private Sub Text2_GotFocus() Text2.SelStart = 0 Text2.SelLength = Len(Text1.Text) End Sub Private Sub Text3_GotFocus() Text3.SelStart = 0 Text3.SelLength = Len(Text1.Text) End Sub

  14. ③当输入成绩的文本框内容发生变化时,清除平均值③当输入成绩的文本框内容发生变化时,清除平均值 Private Sub Text1_Change() Text4.Text = "" End Sub Private Sub Text2_Change() Text4.Text = "" End Sub Private Sub Text3_Change() Text4.Text = "" End Sub

  15. ④单击“清除”按钮清除所有文本框的内容,并将焦点定位在文本框Text2中。④单击“清除”按钮清除所有文本框的内容,并将焦点定位在文本框Text2中。 Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text1.SetFocus End Sub ⑤单击“退出”按钮结束程序的运行。 Private Sub Command3_Click() End End Sub

  16. 【例4-3】在窗体上建立一个文本框,将输入到文本框中的小写字母转换为大写。【例4-3】在窗体上建立一个文本框,将输入到文本框中的小写字母转换为大写。 • Private Sub Text1_KeyPress (KeyAscii As Integer) • Char = Chr(KeyAscii) • KeyAscii = Asc(UCase(Char)) • End Sub

  17. 4.2.3 焦点和Tab键序 • 1. 焦点 • 当前可以接收用户输入的对象称为具有焦点。 • 注意: 并非所有控件都可以接收焦点。而且, 只有Enable和Visible属性为True时,才可以接收焦点。 • 2. 事件 • GotFocus 发生在对象得到焦点时 • LostFocus 发生在对象失去焦点时 • 3. 对象何时得到焦点 • • 运行时选择对象(鼠标、Tab键、访问键) • • 在代码中使用SetFocus方法

  18. 2. Tab键序 • • 指按Tab键时光标在各个控件之间移动的顺序。 • • 每个窗体都有自己的Tab键序。 • • 默认键序与控件的建立次序一致。 • • TabIndex属性: 决定键序 • 改变TabIndex属性可以改变键序 • • TabStop属性: 决定是否能够使用 TAB 键将焦点移动到当前对象。

  19. 4.3 数据输出 • Print方法、消息框(MsgBox) 、文本框、标签 • 4.3.1 用Print方法输出数据 • 1. Print方法 • 格式: [<对象名>.]Print[<表达式表>][{;|,}] • <对象名>: 窗体 如 Form1.Print "Hello" • 图片框 如 Picture1.Print "Hello" • 打印机 如 Printer.Print "Hello" • 立即窗口 如 Debug .Print "Hello" • 省略: 默认为当前窗体。 • <表达式表>: 多个表达式使用逗号或分号隔开。 • 逗号: 以14个字符位置为单位把一个输出行分成若干区段。 • 分号: 后一项紧跟前一项输出。

  20. 输出时,数值型数据前有一个符号位(正号不显),后面留一个空格位;字符串原样输出,前后无空格。 • 例: Private Sub Form_Activate() • Print "12345678901234567890" • Print "2+4="; 2 + 4 • Print "2-4=", 2 - 4 • End Sub 例: Private Sub Form_Activate() Print "12345678901234567890" Print "2+4=";2 + 4, Print "2-4="; Print 2 - 4 End Sub

  21. 例: 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

  22. 4.3.2 用消息框(MsgBox)输出数据 • 格式: • MsgBox(<提示信息>[,<按钮类型>][,<对话框标题>]) • 功能: 在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮。 • <提示信息>: 字符串表达式。 • 用Chr(13)、Chr(10)、 • Chr(13) & Chr(10)、vbCrLf可换行。 • <按钮类型>: 数值型数据。 • 按钮类型+图标类型+默认按钮。见P58 • <对话框标题>: 字符串表达式。 • 返回值: 由在对话框中按下哪种按钮决定。见P59

  23. 例: <提示信息> Private Sub Command1_Click() A = MsgBox("提示信息") End Sub 例: <提示信息>换行 Private Sub Command1_Click() A=MsgBox("第一行" &Chr(13) & "第二行") End Sub

  24. 例: <对话框标题> Private Sub Command1_Click() A = MsgBox("提示信息", , "标题内容") End Sub 例: 按钮类型—0到5或符号常量 见P58 Private Sub Command1_Click() A = MsgBox("提示信息", 1, "标题内容") End Sub

  25. 例: 图标类型—16、32、48、64或符号常量 见P58 Private Sub Command1_Click() A = MsgBox("提示信息", 16, "标题内容") End Sub 例: 默认按钮—0,256,512 见P58 Private Sub Command1_Click() a = MsgBox("提示信息", 2 + 256, "标题内容") Print a End Sub 按回车打印4

  26. Text1 Command1 Text2 • 4.3.3 用文本框(TextBox)输出数据 • 【例4-4】在Text1中输入任一英文字母,在Text2中显示该英文字母及其ASCII码值。要求在文本框Text2中显示出所有输入的英文字母及其ASCII码值

  27. Text1 Command1 Text2 • 4.3.3 用文本框(TextBox)输出数据 • 【例4-4】在Text1中输入任一英文字母,在Text2中显示该英文字母及其ASCII码值。要求在文本框Text2中显示出所有输入的英文字母及其ASCII码值

  28. 4.3.4 用标签(Label)输出数据 • 1. 标签的属性 • (1) Caption: 标签的标题。 • (2) Alignment: 确定标签标题的对齐方式。 • (3) AutoSize: 确定标签是否随标题自动调整大小。 • (4) BorderStyle: 确定标签的边框。 • 0 —无边框;1— 有边框。 • (5) BackStyle: 指定背景是透明或不透明。 • 1—不透明;0—透明。

  29. Label1 Command4 Command2 Command1 Command3 • 【例4-5】测试标签的边框样式和透明样式。 • 在窗体上放置一标签,显示“Visual Basic程序设计教程”,放置四个命令按钮,Command1放在Command2上,Command3放在Command4上。运行时,单击相应按钮,界面发生相应变化。

  30. Private Sub Command1_Click() Label1.BorderStyle = 1 Command1.Visible = False Command2.Visible = True End Sub Private Sub Command2_Click() Label1.BorderStyle = 0 Command1.Visible = True Command2.Visible = False End Sub

  31. Private Sub Command1_Click() Label1.BorderStyle = 1 Command1.Visible = False Command2.Visible = True End Sub Private Sub Command2_Click() Label1.BorderStyle = 0 Command1.Visible = True Command2.Visible = False End Sub

  32. 2. 标签的事件: Click、DblClick... • 例: Private Sub Label1_DblClick() • Label1.FontSize = Label1.FontSize + 10 • End Sub • 3. 标签的方法:Move • 格式: • [<对象名>.]Move <Left>[,[<top>][,[<width>][,<height>]]] • <left>: 指示对象左边的水平坐标(x-轴)。 • <top>: 指示对象顶边的垂直坐标(y-轴)。 • <width>: 指示对象新的宽度。 • <height>: 指示对象新的高度。 • 例: Private Sub Label1_Click() • Label1.Move Label1.Left + 50 • End Sub

  33. 4.4 注释、暂停与程序结束语句 • 1. 注释语句 • 格式: ' | Rem <注释内容> • 功能: 给语句或程序段加上注释,以提高可读性。 • 说明: Rem与 <注释内容>之间至少空一个空格。 • 例: • Private Sub Form_Click() • Rem 本程序用于计算圆的面积 • Dim R As String, AREA As Single ' R为半径 • R=InputBox("请输入半径", , "1") :Rem 输入半径 • AREA = 3.14 * Val(R) ^ 2 • '以下将半径和面积输出到窗体上 • Print Val(R), AREA • End Sub

  34. 2. 暂停语句 • 格式: Stop • 功能: 暂停程序的执行。 • 用于程序调试。类似于执行“运行”菜单中的“中断”命令 • 3. 结束语句 • 格式: End • 功能: 结束程序的执行。

  35. 赋值语句 输入 文本框 IntputBox函数 • 本章小结: 计算 赋值语句 标签 文本框 输出 Print语句 MsgBox函数

More Related