Visual Basic程序设计.

Slides:



Advertisements
Similar presentations
Visual Basic 程序设计 第四讲.
Advertisements

第2章 Visual Basic 6.0编程基础 (第一部分)
計算機程式及實習 期末報告 題目:超級猜一猜
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
第四章 控制结构.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
客户端用Net-Library和SQL SERVER连接
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
新觀念的 VB6 教本 第 3 章表單設計.
第五章 数组.
Visual Basic程序设计.
程式語言Visual Basic 變數的可視範圍
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
Visual Basic程序设计 第七章 数组
程式語言 -Visual Basic 變數、常數與資料型態.
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
Visual Basic程序设计 第八章 过程 -子程序和函数
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
过程 第 7 章.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
初识Visual Basic.
第一章 VB概述 本章重点和难点 1.1 VB 概述 1.2 面向对象的程序设计方法基础
Visual Basic程序设计基础 计算机科学学院.
第9章 访问数据库 9.1 数据库的概念与建立 9.2 用Data控件访问数据库.
第4章 程序控制结构与算法基础.
計算機程式 廖文淵 Department of Computer Science and Engineering
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
第4章 基本的控制结构 4.1 顺序结构 4.2 选择结构程序设计 4.3 循环结构 4.4 综合实例 退出.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
Visual Basic 程序设计 教师:王 杨 电话:
第十二章 多模組與多專案.
程式語言Visual Basic 傳址與傳值
3.5 用递归法解决问题 黄学鸿.
第12章 VBA模块设计.
RWM600 (13.56MHz) Reader Antenna.
RWM600 (13.56MHz) Reader Antenna.
新觀念的 VB6 教本 第 6 章 資料型別.
第 8 章 过程.
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
第二章 创建用户界面 本章重点和难点 2.1 基本属性 2.2 创建窗体 2.3 Visual Basic的常用控件 2.4 制作菜单.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
For x = 0 To 9 For y = 0 To 9 z = *x + 10*y …… Next y
江西财经大学信息管理学院 《数据库应用》课程组2007
VB语言程序设计教程.
107學年度高一程式設計 上機考試 投影片 加減乘除.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
程序基础 2019/4/25.
第二章、第三章错题分析.
Visual Basic 程序设计及应用教程 (6.0版)
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
计算机应用基础 潍坊学院 计算机工程学院 主讲人:丁素英.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年10月18日.
1位选手参加了歌唱比赛,评委们的评分如下:
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年11月1日.
1、过程概述 2、函数过程 3、子过程 4、过程的使用 5、传递参数 6、过程的嵌套
算法与Visual Basic程序基础(二)
程序调试与错误处理.
Presentation transcript:

Visual Basic程序设计

第9章 变量与过程的作用域 ● 9.1 代码模块的概念 ● 9.4 变量与过程作用域示例 ● 9.2 变量的作用域 ● 9.5 按钮控件 第9章 变量与过程的作用域 ● 9.1 代码模块的概念 ● 9.1.1 窗体模块 ● 9.1.2 标准模块 ● 9.1.3 类模块 ● 9.2 变量的作用域 ● 9.2.1 变量作用域 ● 9.2.2 变量的生存期 ● 9.3 过程的作用 ● 9.3.1模块级过程和全局级过程 ● 9.3.2 调用其他模块中的过程 ● 9.3.3 过程的作用域及调用规则 ● 9.4 变量与过程作用域示例 ● 9.5 按钮控件 ● 9.5.1 命令按钮的属性 ● 9.5.2 命令按钮的事件 ● 习题 9

● 9.1 代码模块的概念 ● 9.1.1 窗体模块 添加新窗体的步骤为: ● 9.1 代码模块的概念 ● 9.1.1 窗体模块 添加新窗体的步骤为: 1) 选择“工程”菜单中的“添加窗体”命令,打开“添加窗体”对话框,如图9-3所示。 ● 9.1.2 标准模块 在工程中添加标准模块的步骤为: 1) 选择“工程”菜单中的“添加模块”命令,打开“添加模块”对话框,选择“新建”选项卡,如图9-4左所示。 2) 双击“模块”图标,打开新建标准模块窗口,如图9-4右所示。

