1 / 40

Visual Basic 程序设计教程

Visual Basic 程序设计教程. 第 3 章 顺序结构程序设计. 1. 数据输出. 1. 直接输出到窗体 使用 Print 方法 : 其语法格式为 [〈 对象名称 〉.] Print [〈 表达式列表 〉] [{, | ;}] 【 例 3-1】 使用 Print 方法在窗体中直接输出字符串或数值表达式的值,如图 3-1 所示。 设计步骤如下。 (1) 建立应用程序用户界面。 选择“新建”工程,进入到窗体设计器,并在窗体中增加一个命令按钮 Command1 ,如图 3-2 所示。 (2) 设置对象属性,见表 3-1 。. 对 象.

vina
Download Presentation

Visual Basic 程序设计教程

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. Visual Basic 程序设计教程

  2. 第3章 顺序结构程序设计 1 数据输出 1.直接输出到窗体 使用Print方法 : 其语法格式为 [〈对象名称〉.] Print [〈表达式列表〉] [{, | ;}] 【例3-1】使用Print方法在窗体中直接输出字符串或数值表达式的值,如图3-1所示。 设计步骤如下。 (1) 建立应用程序用户界面。 选择“新建”工程,进入到窗体设计器,并在窗体中增加一个命令按钮Command1,如图3-2所示。 (2) 设置对象属性,见表3-1。

  3. 对 象 属 性 属性值 说 明 Command1 Caption 欢迎 按钮的标题 图3-1 使用Print方法 图3-2 建立程序界面 表3-1 属性设置

  4. (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

  5. 2.与Print方法有关的函数 • Tab函数 • 其格式为:Tab(〈n〉) • 例如:Print Tab(10);"姓名";Tab(30);"年龄" • (2) Spc函数。 • 其格式为:Spc(〈n〉) • 例如:Print "ABC";Spc(5);"DEF" ' 输出:ABC DFE

  6. 【例3-2】在上例中使用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

  7. 3.使用位置属性 【例3-3】下面程序按指定尺寸、颜色和外观,把文本输出到窗体的中间。 设计步骤如下: (1) 建立应用程序用户界面与对象属性的设置参见例3-1。 (2) 编写命令按钮的Click事件代码: Private Sub Command1_Click() Dim a As String, textW As Integer, textH As Integer FontName = "隶书" ' 输出文本的字体 FontSize = 60 ' 输出字体的大小

  8. 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

  9. 4. 清除方法CLS 【例3-4】在上例中使用Cls方法清除窗体中由Print方法所生成的文本,如图3-5所 图3-5 使用Cls方法 只需在上例中增加命令按钮Command2(清除),并且编写其Click事件代码: Private Sub Command2_Click() Cls End Sub

  10. 对 象 属 性 属性值 说 明 Picture1 BackColor (白色) 图片框的背景色 Command1 Caption 欢迎 按钮的标题 输出文本到图片框 【例3-5】使用Print方法在图片框中输出字符串或数值表达式的值。 设计步骤如下: (1) 建立应用程序用户界面。选择“新建”工程,进入窗体设计器,在窗体中增加一个图片框Picture1和一个命令按钮Command1。 (2) 设置对象属性

  11. (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

  12. 【例3-6】在图片框中使用位置函数。 设计步骤如下。 (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)

  13. 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

  14. 3. 使用“标签”控件的输出 【例3-7】有框和无框的标签 设计步骤如下。 (1) 建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加一个命令按钮Command1、两个标签Label1和Label2。如图3-9左。 (2) 设置对象属性,见表3-3。如图3-9右。 (3) 编写程序代码。 编写命令按钮Command1的单击(Click)事件代码: Private Sub Command1_Click() Label1.Caption = "运行时改变标签的标题" End Sub

  15. 对象 属性 属性值 说明 Command1 Caption 改变(&G) 按钮的标题 Label1 Caption 设计时设置的标签内容 标签的内容 Alignment 2 – Center 标签的内容居中显示 Label2 Caption 设计时设置的标签内容 标签的内容 BorderStyle 1– Fixed Single 有边框的标签 BackColor &H800000 标签的背景改为白色 图3-9 建立界面与设置属性 表3-3 属性设置

  16. 【例3-8】在上例中修改标签的属性,使之自动改变尺寸以适应其内容 只需在上例中修改Label2的属性设置,并且修改Command1的Click事件代码: Private Sub Command1_Click() Label1.Caption = "运行时改变标签的标题" Label2.Caption = " 对于一个较长的或在运行时可能变化的标题,标签控件提供了两" & _ "种属性:AutoSize和WordWrap来改变控件尺寸以适应较长或较短的标题。" End Sub

  17. 基本语句 2 • 赋值语句LET • 赋值语句的一般格式为:[Let]〈名称〉=〈表达式〉 • 【例3-9】交换两个变量中的数据。 • 设计步骤如下: • 建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加一个命令按钮Command1、4个标签Label1~Label4。如图3-14左 • (2) 设置对象属性, • (3) 编写程序代码。 • 编写命令按钮Command1的Click事件代码: • Private Sub Command1_Click() • t = Label3.Caption • Label3.Caption = Label4.Caption • Label4.Caption = t • End Sub

  18. 2.卸载对象与结束程序 Unload语句 Unload语句的语法格式为:Unload 对象名 【例3-10】在例3-9中使用命令关闭程序窗体。 设计步骤如下: 只需在上例中增加一个命令按钮Command2(关闭),并且编写Command2的Click事件代码: Private Sub Command2_Click() Unload Me End Sub

  19. 3. 注释与暂停 • 注释语句 • 语法格式为: • Rem〈注释内容〉或'〈注释内容 • 例如:s = pi * r ^ 2 '计算圆的面积 • v = 4 / 3 * pi * r ^ 3 : Rem 计算球的体积 • 2. 暂停语句 • 其语法格式为:Stop

  20. 数据输入 3 1. 使用文本框控件 【例3-11】输入球体的半径,然后计算并输出球体的体积和表面积。 分析:设球的半径为r,球体积和球表面积分别为:v和f,依题义可得计算公式: 、 设计步骤如下: (1) 建立应用程序用户界面。 选择“新建”工程,进入窗体设计器,增加两个命令按钮Command1~Command2、3个标签Label1~Label3和3个文本框Text1~Text3。

  21. 编写程序代码。 编写命令按钮Command1的Click事件代码: Private Sub Command1_Click() Dim r As Single, v As Single, f As Single Const pi = 3.14159 r = Val(Text1.Text) v = 4 / 3 * pi * r ^ 3 : f = 4 * pi * r ^ 2 Text2.Text = v : Text3.Text = f End Sub 编写命令按钮Command2的Click事件代码: Private Sub Command2_Click() Unload Me End Sub

  22. 【例3-12】设某职工应发工资x元,试求各种票额钞票总张数最少的付款方案。【例3-12】设某职工应发工资x元,试求各种票额钞票总张数最少的付款方案。 分析:可以从最大的票额(100元)开始,算出所需的张数,然后在剩下的部分算出较小票额的张数,直到最小票额(1元)。 设计步骤如下: (1) 建立应用程序用户界面。 选择“新建”工程,进入窗体设计器,增加一个命令按钮Command1、14个标签Label1~Label14、7个文本框Text1~Text7。 (2) 设置对象属性。

  23. 编写程序代码。 编写命令按钮Command1的Click事件代码: Private Sub Command1_Click() x = Val(Text1.Text) ' x为实发工资数 y = x \ 100 : Text2.Text = y ' 求百元票张数并显示 x = x – 100 * y ' 求剩余款项 y = x \ 50 : Text3.Text = y ' 求五十元票张数并显示 x = x – 50 * y ' 求剩余款项 y = x \ 10 : Text4.Text = y ' 求十元票张数并显示 x = x – 10 * y ' 求剩余款项 y = x \ 5 : Text5.Text = y ' 求五元票张数并显示

  24. x = x – 5 * y ' 求剩余款项 y = x \ 2 : Text6.Text = y ' 求二元票张数并显示 x = x – 2 * y : Text7.Text = x ' 求一元票张数并显示 End Sub 编写文本框Text1的Change事件代码: Private Sub Text1_Change() Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "“ End Sub

  25. 使用焦点 在程序运行的时候,用户可以按下列方法改变焦点: l用鼠标单击对象。 l按Tab键或〈Shift〉+〈Tab〉在当前窗体的各对象之间巡回移动焦点。 按热键选择对象。

  26. 使用对话框 4 1.显示信息——信息对话框(MsgBox) 其语法格式为:变量= MsgBox(〈信息内容〉[,〈对话框类型〉[,〈对话框标题〉]]) 【例3-14】使用信息对话框输出各种票额钞票张数的付款方案 只需将例3-12的窗体中多余的文本框和标签删去,并改写命令按钮的Click事件代码 Private Sub Command1_Click() x = val(Text1.Text) ' x为实发工资数 Y1 = x \ 100 ' 求百元票张数 x = x Mod 100 ' 求剩余款项 Y2 = x \ 50 ' 求五十元票张数

  27. x = x Mod 50 ' 求剩余款项 Y3 = x \ 10 ' 求十元票张数 x = x Mod 10 ' 求剩余款项 Y4 = x \ 5 ' 求五元票张数 x = x Mod 5 ' 求剩余款项 Y5 = x \ 2 ' 求二元票张数 x = x Mod 2 ' 求一元票张数

  28. Text1.SetFocus a = "===========================" & Chr(13) a = a & Format(Y1 & "张 百元票,", "@@@@@@@@@@") & _ Format(Y2 & "张 50元票", "@@@@@@@@@@") & Chr(13) a = a & Format(Y3 & "张 10元票,", "@@@@@@@@@@@") & _ Format(Y4 & "张 5元票", "@@@@@@@@@@") & Chr(13) a = a & Format(Y5 & "张 2元票,", "@@@@@@@@@@@") & _ Format(x & "张 1元票", "@@@@@@@@@@") & Chr(13) a = a & "===========================" & Chr(13) a = a & "共计" & Text1.Text & "元" c = MsgBox(a, 0, "应发工资") End Sub

  29. 2.输入数据——输入框(InputBox) 其语法格式为: 变量 = InputBox(〈信息内容〉[,〈对话框标题〉][,〈默认内容〉]) 【例3-15】编制华氏温度和摄氏温度相互转换的程序。利用输入框输入温度. 设计步骤如下: (1) 建立应用程序用户界面与设置对象属性。 选择“新建”工程,进入窗体设计器,增加两个命令按钮Command1~Command2和一个标签Label1。其属性的设置参见图3-26

  30. 图3-26 温度的转换

  31. (2) 编写事件代码。 编写“摄氏转华氏”命令按钮Command1的Click事件代码: Private Sub Command1_Click() c = Val(InputBox("请输入摄氏温度值:", "摄氏转华氏", 0)) f = 32 + 9 * c / 5 Label1.Caption = "摄氏" & c & "度 = 华氏" & Format(f, "####.##") & "度" End Sub

  32. 编写“华氏转摄氏”命令按钮Command2的Click事件代码:编写“华氏转摄氏”命令按钮Command2的Click事件代码: Private Sub Command2_Click() f = Val(InputBox("请输入华氏温度值:", "华氏转摄氏", 0)) c = 5 * (f – 32) / 9 Label1.Caption = "华氏" & f & "度 = 摄氏" & Format(c, "####.##") & "度" End Sub

  33. 【例3-16】“鸡兔同笼”问题。鸡有2只脚,兔有4只脚,如果已知鸡和兔的总头数为h,总脚数为f。问笼中鸡和兔各有多少只?如图3-27所示。 图3-27 “鸡兔同笼”问题

  34. 分析:设笼中有鸡x只,兔y只,由条件可得方程组{x+y=h分析:设笼中有鸡x只,兔y只,由条件可得方程组{x+y=h 解方程组得 设计步骤如下: (1) 建立程序界面与设置对象属性。 选择“新建”工程,进入窗体设计器,首先增加3个标签Label1~label3和一个命令按钮Command1。其属性设置参见图3-27。

  35. (2) 编写程序代码。 编写命令按钮Command1的Click事件代码: Private Sub Command1_Click() Dim h As Integer, f As Integer h = Val(InputBox("鸡和兔的总头数", "请输入", 0)) f = Val(InputBox("鸡和兔的总脚数(偶数)", "请输入", 0)) x = (4 * h – f) / 2 y = (f – 2 * h) / 2 Label2.Caption = " 设笼中鸡和兔的总头数为" & h & ", 总脚数为" & f & "。" Label3.Caption = " 则笼中鸡有" & x & "只,兔有" & y & "只。" End Sub

  36. 习题三 以下各章习题均要求先写出流程图,然后根据流程图写出程序。 3.1 顺序结构的特点是什么?请举一个生活中符合顺序结构的例子,并且用流程图描述之。 3.2 下列哪组语句可以将变量A、B的值互换? (1) A = B : B = A (2) A = A + B : B = A – B : A = A – B (3) A = C : C = B : B = A (4) A = (A + B) / 2 : B = (A – B ) / 2

  37. 3.3 理解Top、Left与BackStyle属性。 利用标签制作阴影文字效果。如图3-29(左)所示程序启动后,在窗体上显示出不带阴影的文字“喜迎千禧年”。单击“效果1”按钮后文字出现黑色的阴影,如图3-29(中)所示。单击“效果2”按钮后文字阴影的间距加大,如图3-29(右)所示。 图3-29 阴影文字效果

  38. 3.4 向一个RC串联电路充电,电容上的电压为: U0为直流电源的电压。求在t = 1s时(R = 500kΩ,C = 10μf)U / U0的值。 3.5 理解大小写转换函数。 在文本框中输入英文字母,按“转大写”按钮,文本变为大写,按“转小写”按钮,文本变为小写。 3.6 在文本框中输入3种商品的单价、购买数量,计算并输出所用的总金额。 3.7 在文本框中输入小时、分、秒,化成共有多少秒,然后输出之。

  39. 3.8 在文本框中输入弧度值,将弧度换算为角度值(度、分、秒)的形式,然后输出。 如弧度值为1.474919573,化为角度的方法为 (1) 先将弧度值变成十进制, 1.474919573×(180/π) = 84.50666665 (2) 去掉整数部分84,余0.50666665。 (3) 用0.50666665×60 = 30.399999。 (4) 去掉30,余0.399999。 (5) 用0.399999×60 = 23.99994 ≈ 24" (6) 最后将84、30、24拼接成84°30' 24"。)

  40. 3.9 在文本框中输入长、宽、高,求长方体的表面积,并输出 3.10 在习题3.4中使用对话框函数Msgbox()输出计算的结果。 3.11 在习题3.5中使用对话框函数Msgbox()输出转换结果。 3.12 在习题3.7中使用对话框函数InputBox()输入时间的小时、分钟、秒钟数。 3.13 编程序输出在指定范围内的3个随机数,范围在文本框中输入。

More Related