3) 在属性窗口修改该模块的“名称”属性(只有“(名称)”属性),给模块命名。然后就可在标准模块的代码窗口中,向模块中添加过程。 ● 9.1.3 类模块 ● 9.2 变量的作用域 ● 9.2.1 变量作用域 ● 9.2.2 变量的生存期 1. 局部变量 例如: Dim a As Single Static x As String

【例9-1】局部变量示例。根据窗体的事件代码和通用过程,分析输出结果。 窗体Form的Activate(控件激活)事件代码为: Private Sub Form_Activate() Dim a As Integer, b As Integer, c As Integer ' 定义局部变量 a = 4: b = 7 Print Print Tab(31); "a"; Tab(41); "b"; Tab(51); "c=a+b“ Print Tab(5); "调用子过程test前的变量值"; Tab(30); a; Tab(40); b; Tab(50); c Call test Print Tab(5); "调用子过程test后的变量值"; Tab(30); a; Tab(40); b; Tab(50); c End Sub

通用过程代码: Sub test() Dim a As Integer, b As Integer, c As Integer ' 定义局部变量 c = a + b Print Tab(5); "子程序test中的变量值"; Tab(30); a; Tab(40); b; Tab(50); c End Sub 2. 窗体/模块级变量 例如: Private x As String Dim y As Integer 【例9-2】窗体/模块级变量示例。根据窗体的事件代码和通用过程,分析输出结果。 在通用段中声明: Private a As Integer, b As Integer, c As Integer ' 在通用段中定义变量

窗体Form的Activate(控件激活)事件代码: Private Sub Form_Activate() a = 4: b = 7 Print Print Tab(31); "a"; Tab(41); "b"; Tab(51); "c=a+b" Print Tab(5); "调用子过程test前的变量值"; Tab(30); a; Tab(40); b; Tab(50); c Call test Print Tab(5); "调用子过程test后的变量值"; Tab(30); a; Tab(40); b; Tab(50); c End Sub

通用过程prod: Sub prod() c = a + b Print Tab(5); "子程序test中的变量值"; Tab(30); a; Tab(40); b; Tab(50); c End Sub 3. 全局变量 【例9-3】变量使用方法示例。在一个标准模块文件中进行不同级的变量声明。 Public a As Integer ' 全局变量 Private b As String*10 ' 模块级变量 Sub test1() Dim x As Integer ' 局部变量

… End Sub Sub test2() Dim y As String ' 局部变量 ● 9.2.2 变量的生存期 1. 动态变量 2. 静态变量 3. 动态变量与静态变量使用示例 【例9-4】运行下面的程序代码,分析运行结果。 窗体Form的Activate(控件激活)事件代码:

Private Sub Form_Activate() Dim i As Integer For i = 1 To 4 ' 循环4次 tests ' 调用通用过程tests Next i End Sub 通用过程tests: Sub tests() Dim a As Integer, x As String ' 定义动态变量a和x,每次调用重新初始化 Static b, y ' 定义静态变量b和y,保留变量的值 a = a + 1 ' a为动态变量 b = b + 1 ' b为静态变量 x = x & "*" ' x为动态变量

● 9.3 过程的作用域 y = y & "*" ' y为静态变量 Print Print Tab(5); "a="; a, " b="; b, "x="; x, "y="; y End Sub ● 9.3 过程的作用域 ● 9.3.1模块级过程和全局级过程 1. 模块级过程 2. 全局级过程 ● 9.3.2 调用其他模块中的过程 ● 9.3.3 过程的作用域及调用规则

● 9.4 变量与过程作用域示例 【例9-5】设计一个模拟幸运数字机游戏。设幸运数字为7,每次由计算机随机产生3个0~10之间的随机数,当这3个随机数中有一个数字为7时,就算您赢了一次。要求利用全局变量来累计获胜次数。 设计步骤如下: 1) 建立用户界面及设置对象属性。 2) 编写事件代码。 Public n, wins 编写“生成”命令按钮Command1的Click(单击)事件代码: Private Sub Command1_Click() Label1.Caption = Int(Rnd * 10) ' 产生随机数 Label2.Caption = Int(Rnd * 10) ' 产生随机数 Label3.Caption = Int(Rnd * 10) ' 产生随机数 n = n + 1 ' 累计生成随机数的次数 ' 如果有一个数字是7,则响铃

If (Label1. Caption = 7) Or (Label2. Caption = 7) Or (Label3 If (Label1.Caption = 7) Or (Label2.Caption = 7) Or (Label3.Caption = 7) Then Beep wins = wins + 1 ' 使用全局变量,累计获胜次数 Label4.Caption = "共产生了" & Str(n) & "次随机数,您赢了" & Str(wins) & "次。" End If End Sub 编写“结束”命令按钮Command2的Click(单击)事件代码: Private Sub Command2_Click() Unload Me

【例9-6】编写程序,要求利用文本框检查用户口令,使用静态变量来限制输入口令的次数。 编写文本框的事件代码: Private Sub Text1_KeyPress(KeyAscii As Integer) Static n As Integer ' 设置静态变量 If KeyAscii = 13 Then ' Enter键 If LCase(Text1.Text) = "dingaiping" Then MsgBox "欢迎使用本系统", 0, "请多提宝贵意见" Else n = n + 1 If n = 3 Then MsgBox "对不起,您无权使用本系统。", 0, "密码错误!" Text1.Enabled = False MsgBox "您还有" & Str(3 – n) & "次机会。", 0, "对不起,口令错!" Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)

● 9.5 按钮控件 End If End Sub ● 9.5.1 命令按钮的属性 1. Cancel属性 2. Default属性 ● 9.5 按钮控件 ● 9.5.1 命令按钮的属性 1. Cancel属性 2. Default属性 3. Value属性 例如,要在程序中调用执行命令按钮Command1的Click事件过程: Command1.Value = 1 或 Command1.Value = True

● 习题 9 4. Style属性 5. Picture属性 6. DisabledPicture属性 ● 9.5.2 命令按钮的事件 ● 9.5.2 命令按钮的事件 ● 习题 9 9.1 编写程序,实现化简分数。要求:在标准模块中编写求最大公约数的Function过程,然后在窗体模块中调用,来对分数进行化简。 9.2 下面程序是利用全局变量和函数,修改例9-5后的程序。其实现功能是:设计模拟幸运数字机游戏。设幸运数字为7,每次由计算机随机产生3个0~10之间的随机数,当这3个随机数中有一个数字为7时,就算您赢了一次。要求利用函数过程计算获胜率。 请按照下面的设计步骤进行程序设计,运行成功后,分析代码。 设计步骤如下: 1) 建立用户界面及设置对象属性,参见图9-14,在例9-5基础上,增加标签Label5用来输出获胜率。 2) 编写事件代码。 在标准模块中输入下面的代码,声明全局变量。当程序运行时,程序中的每一事件过程都能访问该变量。 Public n, wins

在Module1标准模块中声明下面的函数过程: Function rate(hits, att) Percent = hits / att rate = Format(Percent, "0.0%") End Function 编写“生成”命令按钮Command1的Click事件代码: Private Sub Command1_Click() Label1.Caption = Int(Rnd * 10) Label2.Caption = Int(Rnd * 10) Label3.Caption = Int(Rnd * 10) n = n + 1

' 如果有一个数字是7,则响铃 If (Label1.Caption = 7) Or (Label2.Caption = 7) Or (Label3.Caption = 7) Then Beep wins = wins + 1 Label4.Caption = "共产生了" & Str(n) & "次随机数,您赢了" & Str(wins) & "次。" Label5.Caption = "获胜率为:" & rate(wins, n) End If End Sub 编写“结束”命令按钮Command2的Click事件代码: Private Sub Command2_Click() Unload Me