visual basic 程序设计及应用

321
Visual Basic 程程程程程程程 程程程程 程程程 [email protected] 程程程程程程

Upload: lajos

Post on 26-Jan-2016

104 views

Category:

Documents


7 download

DESCRIPTION

北京大学课程. Visual Basic 程序设计及应用. 主讲教师:唐大仕 [email protected]. 有关事项. 参考书 Visual Basic 程序设计, 唐大仕,清华大学出版社, 2003 ( 丛书主编:卢湘鸿 ) Visual Basic 程序设计题解与上机指导 唐大仕,清华大学出版社, 2003. 教学网站 校内: http://cf.pku.cn/tds 备份: http://www.dstang.com/cf2 与唐大仕老师联系 [email protected] QQ : 351116463 上机 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Visual Basic 程序设计及应用

Visual Basic 程序设计及应用

主讲教师:唐大仕[email protected]

北京大学课程

Page 2: Visual Basic 程序设计及应用

有关事项 参考书

Visual Basic 程序设计, 唐大仕,清华大学出版社, 2003 ( 丛书主编:卢湘鸿 )

Visual Basic 程序设计题解与上机指导 唐大仕,清华大学出版社, 2003

Page 3: Visual Basic 程序设计及应用

教学网站 校内: http://cf.pku.cn/tds 备份: http://www.dstang.com/cf2

与唐大仕老师联系 [email protected] QQ : 351116463

上机 时间星期四 9-10 节 , 地点 3 、 5 、 6 号机房

Page 4: Visual Basic 程序设计及应用

课程要求 不迟到、不旷课 完成参考资料的阅读、练习等课后任务 按时交作业

Page 5: Visual Basic 程序设计及应用

1 序论

Page 6: Visual Basic 程序设计及应用

程序与语言的概念 为什么要学习程序设计

软件 = 程序 + 文档 程序:指令的序列 语言

汇编语言 asm : 用助记符来表示计算指令 高级语言 c, pascal, fortran,

用表达式来表示计算 用过程来表示流程

面向对象的语言 c++, java,vb 用对象来表示实现世界 每个对象有自己的属性、功能、能与外界交互

Page 7: Visual Basic 程序设计及应用

Visual Basic 简介 一种程序设计环境 一种程序设计语言 具有广泛的用途

Page 8: Visual Basic 程序设计及应用

VB 快速入门单击右击双击

Page 9: Visual Basic 程序设计及应用

设计与运行 界面设计

(插入对象,设其属性)(对象窗) 代码设计

(双击对象,填写代码)(代码窗) 运行

按 F5 (或点“启动”按钮)

示例:按钮信息

Page 10: Visual Basic 程序设计及应用

示例:按钮信息 在程序中书写:

MsgBox "Hello!" 编程提示:

要用西文标点、空格 单击“启动”按钮才会运行 单击“结束”按钮才可以进一步修改

Page 11: Visual Basic 程序设计及应用

保存 保存

窗体文件 .frm 工程文件 .vbp 其他辅助文件

编程提示: 文件应保存在自已的文件夹中,不要放在 VB98 下 下次打开这个程序,只需双击 .vbp 文件即可 每一个程序都要单独建一个工程 每个程序放在单独的文件夹中 交作业时,将文件夹中的所有文件压缩成一个文件

Page 12: Visual Basic 程序设计及应用

编译 编译

编译就是将源程序转成可执行程序的过程 怎样编译

文件生成 xxxxx.exe 文件 编程提示:

exe是交给最终用户的,编程者不需要它

Page 13: Visual Basic 程序设计及应用

一些典型应用

Page 14: Visual Basic 程序设计及应用

一些专题知识 自己设计一个屏幕保护程序; 自己设计一个多媒体播放器; 自己设计一个小游戏; 信息安全与密码问题; 软件工程,程序漏洞的原因; 信息管理系统; 网上信息交流,聊天,游戏的原理; 电子商务的基本构成方式; 计算机智能及其局限性; 分形图形与计算机艺术; 等等。

Page 15: Visual Basic 程序设计及应用

课程目标 1. 程序

以 Visual Basic 为工具 掌握程序设计的基本概念和基本方法 具备使用程序来解决一些实际问题的能力

2. 应用 通过程序来提高Word 、 Excel 、网页制作等常用

软件的应用能力 了解病毒防护、数据加密、企业信息化、电子政务、人工智能、数字艺术等专题知识

以简明的程序来介绍,不是十分注重编程技巧技术,而是重在理解其本质。

Page 16: Visual Basic 程序设计及应用

VB 程序设计环境 工程窗口 对象窗口 代码窗 属性窗 工具箱

Page 17: Visual Basic 程序设计及应用

注意区分三种状态 设计状态 运行状态 中断状态

Page 18: Visual Basic 程序设计及应用

小结 程序、软件与语言 Visual Basic是一种高级语言 设计

界面设计 代码设计

运行 保存 编译

Page 19: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 20: Visual Basic 程序设计及应用

2 VB 程序设计的核心概念

Page 21: Visual Basic 程序设计及应用

VB 中的对象 属性 (property)

对象的状态,用名词、形容词表示 方法 (method)

对象的动作或功能,用动词表示 事件 (event)

对象与外界的交互

Page 22: Visual Basic 程序设计及应用

属性的书写 对象 . 属性

Command1.Caption = “xxxxx” Text1.ForeColor = vbRed Me.BackColor = RGB( 255, 0, 0 )

注: Me 表示窗体 Me.BackColor=RGB( Rnd*255, Rnd*255, Rnd*25

5) 注: Rnd 表示随机数(范围 0 到 1之间,不包括 1 )

注意用等号

Page 23: Visual Basic 程序设计及应用

方法的书写 对象 .方法

Command1.Move 1000,500 Me.Print "Hello"

注意:属性和方法都可以智能提示 若没有提示,经常都因为写错了对象名 写错了对象名,运行时会提示“需要对象” 可以用 Me. 来正确地书写对象名

Page 24: Visual Basic 程序设计及应用

事件的书写 Private Sub 对象名_事件名 ( … … )

写书代码 ……

End Sub

一般不用手工书写 可直接在代码窗的顶部选择对象名及事件名

事件驱动 示例 : MouseMove 事件 参见文件 event_drive.frm Me.Caption = x & "," & y 注意: & 表示连接, & 前后需要一个空格

Page 25: Visual Basic 程序设计及应用

示例:事件改变属性 改变字体、大小、颜色

注意: = 表示赋值 a= a+1

Page 26: Visual Basic 程序设计及应用

进一步理解对象

Page 27: Visual Basic 程序设计及应用

对象命名 对象名

对象名 (Name) 与文字 (Caption/Text) 不同 窗体名 .控件名

Page 28: Visual Basic 程序设计及应用

匈牙利命名法 对象命名的惯例:匈牙利命名法

前缀(表类型) + 单词(表意义) 例: btnSayHello btnOk cmdOk

Page 29: Visual Basic 程序设计及应用

特殊对象名 事先定义好的对象 Me, Screen, Printer , App, Debug

注: Me 表示当前窗体 Me. 可省略 Me.Left = (Screen.Width- Me.Width)/2

操作技巧: Ctrl+J 快速提示 vbXxxxx F2 对象浏览

Page 30: Visual Basic 程序设计及应用

几种常用对象 按钮 CommandButton 前缀 btn 标签 Label lbl 文本框 TextBox txt 图片框 PictureBox pic

注:如果要在按钮上加图片必须首先设设 Style

然后再设 Picture,DownPicture

Page 31: Visual Basic 程序设计及应用

常见的属性 Name ForeColor, BackColor FontSize FontN

ame Top Left Width Height Caption/ Picture/ Text / Value Visiable Enabled

Page 32: Visual Basic 程序设计及应用

默认属性 对象有一个默认属性 ( 属性值 )

如: Label 的 Caption, Text 的 Text 如: Text1.Text = "...." 可写为 Text1 = "...."

Page 33: Visual Basic 程序设计及应用

常见的方法 Move (适用于各种控件 ) Print (适用于窗体及图片框 ) Show / Hide (适用于窗体 )

Page 34: Visual Basic 程序设计及应用

常见的事件 有关 Mouse, keyboard, 有关选择,文字改变

Page 35: Visual Basic 程序设计及应用

事件驱动编程 对象之间的相互作用 示例:两个文本框显示同样的文本

文本框的 change 事件 跳动的小球

Shape形状对象 : Shape FillColor FillStyle Timer 计时器对象 : Interval Shape1.Left = Shape1.Left + Rnd*1000-500 Me.Caption = Now Form_Load 事件

变色的彩灯 Shape1.FillColor

Page 36: Visual Basic 程序设计及应用

使用帮助 按 F1键 进入 MSDN(要求安装了MSDN) 使用网络上的 MSDN

进入 http://msdn.microsoft.com 选 > Library > Development Tools and Languag

es > Visual Studio 6.0 > Visual Basic 6.0 > 按 F2键 进入对象浏览窗口 按 Ctrl+J 键 进入快速提示 使用 vb5 的中文帮助,可从教学网上下载

Page 37: Visual Basic 程序设计及应用

网络上的资源 国内

http://www.vbgood.com/ http://www.vbaspnew.com http://vbworld.sxnw.gov.cn/ http://www.vbdak.net/

国外 http://msdn.microsoft.com/vbasic/ http://www.vb-helper.com/ http://www.planet-source-code.com/

使用搜索引擎 www.baidu.com www.google.com

讨论区bbs.pku.cn, bbs.tsinghua.edu.cn 上的 VB讨论区

Page 38: Visual Basic 程序设计及应用

小结 Visual Basic 程序设计语言

是一种面向对象的高级语言 Visual Basic 程序设计环境

是一种易用的、集成化的、可视化编程环境 Visual Basic 程序设计核心概念

对象:属性、方法、事件 事件驱动编程

Page 39: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 40: Visual Basic 程序设计及应用

3 数据与运算

Page 41: Visual Basic 程序设计及应用

数据与运算 数据:常量与变量 数据的类型

Me.Height = 3000 数值 Command1.Caption = "Press Me" 文字 Label1.Visible = False 逻辑 Me.Print Now 日期时间

不同的类型: 数据的含义不同 数据的运算不同 数据的存储方式不同

Page 42: Visual Basic 程序设计及应用

数据类型 类型 占字节数

整型 Integer 2 ( 范围 -32768~32767) 长整型 Long 4 单精度 Single 4 双精度 Double 8

Page 43: Visual Basic 程序设计及应用

数据类型(续) 逻辑型 Boolean 2 值能为 True 或 False 日期型 Date 8 字符串型 String

变体型 Variant 对象型 Object

Page 44: Visual Basic 程序设计及应用

变量 变量的含义 变量的名字

用字母、数字、下划线构成 不能用数字开头

Page 45: Visual Basic 程序设计及应用

变量的定义 隐式定义

不定义而直接赋值 显式定义 使用 DIM 例

Dim age As Integer Dim iCount% As Integer, salary As Double Dim studentName As String

Page 46: Visual Basic 程序设计及应用

字面常量的书写 整数、实数 类似于数学中的写法

如 123 -45 123.45 2.3E-5 4# 十六进制 &H0027D9 长整数 1234&

日期 #9:21:30 PM# #7/21/99#

逻辑 True False

字符 "Hello" "A" ""

Page 47: Visual Basic 程序设计及应用

符号常量 Const PI As Double =3.14

Page 48: Visual Basic 程序设计及应用

运算符

算术运算 +(加 ) - (减 ) *(乘 ) /(除 ) \(整除 ) mod(取余) ^(乘方 )

字符串连接 & + 关系运算 > < = >= <= <> 逻辑运算 And Or Not

Page 49: Visual Basic 程序设计及应用

表达式 表达式举例:参 表达式 .txt

Page 50: Visual Basic 程序设计及应用

运算符的优先级 优先级(从高到低) :

算术运算 (其中 ^ */ \ +- ) 关系运算 ( > = < ) 逻辑运算 (其中 NotAndOr )

用圆括号

Page 51: Visual Basic 程序设计及应用

程序的基本任务 输入处理输出 示例:圆的面积

Dim r As Double, area As Double Const Pi As Double = 3.14 r = InputBox("请输入半径 ") area = Pi * r * r MsgBox "半径为 " & r & " 的圆的面积是 " & are

a 注意:要定义变量

Page 52: Visual Basic 程序设计及应用

关于数据类型的几个细节 类型的不严格

如 Me.Caption = Now() 如 r = Text1.Text

精度问题 如 i = 5.6 i=5.5 i=5.4

Page 53: Visual Basic 程序设计及应用

示例 求解一元二次方程

用文本框来表示输入、输出 用按钮来表示命令 对象名一定要写正确 注意公式中用 Sqr 表平方根,注意圆括号

Page 54: Visual Basic 程序设计及应用

数学函数 Rnd

Int(Rnd * 9) + 1 注: Randomize 表示随机初始化

Sqr,Abs 平方根 ,绝对值 Sin, Cos 正弦、余弦(弧度作单位) Log, Exp 自然对数、指数 Int 取整(不超过它的最大整数) 示例:

rnd_luckynum Rnd_投针 Sqr_triangle_area

Page 55: Visual Basic 程序设计及应用

字符串函数 Len 求长度 LTrim, RTrim, Trim 去空格 UCase, LCase 大写、小写 Left, Right, Mid 左边、右边、中间 InStr 在字符串的子串位置 Asc, Chr, String 求 ASCII码、转字符、重复字符

Page 56: Visual Basic 程序设计及应用

日期函数 Date, Time, Now 当前日期、时间、 Year, Month, Day, Weekday 求年、月

等 Hour, Minute, Second 求时、分、秒

Page 57: Visual Basic 程序设计及应用

转换及判断 CInt, CLng, CDbl, CDate, CStr 转成相

应的类型 Str, Val 转成字符串,转成数字 Hex, Oct 转成十六进制,八进制 Format

Format( Now(), "hh:mm:ss" ) Format( 3.14, "#,###.000" )

IsNumeric, IsDate 是否为数字、为日期

Page 58: Visual Basic 程序设计及应用

重要函数列表 I/O: MsgBox InputBox Beep 数学: Rnd Abs Int Sqr Sin Cos Log Exp 字符串: Len LTrim RTrim Trim UCase Mid Left Right InStr Chr Asc 日期: Date Time Now Year Month Day 转换判断 CInt Val Format IsDate IsNumeric

Page 59: Visual Basic 程序设计及应用

小专题: VB 的函数与 Excel函数

+ - * / \ Mod ^ And Or Not Rnd Abs Int Sqr Sin Co

s Log Exp Len LTrim RTrim Trim UCase LCase Mid Left Right InStr Chr Asc

Date Now Year Month Day

CInt Val Format IsDate IsNumeric

+ - * / Mod() ^ And() Or() Not() Rand Abs Int Sqrt Sin Cos Log Exp

Len LTrim RTrim Trim Upper Lower Mid Left Right Find Char Code

Today Now Year Month Day

Int Value Format IsDate IsNumber

Page 60: Visual Basic 程序设计及应用

Excel函数举例 在学生名单表中

排序字段 =MID(A2,4,2)& "_" & A2

随机选择 =INDEX(A2:A161, RAND()*161+1 )

查找 =VLOOKUP(D2,A2:B161,2,FALSE)

Page 61: Visual Basic 程序设计及应用

小结 数据类型 常量与变量 运算符 常用函数

Page 62: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 63: Visual Basic 程序设计及应用

4 语句与分支控制

Page 64: Visual Basic 程序设计及应用

VB 语言 程序设计语言的两个重要方面:

数据 控制

Page 65: Visual Basic 程序设计及应用

简单语句 简单语句

一句一行 多句同行 ( 用: ) 一句跨多行 ( 用 _ )

Page 66: Visual Basic 程序设计及应用

注释 对程序的执行没有影响 用单引号开始 ,直到行尾 注释的用途:

对一段程序 对一些变量 对一些算法

Page 67: Visual Basic 程序设计及应用

赋值语句 = 示例 : a=a+1 示例 : 移动的小球 示例:交换两变量值

Page 68: Visual Basic 程序设计及应用

输入与输出 程序的基本过程 :

输入处理输出 输入输出的常见方法:

使用控件进行 输入 (如TextBox) 输出(如 Label)

使用 InputBox, MsgBox 使用 Print 表示输出

Page 69: Visual Basic 程序设计及应用

Print 的使用 Print

换行 不换行(,或;)

示例:圆的面积 方法 Print, cls , 与;

示例: a *b = c

Page 70: Visual Basic 程序设计及应用

If条件语句 两种写法:

同一行: If 条件 Then … Else …

多行: If 条件 Then … Else … End If

Page 71: Visual Basic 程序设计及应用

示例 示例:小球移动,但不出边界

要点 1 :使用变量 要点 2 :使用 If

示例:闰年 y Mod 400 = 0 Or y Mod 100 <> 0 And y Mod 4 = 0

要点 1 :使用 Mod 要点 2 :使用 And 及 Or

Page 72: Visual Basic 程序设计及应用

条件语句嵌套 条件语句的嵌套

示例:性别,年龄的判断 示例 : 判断圆的半径

编程提示: 使用 Tab键正确地缩进

Page 73: Visual Basic 程序设计及应用

ElseIf 示例:分数的判断 示例:所得税的计算

Page 74: Visual Basic 程序设计及应用

Select Case Select case 表达式 case 常量 。。。。 case 常量 。。。。 case else …. End Select 示例: 分数

Page 75: Visual Basic 程序设计及应用

示例: 自动出题及判分 If 及 Select Case 的使用 变量的使用

注意, a,b,op三个变量是放到最前面的 ( 不在 Sub 内,被称为窗体级变量 )

随机数的使用 Rnd Randomize

随机数初始化,一般在 Form_Load 中 据Rnd 的数值来表示不同的字符,如 +-* /

Page 76: Visual Basic 程序设计及应用

IIF函数 IIf(条件 , 式 1, 式 2 ) 例如:

M = IIf( a>b, a, b ) z = IIf( a<1, “小” , IIf( a=1, “ 等” ,

“ 大” ) )

Page 77: Visual Basic 程序设计及应用

小专题:关于随机数 伪随机数 线性同余算法 Xn+1 = (Xn * a + c ) mod m , 其中 m>0称为模数, 0≤ a <m称为乘数, 0≤c <m称为增量, 0≤X0<m称为初始值或种子

如 X = ( X * 123 + 59 ) mod 65535 如 X = ( X * 2053 + 13849 ) mod 65535 如 a取 69069 或 1664525(即&H19660D)

Page 78: Visual Basic 程序设计及应用

Java 语言中用的公式 synchronized public void setSeed(long seed) {

this.seed = (seed ^ 0x5DEECE66DL) & ((1L << 48) - 1); } synchronized protected int next(int bits) {

seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1); return (int)(seed >>> (48 - bits));

} Donald Knuth, The Art of Computer Programming,

Volume 2, Section 3.2.1.

Page 79: Visual Basic 程序设计及应用

C语言中用的公式 unsigned long int next = 1; int rand(void) {

next = next * 1103515245 + 12345; return (unsigned int)(next/65536) % 32768;

} void srand(unsigned int seed) {

next = seed; }

Page 80: Visual Basic 程序设计及应用

生成标准正态分布的随机数

产生方法很多。 近似方法(利用中心极限定理) 即用 个 变量产生一个 变量。 其中 是抽自 的随机数, 可近似为

一 个 变量。 简单地说: 6 个均匀分布的随机数的平均值是

一个正态分布的随机数

1,0N

n 1,0U 1,0N

2112 unxiu 1,0U

n

i iun

u1

1

1,0N

Page 81: Visual Basic 程序设计及应用

蒲丰氏 (Buffon)问题

如果针的长度是平行间的距离的一半,则:Pi = 总数 / 相交的针

针在平行线间的位置

Page 82: Visual Basic 程序设计及应用

蒙特卡罗( Monte Carlo )方法 蒙特卡洛方法是一种应用随机数来进行计算机模拟的方法.此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数.

蒙特卡罗方法的主要应用范围包括:粒子输运问题,统计物理,典型数学问题,真空技术,激光技术以及医学,生物,探矿等方面。随着科学技术的发展,其应用范围将更加广泛。

蒙特卡罗方法在粒子输运问题中的应用范围主要包括:实验核物理,反应堆物理,高能物理等方面。

蒙特卡罗方法在实验核物理中的应用范围主要包括:通量及反应率,中子探测效率,光子探测效率,光子能量沉积谱及响应函数,气体正比计数管反冲质子谱,多次散射与通量衰减修正等方面。

Page 83: Visual Basic 程序设计及应用

在我们所生活的世界上,充满了不确定性

Page 84: Visual Basic 程序设计及应用

小结 简单语句 输入及输出 If/ElseIf 语句 Select Case 语句

Page 85: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 86: Visual Basic 程序设计及应用

5 循环语句、绘图

Page 87: Visual Basic 程序设计及应用

三种控制结构 为什么要有循环 程序的三种控制结构

顺序 分支(选择) 循环

Page 88: Visual Basic 程序设计及应用
Page 89: Visual Basic 程序设计及应用

程序流程图 流程线 开始与结束 任务及子任务 输入与输出 条件判断

Page 90: Visual Basic 程序设计及应用
Page 91: Visual Basic 程序设计及应用

For 语句 For v=1 To 100 Step 2

…Next

其中 Step 1 可以省略

Page 92: Visual Basic 程序设计及应用

使用 For 语句 示例

显示 1-100 画同心圆 1+2+…+100 1*1+2*2 +...+100*100 6^3+....+69^3

Page 93: Visual Basic 程序设计及应用

Do Loop Do While 条件 。。。 Loop

示例 :角谷猜想

Page 94: Visual Basic 程序设计及应用

Do 循环的几种写法 Do While 条件 ( 或 :Until条件 )

。。。 Loop

Do 。。。 (至少执行一次循环)

Loop While 条件 ( 或 :Until条件 )

While 条件 。。。

Wend

Page 95: Visual Basic 程序设计及应用

循环的五要素 初始化 循环条件 循环动作 循环改变 结束后处理

Page 96: Visual Basic 程序设计及应用

理解循环 1变量 5 要素 3典型 几种循环的比较

Page 97: Visual Basic 程序设计及应用

绘图 在哪里绘图:

在窗体上 如: Me.Circle (1000,1000),300

在 PictureBox 上 如 : Picture1.Circle (1,1),1

Page 98: Visual Basic 程序设计及应用

单位及比例尺 比例尺 .ScaleMode

=vbTwips 1/1440 inch =vbPixels 像素

Scale (-50,50)-(50,-50) ScaleLeft ScaleTop ScaleWidth ScaleHeight

Page 99: Visual Basic 程序设计及应用

Scale (-50,50)-(50,-50)

Page 100: Visual Basic 程序设计及应用

绘图状态 CurrentX=100, CurrentY=100 ForeColor BackColor DrawWidth DrawStyle FillColor FillStyle DrawMode

(决定最终颜色与当前画笔颜色、背景颜色的关系) =vbCopyPen, =vbXorPen

Font FontSize, FontName, FontBold, FontItalic

Page 101: Visual Basic 程序设计及应用

绘图方法 Line (x,y)-(x,y), color, BF

其中 B 表示画框、 BF 表示画填充的矩形 Circle (x,y), r, color Circle (x,y), r, color, start, end, aspect PSet (x,y), color Print "....." Cls 清屏 示例: draw_Simple_0.frm

Page 102: Visual Basic 程序设计及应用

绘图示例 函数图 螺线 画极坐标图 旋转的椭圆

编程提示: Form_Load 中绘图,先Me.Show

Page 103: Visual Basic 程序设计及应用

上机注意事项 1. 关于文件 2. 关于图片 3. 关于内容 4. 关于书写

Page 104: Visual Basic 程序设计及应用

循环出口语句 Exit For

示例 : 判断质数 Exit Do 其他几个相关的语句:

Exit Sub 退出此段 Sub子程序 End 结束整个程序 Stop 停止执行,进入中断状态

Page 105: Visual Basic 程序设计及应用

循环的嵌套 示例

画图(多张饼) 1! +2! +…. +10! 九九乘法表 2-100 以内的角谷猜想

内外循环的关系 每重循环的控制变量 控制变量间的关系

Page 106: Visual Basic 程序设计及应用

循环的应用 (了解 ) 数列求和 : ---递推法 1! + 2! +…. + 10! 2+22+222+… Exp_sum Pi/2 Pi/4

7

1

5

1

3

11

4

753

321

53

21

3

11

2

!3!2

132 xx

xex

Page 107: Visual Basic 程序设计及应用

循环的应用 字符串加密

Page 108: Visual Basic 程序设计及应用

附:关于密码与加密 口令( password)

原则:自己易记、他人难猜、经常更改 技巧:不与自己直接相关,而是间接相关

并且不能太短,字母、数字、符号混合 在公共场合使用口令要谨慎 不能让 IE记住口令

注意防护: 一些口令破解软件,

如Advanced Pdf password covery 如Rar Password Cracker, Passware

防止木马

Page 109: Visual Basic 程序设计及应用

口令使用经验谈 不要使用本人的生日、身份证件号码、银行账户中的前几位、后几位或姓名的拼音作为密码。

不要将密码设置为相同的数字或字母,尽量使用数字与字母的组合构成密码

不要将密码设置为有顺序的数字或字母 不要将网上银行“登录密码”和“交易密码”设置成相同的密码 在任何情况下不能将密码漏给他人,包括银行工作人员 在使用网上银行时,最好不要直接用键盘输入密码,而用“密码

软键盘”输入密码

Page 110: Visual Basic 程序设计及应用

常见的安全措施—正确使用网银 常见方式“钓鱼”

“钓鱼”之一 :电子邮件 “钓鱼”之二 :盗号木马 “钓鱼”之三 : 网址欺骗

防钓鱼 直接输入域名 用密码软键盘 加密交易信息

使用加密控件,使用密码 U盘,使用 https协议 同样,防止短信诈骗

Page 111: Visual Basic 程序设计及应用
Page 112: Visual Basic 程序设计及应用
Page 113: Visual Basic 程序设计及应用

加密技术加密加密技术:把信息转换成一种不可读或不可理解的形式

解密技术

私钥对称加密公钥非对称加密单向函数

Page 114: Visual Basic 程序设计及应用

四种传统加密方法 1.代码加密 2.替换加密 3.变位加密 4.一次性密码簿加密

Page 115: Visual Basic 程序设计及应用

对称密码术(单一密钥)加密算法: CHARACTER+3

Dear LiXiu…… ………… ……

明文

Ghdu OlAlx…… ………… ……

密文AF计划 接收者发送者

Page 116: Visual Basic 程序设计及应用

DES算法 DES是对称密钥加密的算法, DES算法大致可以分成四个部分:

( 1 )初始置换 ( 2 )迭代过程 ( 3 )逆置换和 ( 4 )子密钥生成

Page 117: Visual Basic 程序设计及应用

DES 加密原理示意图

左半部分 32 位 右半部分 32 位

新的左半部分 新的右半部分

密钥移位

置换后的密钥

f

+

Page 118: Visual Basic 程序设计及应用

非对称密码术

明文 密文 明文

公共密钥 私有密钥

我其他人

Page 119: Visual Basic 程序设计及应用

RSA算法 RSA算法是非对称密钥加密,其算法演

算过程 ( 1 )密钥配制过程 ( 2 )加密 ( 3 )解密

Page 120: Visual Basic 程序设计及应用

RSA举例 取两个质数 p=11 , q=13 , p和 q的乘积为 n=p×q=143 , 算出另一个数z=(p-1)×(q-1)=120; 再选取一个与 z=120 互质的数,例如 e=7, 则公开密钥 = ( n , e ) = ( 143 , 7)。 对于这个 e值,可以算出其逆: d=103。因为 e×

d=7×103=721 ,满足 e×d mod z =1;即721 mod 120=1 成立。

则秘密密钥 = ( n , d ) = ( 143 , 103 )。

Page 121: Visual Basic 程序设计及应用

设张小姐需要发送机密信息(明文) m=85给李先生,她已经从公开媒体得到了李先生的公开密钥( n , e ) = ( 143 , 7),于是她算出加密值:c= me mod n=857 mod 143=123并发送给李先生。李先生在收到密文 c=123 后,利用只有他自己知道的秘密密钥计算: m= cd mod n =123103 mod 143=85 ,所以,李先生可以得到张小姐发给他的真正的信息 m=85 ,实现了解密。

Page 122: Visual Basic 程序设计及应用

RSA的安全性 就目前的计算机水平用 1024位的密钥是安全的, 2048位是绝对安全的。RSA实验室认为, 512位的 n 已不够安全,应停止使用,现在的个人需要用 668位的 n ,公司要用 1024位的 n ,极其重要的场合应该用 2048位的 n。

Page 123: Visual Basic 程序设计及应用

RSA用于身份验证和数字签名 数字签名必须保证以下 3 点:

接收者能够核实发送者对报文的签名。 发送者事后不能抵赖对报文的签名。 接收者不能伪造对报文的签名。

现在已有多种实现各种数字方法,但签名的采用公开密钥算法要比常规算法更容易实现。

Page 124: Visual Basic 程序设计及应用
Page 125: Visual Basic 程序设计及应用

电子签名 电子签名 (比数字签名更广泛的概念)

注:媒体 _vir_fingerprint_F0914.avi注:《电子签名法》注: www.icbc.com.cn 中国工商行 usbkey客户证书注: outlook express 电子邮件加密及签名注: http://www.ca365.com 申请免费试用证书

保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。

Page 126: Visual Basic 程序设计及应用

密钥与密码破译方法 ( 1 )密钥的穷尽搜索

破译密文就是尝试所有可能的密钥组合。虽然大多数的密钥尝试都是失败的,但最终有一个密钥让破译者得到原文,这个过程称为密钥的穷尽搜索。

( 2 )密码分析 已知明文的破译方法 选定明文的破译方法

( 3 )其他方法 “窥视”或“偷窃”密钥内容;进行“垃圾分析”;

等等

Page 127: Visual Basic 程序设计及应用

防止密码破译的措施 ( 1 )强壮的加密算法 ( 2 )动态会话密钥 ( 3 )保护关键密钥

Page 128: Visual Basic 程序设计及应用

小结 控制结构与流程图 For Next 语句 Do Loop 语句 循环出口语句 循环的嵌套 循环的应用 ----数列求和

Page 129: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 130: Visual Basic 程序设计及应用

6 过程、函数、数组

Page 131: Visual Basic 程序设计及应用

过程 学习 VB 语言:

单词语句篇章

使用过程的好处 任务分解 代码重用

示例 :sub_print100

Page 132: Visual Basic 程序设计及应用

事件过程与普通过程 事件过程

与某个对象事件相关 过程名为: 对象名 _事件名 如: Sub Command1_Click() 如: Sub Form_Load()

普通过程 与事件无关 表示某项任务

Page 133: Visual Basic 程序设计及应用

过程的定义 Sub 过程名(参数 As 类型,。。。) 。。。 End Sub

Page 134: Visual Basic 程序设计及应用

过程的调用 使用 Call

Call 过程名 (参数值。。。) 注意,要用括号

或省略Call 过程名 参数值,。。。 注意,不用括号 一个参数时,可用括号,也可不用

示例:画花儿 示例 :sub_delay

注 :second, do loop

Page 135: Visual Basic 程序设计及应用

函数 函数也是一种子程序

是一种带返回值的过程

内建函数 已由 VB定义好,可直接使用 如: CInt(), Int(), Rnd(), Now()

Page 136: Visual Basic 程序设计及应用

I/O函数 MsgBox

有关按钮图标 / 有关返回值 MsgBox "hello", vbInformation

InputBox 有关默认值 / 有关返回值 a = InputBox(" Please Input a num", , 99)

Page 137: Visual Basic 程序设计及应用

函数的定义 Function 函数名(参数,。。。) As 类型

。。。注意:其中有一句 : 函数名 =某个值 End Function

Page 138: Visual Basic 程序设计及应用

函数的调用 一般用于表达式:

函数名 (参数值。。。) 用括号

示例: sub_fac_10: 求: 1! +2! +……+10! 求组合数 m!/n!/(m-n)! 100 以内的质数

Page 139: Visual Basic 程序设计及应用

参数的传递 形参与实参 参数的传递顺序

按位置传递

Page 140: Visual Basic 程序设计及应用

传值与引用 传值 ByVal 传引用 ByRef (缺省为 ByRef )

传引用就是传变量本身

示例 简单示例 fun_digi2Sum

Page 141: Visual Basic 程序设计及应用

模块 模块

工程 /添加模块 设定启动对象:工程 / 属性 / 启动对象

模块中的变量 / 过程 模块名 . 过程名 Public 与 Private 过程 过程缺省是Public 的

Page 142: Visual Basic 程序设计及应用

变量的作用域 作用域(可见性)

全程变量 Public 或 Global 窗体级变量 Private 或 Dim 局部变量 Dim

示例

Page 143: Visual Basic 程序设计及应用

数组 数组的概念

加上下标来决定是哪个变量 定义数组

Dim 数组名(数组大小) As 类型 使用数组

数组名 ( 下标) For Each……Next

Page 144: Visual Basic 程序设计及应用

数组的大小 下标 Dim a(100) 表示 0—100共 101

个 Dim a( 2 to 9 ) Option Base 0 或 1 规定起始值 二维数组 dim c(10,20) Lbound(数组名 ) 求最小下标 Ubound(数组名 ) 求最大下标

Page 145: Visual Basic 程序设计及应用

数组的应用 最大值与平均值 排序 统计 筛法求素数 (*) 约瑟夫问题 (*) 画金刚石 体育彩票 36选 7

Page 146: Visual Basic 程序设计及应用

小结 过程 函数 参数传递 过程中的变量

Page 147: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 148: Visual Basic 程序设计及应用

7 控件

Page 149: Visual Basic 程序设计及应用

界面设计 界面设计的重要性 界面元素

控件 窗体 绘图 菜单 其他

Page 150: Visual Basic 程序设计及应用

有关控件的使用 怎样得到控件相关的属性、方法与事件 :

Ctrl_J 快速提示 F1 --MSDN(如果安装了MSDN) F2 --Object Browser

可以参考其他一些资源 光盘,如: <<编程资源大全>> 书籍,如: <<VB6 参考手册 >> www.vb-helper.com (国外,选其中“ search”)

http://www.vb60.com http://music.crzz.com/vb/ http://moonsoft.com/e_commerce/soft/download/other/in

dex7.htm

Page 151: Visual Basic 程序设计及应用

控件的一般属性 Alignment 对齐方式

0 vbLeftJustify 1 vbRightJustify 2 vbCenter

Appearance 0 1:3D AutoSize True False BackColor ForeColor

RGB(r,g,b) vbRed vbGreen QBColor(Rnd * 15) 123235& &Hrrggbb&

Page 152: Visual Basic 程序设计及应用

控件的一般属性 (续 ) BorderStyle Caption Font

xxx.Font.Bold = true xxx.Font.Italic = True xxx.Font.Underline = True xxx.Font.Size = 24 xxx.Font.Name = "宋体 " 或 xxx.FontName = "宋体 "

Left Top Width Height

Page 153: Visual Basic 程序设计及应用

控件的一般属性 (续 ) MousePointer MouseIcon

(当MousePointer 为 99 时,设 MouseIcon) Picture

设计时: 选择文件

(注意:当程序拷贝到其他机器时,由于图片找不到,则会出问题,所以不推荐这种方式)

粘贴图片 ( 这时图片信息存于 .frx 文件中 ) 运行时:

xxx.Picture = LoadPicture(“xxx.jpg”) 注意,图片文件放到同一目录中,要使用扩展名 (如 .jpg)

Page 154: Visual Basic 程序设计及应用

控件的一般属性 (续 ) ToolTipText UseUnemonic

caption 中用 &表示下划线 ,如 "&Open" Visiable: True False Enabled: True False

如Timer1.Enabled = False 如Command1.Enabled = False

WordWrap MultiLine

Page 155: Visual Basic 程序设计及应用

CommandButton 按钮 Caption Style, Picture

使之为图片按钮 补充示例: PicButton.frm

ToolTipText Enabled

Page 156: Visual Basic 程序设计及应用

Label 标签 Caption ToolTipText, AutoSize, WordWrap, Alignment

0 vbLeftJustify 1 vbRightJustify 2 vbCenter

例 : Label_mouse_shell_263 注 :shell " 程序名 参数 " 表示调用外部程序

Page 157: Visual Basic 程序设计及应用

TextBox 文本框 SelStart, SelLength, SelText, Text MultiLine, ScrollBars PasswordChar "*" Locked,Enabled SetFocus方法 ,

GotFocus, LostFocus 事件 示例 :text_sel_password_enter

Page 158: Visual Basic 程序设计及应用

Frame 框 Caption BorderStyle 框 : 容器 线 成组 Visible

Page 159: Visual Basic 程序设计及应用

CheckBox 及 OptionButton CheckBox 复选框

Value(1 或 0 或 2):vbChecked OptionButton 单选框

Value(True 或 False) 放到一个 Frame 经常做成控件数组

示例: Checkbox_option.frm

Page 160: Visual Basic 程序设计及应用

滚动条 HScrollBar, VScrollBar Max, Min, Value

Page 161: Visual Basic 程序设计及应用

Shape 及 Line Shape形状 / Line 线

Shape / x1,y1,x2,y2 BorderStyle, BorderColor BorderWidth FillStyle, FillColor, BackStyle, BackColor

Page 162: Visual Basic 程序设计及应用

Timer 定时器 Timer

Interval, Enabled

示例 : Timer_Shape_Line_Clock.frm

Page 163: Visual Basic 程序设计及应用

ListBox 及 ComboList ListBox 列表框 ComboList 组合框 '可以认为 ComboList=List + Text Style MultiSelect List(i), ListCount, ListIndex, Selected(i), SelCount AddItem, RemoveItem, Clear 方法 Combo 的 Text 示例: Combox_list.frm

Page 164: Visual Basic 程序设计及应用

PictureBox 及 Image PictureBox

可作容器,可以在上面画图 xxx.Picture = LoadPicture("XXX.jpg")

Image 不能作容器 , 但可以 Stretch Image1.Picture = LoadPicture("XXX.bmp")

示例:跳舞的小女孩 dance_girl 补充示例 : PicImageHover.frm

Page 165: Visual Basic 程序设计及应用

多控件的布局 多控件的选定与设置

视图工具栏窗体编辑器 对齐与大小

格式对齐、间距 TabIndex ( Tab顺序)

格式顺序 控件的成组

用一个 Frame框

示例:人员信息 _control.frm

Page 166: Visual Basic 程序设计及应用

外部控件 ActiveX Control (外部控件)

是已经编好的程序,可用于 VB 中 一般存在于 .ocx .dll 文件中

加入外部控件的步骤: 1. 工具箱上点右键,选Component...(组

件) 从中进行选择,如: Microsoft Windows Common Control 2.从工具箱上,选控件,加入到窗体中

Page 167: Visual Basic 程序设计及应用

使用外部控件 1. 属性 : F4, 属性窗 点右键 , 打开属性页 2. 方法 / 事件 3. 当程序复制其他机器时,要求系统中必须安装有相应的控件

例 : Microsoft Windows Common Contro 的ProgressBar( 参见书中示例)

Page 168: Visual Basic 程序设计及应用

Media Player控件 常用的媒体文件

.avi .mpg

使用 Windows Media Player 控件 播放声音 (.mid, .wav, .mp3) 播放视频 (.avi, .mpg ) .FileName = “…” .Play 方法进行播放 在 Media Player9 以上版本,使用 .URL表示文件名

用 Visible置为 False 可以使之不可见

Page 169: Visual Basic 程序设计及应用

使用 MicrosoftInternetControl 加入控件 Microsoft Internet Control IEWebBrowser1.Navigate 方法 可以用来浏览网页,以及 IE能浏览的内容(特别是 Flash 动画 /gif 动画等)

Page 170: Visual Basic 程序设计及应用

小结 控件的一般属性 CommandButton, Label, TextBox Frame, CheckBox, OptionButton HScrollBar, VScrollBar ListBox, ComboBox PictureBox, Image 外部控件

Page 171: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 172: Visual Basic 程序设计及应用

8 窗体、菜单、控件数组

Page 173: Visual Basic 程序设计及应用

窗体 Form 窗体与对话框

添加窗体 加入系统定义的窗体或对话框 (仅对企业

版)

Page 174: Visual Basic 程序设计及应用

特殊的事件 Resize Paint 示例: Form_Resize_Paint.frm

Page 175: Visual Basic 程序设计及应用

特殊的属性 BackColor BorderStyle WindowStatus StartupPosition MousePointer 示例:简单屏保: form_screen_save.frm

生成屏保: File/Make EXE 文件名为: xxxx.scr 然后将 xxxx.scr 文件复制到 windows 系统目录下

示例:屏保 ScreenSaver ( *)

Page 176: Visual Basic 程序设计及应用

多窗体 加入窗体:

Project/Add Form 已有的窗体及对话框

加入模块: Project/Add Module (模块中可以定义变量 public,定义Sub,Fu

nction) 设定程序入口:

Project/Property/Startup Object

Page 177: Visual Basic 程序设计及应用

窗体的显示及隐藏 当某个事件发生时(如点击某个菜单或图片 ) Form2.Show Me.Hide Load Form2 (注意 Load 写在前面 ) Unload Form3 frmAbout.Show vbModal, Me '模态

Page 178: Visual Basic 程序设计及应用

模块 用于定义变量、函数、过程

Public xxxx As String Public Sub xxxxx( xxx ) Public Function xxxx(xxx) As XXXX

Public Sub Main() 可作为程序入口

调用模块中的过程 可以用模块名如: Call Module1.mysub

Page 179: Visual Basic 程序设计及应用

怎样在窗体之间交流信息 直接使用控件:

Form2.Text1.Text = "hello" 使用模块中的变量

在模块中定义变量: Public age As Integer 在窗体 1 中对它赋值: age = Text1.Text 在窗体 2 中使用它: If age>18 Then

Page 180: Visual Basic 程序设计及应用

Menu菜单 进入菜单编辑器: Tools/MenuEditor (或按 Ctrl+E) 有关菜单项:

菜单名( Name) 菜单文字 (Caption) 其中用 & 表示下划线(如 &Open) 用单独的减号( - )表示分隔线 快捷键 (ShorCutKey) 如 Ctrl+O 菜单的级别 (按左右箭头按钮) Checked,Enabled,Visible WindowList

Page 181: Visual Basic 程序设计及应用

菜单的编程 与按钮相似 菜单上单击,对 XXX_Click 事件进行处理

Page 182: Visual Basic 程序设计及应用

Menu菜单 进入菜单编辑器: Tools/MenuEditor (或按 Ctrl+E) 有关菜单项:

菜单名( Name) 菜单文字 (Caption) 其中用 & 表示下划线(如 &Open) 用单独的减号( - )表示分隔线 快捷键 ShorCutKey 如 Ctrl+O 菜单的级别 (按左右箭头按钮) Checked,Enabled,Visible WindowList

Page 183: Visual Basic 程序设计及应用

菜单的编程 与按钮相似 菜单上单击,对 XXX_Click 事件进行处理

Page 184: Visual Basic 程序设计及应用

控件数组 控件数组 :

同名的多个控件,称为控件数组 每个控件的 Index 不同

产生方法(以下方法均可): 1.复制、粘贴 2.将多个控件的名字相同 3. 设 Index 4. 程序中 Load XXX(i)则生成一个新的

复杂示例:计算器 ( 不讲 )

Page 185: Visual Basic 程序设计及应用

处理控件数组的事件 在控件的事件中可以用 Index

示例:按钮数组 .frm 示例:六个滚动条: line_color_grad_scroll.frm 示例:排块游戏 .frm

( 练习使用控件数组、过程、函数) 有趣示例:雪花飘飘 snowflake 示例:

Page 186: Visual Basic 程序设计及应用

小结 窗体:事件与属性 多窗体:加入与交互 菜单:编辑与编程

Page 187: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 188: Visual Basic 程序设计及应用

9 API及多媒体编程

Page 189: Visual Basic 程序设计及应用

API的概念 API

Application Programming Interface 应用程序编程接口 简单地说,就是使用别人提供的函数(或过程)

Win32 API Windows 自带的 API函数

相关资源 cf.pku.cn/tds 上的资源 http://www.allapi.net/

Page 190: Visual Basic 程序设计及应用

使用 API 声明 API函数

Private Declare Function .…Lib … Alias …

若使用 Public ,则必须将Declare 放入模块文件中

调用 API函数 a = 函数名 ( 参数 ) Call 过程名 ( 参数 ) 函数名 参数

Page 191: Visual Basic 程序设计及应用

使用 API Text Viewer 打开 API Text View (API文本浏览器 )

开始程序 Visual Basic 中文版工具… File/Open 打开 Win32API.txt

选 Private 或 Public (注意:用于窗体时,只能选 Private )

选 Declare 或 Constants 双击需要的函数、常数 最后 Copy/Paste 到 VB 代码中

注意:尽量不要手工书写,因为极易写错

Page 192: Visual Basic 程序设计及应用

声明常数与类型 常数

Private Const 类型

Private Type 句柄作参数

句柄 Handle, 是一个数字 , 代表某个对象 这是由于API中没有像 VB 中“对象”的概念

如 Me.hwnd 代表窗体

Page 193: Visual Basic 程序设计及应用

API应用举例 GetTickCount Topmost WinRoundRect 设定桌面墙纸

Page 194: Visual Basic 程序设计及应用

多媒体编程 多媒体的概念 多媒体编程的基本方式

使用 API 使用 MCI指令 使用 ActiveX 控件

Page 195: Visual Basic 程序设计及应用

图像及动画 常用的图像文件

.bmp/.jpg/.gif, .png 动画

使用 Image 或 PictureBox 来实现图像的切换

如以前讲过的“跳舞的小女孩”

Page 196: Visual Basic 程序设计及应用

图像的进一步处理 图像的处理

用不同的算子对图像上的点进行运算 示例: PicRGBtoGray

进一步的技术(了解) 使用 API函数中的 BitBlt

BitBlt Pd.hDC, x, y, w, h, Ps.hDC, x, y, COPY_PUT 使用 VB 中自带的 PaintPicture方法

PaintPicture img.Picture, x,y,w,h, x,y,w,h 示例: Bitblt_PaintPicture(了解)

Page 197: Visual Basic 程序设计及应用

播放声音 常用的声音文件

.wav .mid .midi .mp3

使用Win32 API 使用 sndPlaySound ( 只能播放 wav 文件 ) 使用 Beep(*)

使用声卡驱动程序中的 API(了解 ) 与具体的声卡相关

最简单的办法是:使用 Media player控件(后面讲到)

Page 198: Visual Basic 程序设计及应用

使用 MCI指令 (了解 ) MCI指令 API

Private Declare Function mciSendString Lib "MMSYSTEM" (ByVal lpstrCommand As String, ByVal lpstrReturnStr As Any, ByVal wRetumLen As Integer, ByVal hCallBack As Integer) As Long

播放 CD, AVI 示例: MCI_Play.frm 演示:电子琴

Page 199: Visual Basic 程序设计及应用

MMControl控件 (了解 ) 使用 Microsoft Multimedia Control 播放 CD

MMControl1.DeviceType = "CDAudio" MMControl1.Command = "open"

播放 wav MMControl1.DeviceType =

"WaveAudio" MMControl1.FileName = " ……." MMControl1.Command = "open"

Page 200: Visual Basic 程序设计及应用

Media Player控件 常用的媒体文件

.avi .mpg

使用 Windows Media Player 控件 播放声音 (.mid, .wav, .mp3) 播放视频 (.avi, .mpg ) .FileName = “…” .Play 方法进行播放 在 Media Player9 以上版本,使用 .URL表示文件名

Page 201: Visual Basic 程序设计及应用

使用 MicrosoftInternetControl 加入控件 Microsoft Internet Control

IEWebBrowser1.Navigate 方法 加入 Microsoft Common Dialog Control控件

.showOpen .showSave .showFont .showColor .showPrint

Page 202: Visual Basic 程序设计及应用

流式媒体 流式媒体

Real 格式: .rm,.ram Microsoft 格式: .asf

使用 Real Player控件

Page 203: Visual Basic 程序设计及应用

Flash 动画 Flash 动画

可以使用 Sothink SWF Catcher 等工具下载 在 VB 中使用:

Shockwave Flash Control .movie=“……” .play

Page 204: Visual Basic 程序设计及应用

使用 Agent Agent

加入 Microsoft Agent Control 2.0 示例: msagent-hello 网站

http://www.microsoft.com/msagent/default.asp 动作列表可参见:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msagent/deschar_3pgy.asp

教程可参见: http://www.agent-launchpad.co.uk/tutorials/

更多角色可参见: http://www.msagentring.org/chars.htm

Page 205: Visual Basic 程序设计及应用

小结 API的使用 API应用举例 多媒体编程: API, MCI, Control 图像、动画 音频 视频 Agent

Page 206: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 207: Visual Basic 程序设计及应用

10 文件读写、程序调试

Page 208: Visual Basic 程序设计及应用

文件的概念 理解“文件”

是信息的集合 存储于一定的介质上 按名存取

文件名 "E:\vb_class\Draw\mypic.bmp" "\\teacher\share\sub\file1.txt" App.Path & "\myfile.bmp"

Page 209: Visual Basic 程序设计及应用

文件的种类 在 VB 中按文件的存取方式,可以分为三

种: 顺序文件 (sequential file)

即:文本文件 , 不定长记录文件 随机文件 (random access file)

即:定长记录文件 , 用来表示记录 二进制文件 (binary file)

即:所有其他文件

Page 210: Visual Basic 程序设计及应用

文件的操作 文件的打开

Open 文件名 [For 方式 ] [Access 存取类型 ] As[#]文件号

FreeFile() 得到可用的文件号 读写 (了解 )

Line Input (读入文本) , Get (读入) Print, Write( 写入文本) , Put (写入) EOF() 判断是否到文件尾

关闭 Close 文件号

Page 211: Visual Basic 程序设计及应用

文件应用举例 文本文件 (掌握 )

示例: FileCopy_AddLineNum 注 : On Error ....

定长记录的文件 (* 了解 ) 示例: File_Random_Student

二进制文件 (* 了解 ) 示例: File_Read_Bmp

Page 212: Visual Basic 程序设计及应用

文件及目录控件 DriveListBox,

Drive1.Drive DirListBox,

Dir1.Path FileListBox

File1.Path File1.FileName

示例: 图片浏览器 pic_browser

Page 213: Visual Basic 程序设计及应用

通用对话框 Microsoft Common Dialog Control .ShowOpen .ShowSave .ShowFont .ShowColor .ShowPrint

Page 214: Visual Basic 程序设计及应用

文件和目录管理 几个命令

FileCopy 复制文件 Kill 删除文件 MkDir 建立目录 RmDir删除目录

几个函数 (了解 ) GetAttr 文件及目录属性 FileLen 文件长度 FileDateTime 文件时间

Page 215: Visual Basic 程序设计及应用

Dir 查找文件 (了解 ) Dir(“*.txt”) 用于首次查找 在循环中, Dir() 用于其他各次查找

示例 DirFind

Page 216: Visual Basic 程序设计及应用

程序中的错误 错误的种类

语法错 逻辑错 运行错

减少错误的一般方法: Tab缩进 , 空格 , 空行 ,注释 显式定义变量 , Option Explicit 变量名 (匈牙利命名法)

Page 217: Visual Basic 程序设计及应用

调试 (debug) 断点 (breakpoint):

F9 或 在行的左边单击 跟踪 (trace)

F8(逐语句, step into) Shift_F8(逐过程, step over) Ctr_F8 (执行到当前行 ,Run to cursor ) 或点右键选择

监视 (watch) 光标指向一个变量 View/Watch Window,然后点右键 , Add Watch 使用立即窗口 (Immediate) ?表示 print

Page 218: Visual Basic 程序设计及应用

错误的捕获与处理 错误的捕获

On Error Resume Next On Error Goto XXXXXX

错误的捕获 XXXXX: Err.Number Err.Description

产生错误 (由程序故意产生一个错误 ) Err.Raise

示例 :err_divby0 err_fordebug ary_prime_filter

Page 219: Visual Basic 程序设计及应用

补充: IC卡及条码 IC卡

按读写方法分:接触式及非接触式(射频或红外 ) 按结构分:存储卡及 CPU卡

身份证与校验码 参见 ID15_18.frm

银行卡中的校验码 http://www.gsfzb.gov.cn/law-1/news/view.asp?id=12156

条码知识 http://www.saibon.com.cn/server/info.htm

Page 220: Visual Basic 程序设计及应用
Page 221: Visual Basic 程序设计及应用

条码

条码: 由一组规则排列的条、空及其对应字符组成的标记,用以表

示一定的信息。 空白区 起始符 第一个字符对 第二个字符对 终止符 空白区

1234

Page 222: Visual Basic 程序设计及应用

条码的编码编码方法

宽度调节法25 条 码 是 一 种 只

有条表示信息的非连续型条码。条码字符由规则排列的5个条构成,其中有两个宽单元,其余是窄单元。宽单元一般是窄单元的三倍,宽单元表示 二 进 制 的“ 1” ,窄单元表 示 二 进 制 的“ 0” 。

按这种方式编码时,是以窄元素( 条纹或间隔 ) 表示逻辑值“ 0” ,宽元素 ( 条纹或间隔 ) 表示逻辑值“ l” 。

Page 223: Visual Basic 程序设计及应用

条码的分类 一维条码。

商品条码: EAN码和UPC码。 物流条码: 128 码、 ITF 码、 39 码、库德巴( Cod

abar )码等。 二维条码。

行排式二维条码 如: Code 16K、 Code 49 、 PDF417

矩阵式二维条码 如: Code One 、 Maxi Code 、 QR Code 、 Data Matrix

Page 224: Visual Basic 程序设计及应用

PDF417

QR Code

Page 225: Visual Basic 程序设计及应用

小结 文件的分类及操作 文件及目录控件 程序的调试

Page 226: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 227: Visual Basic 程序设计及应用

11 数据库编程

Page 228: Visual Basic 程序设计及应用

本讲内容 数据库基本概念 使用 Data控件 基本的 SQL语句 数据库相关应用

Page 229: Visual Basic 程序设计及应用

数据库 数据库 (Database) 数据库管理系统 ( DBMS )

Oracle, DB2 MS SQL Server MS Access桌面数据库 (*.mdb)

数据库系统的优点: 数据的共享性、独立性、完整性和冗余数据少

管理功能 数据定义 /操纵 / 完整 /安全 /并发

Page 230: Visual Basic 程序设计及应用

关系型数据库 (RDB) 数据表 (Table) 、记录 (Record) 、字段 (Field) 字段类型

char int smallint bit float datetime image 主键 : primary key 示例:

书目表 : 编号 (ID), 书名 , 作者 , 出版社 , 关键字 读者表 : id, 姓名 , 性别 , 系别 , email 借阅表 : 人号 , 书号 , 日期 , 选课表 : 人 , 课 , 成绩

2501, A03, 80 2501, A04, 83 2502, A04, 87

Page 231: Visual Basic 程序设计及应用

数据库的使用 用可视化的界面

如:使用 SQL Server企业管理器 通过 SQL语句

如:使用 SQL Server查询分析器

Page 232: Visual Basic 程序设计及应用

SQL SQL( Structured Query Language ),即结构化查询语言

SQL 包含数据定义、数据查询、数据操纵和数据控制等多种功能

是数据库的标准操作语言

Page 233: Visual Basic 程序设计及应用

SQL语句 SELECT * FROM [publishers] SELECT age, sex, salary + bonus

FROM employee WHERE depart= ' 销售部 ' and title= '经理 '

[GROUP BY <列名 > [HAVING< 条件 >]] [ORDER BY <列名 > [ASC, DESC]]

SELECT avg( salary ) FROM employee

Page 234: Visual Basic 程序设计及应用

SQL语句(续) 加入数据

INSERT INTO [employee] ( name, age ) VALUES ( '李明 ', 18)

更新数据 UPDATE [employee] SET salary = salary +500

删除数据 DELETE FROM [employee] WHERE age>80

创建及删除数据表 CREATE TABLE [employee] ( id integer, name char(10), age integer ) DROP TABLE [employee]

Page 235: Visual Basic 程序设计及应用

通过编程来操作数据库 Client/Server模式 (客户 /服务模式 )

数据库提供服务,称为 Server 程序是客户端,称为 Client 客户端通过 SQL 命令来向服务端发出请求

编程的任务 通过用户界面获取参数,并形成 SQL语句 建立与数据库的连接 向数据库管理系统发出命令( SQL) 从数据库得到数据并显示到用户界面

Page 236: Visual Basic 程序设计及应用

数据库编程的基本技术 (*) 基于DAO (Data Access Object)

早期的技术,主要用于MS Access 编程语言以 VB , VC为主 使用方式:

通过 Data控件(要添加控件:工具箱右击部件) 通过 DAO对象库(要添加引用:工程菜单引用)

基于ADO (ActiveX Data Object) 应用更广,用于各种数据库 编程语言包括 VB , VC, VBScript , ASP等 使用方式:

通过 ADODC控件(要添加控件:工具箱右击部件) 通过 ADO对象库(要添加引用:工程菜单引用)

Page 237: Visual Basic 程序设计及应用

使用 Data控件 Data控件 :

DatabaseName (选 xxxx.mdb, 注意 Access97 格式 )

RecordSource (选表名 , 或填 SQL语句 ) Text 或其他控件 :

DataSource (选Data1) DataField (选字段名 )

示例:背单词,通讯录

还可以使用 Microsoft Data Bound Grid Control: DataSource (选Data1)

Page 238: Visual Basic 程序设计及应用

使用 DAO对象 (*) DAO (Data Access Object)

引用 DAO: Project( 工程 ) /Reference(引用 )...中 ,选Microsoft DAO 3.51 Object Library

DAO的基本对象 Database 数据库 RecordSet 记录集(相当于表) Fields(i) 记录中的字段

Data1.RecordSet 记录集

Page 239: Visual Basic 程序设计及应用

RecordSet 的基本操作 (*) 移动当前记录

.MoveFirst .MoveLast .MoveNext, .MovePrevious

编辑 .Edit .Fields(i)=.... .Update .AddNew .fields(i)=.... .Update .Delete

查找 .FindFirst .FindNext

Page 240: Visual Basic 程序设计及应用

使用 ADO对象 (*) ADO (ActiveX Data Object)

引用 ADO : Project( 工程 ) /Reference(引用 )...中 ,选Microsoft ActiveX Data Object 2.1 Library

ADO 中的基本对象 Connection 连接 RecordSet 记录集 Fields(i) 字段 Command Parameter(了解即可 , 表示命令及参数 )

Page 241: Visual Basic 程序设计及应用

ADO的基本操作 (*) 建立连接

conStr = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\mydir\biblio.mdb;"

Dim conn As ADODB.Connection Set conn = New ADODB.Connection conn.Open conStr

Page 242: Visual Basic 程序设计及应用

ADO的基本操作 (续 ) (*) 执行 SQL

Dim rs As ADODB.Recordset conn.CursorLocation = adUseClient

Set rs = conn.Execute("Select * FROM [Publishers]")

Set DataGrid1.DataSource = rs

Page 243: Visual Basic 程序设计及应用

ADO的基本操作 (续 ) (*) 显示各个字段的名字

For i = 0 To rs.Fields.Count - 1 Print rs.Fields(i).Name, Next

在数据集中遍历数据 Do While Not rs.EOF For i = 0 To rs.Fields.Count - 1 Print rs.Fields(i).Value ' 或直接写为 rs(i) Next rs.MoveNext Loop

Page 244: Visual Basic 程序设计及应用

常用的连接方式 (*) 连接 Access97 文件

"Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\mydir\biblio.mdb;"

连接Microsoft SQL Server "Driver={Sql Server};

Server=192.168.0.12;Database=pubs;Uid=sa;Pwd=tree“

连接ODBC数据源 (较少使用 , 针对其他数据库 ) "Dsn=biblio; Uid=sa;Pwd=tree"

Page 245: Visual Basic 程序设计及应用

应用演示 图书馆系统 订单管理 收支管理 图表

Page 246: Visual Basic 程序设计及应用

MIS:管理信息系统 MIS系统的设计:

界面设计 ------- 数据的输入输出 功能设计 ------- 数据的业务处理 数据设计 ------- 数据的存储管理 (DB)

Page 247: Visual Basic 程序设计及应用

办公自动化 (OA)

Page 248: Visual Basic 程序设计及应用

OA基本目的 优化组织结构 调整管理体制 提高工作效率 增加协同办公能力 提高决策效能

Page 249: Visual Basic 程序设计及应用

系统软件架构

Page 250: Visual Basic 程序设计及应用

OA实施步骤 第一步、建立基础应用系统

建立OA信息化基础平台 建立公文流转、资产管理、档案管理等 解决事务工作的效率问题

第二步、建立协同工作系统 继续扩展应用系统,并建立网站门户 进一步加强信息共享,解决协同工作问题 全面实现数字化办公,使管理工作上一个台阶

第三步、完善知识管理系统 建立基于 KM 的OA系统,提高决策能力 使企业在知识的积累的基础上持续发展

Page 251: Visual Basic 程序设计及应用
Page 252: Visual Basic 程序设计及应用

ERP:企业资源规划

Page 253: Visual Basic 程序设计及应用
Page 254: Visual Basic 程序设计及应用
Page 255: Visual Basic 程序设计及应用
Page 256: Visual Basic 程序设计及应用
Page 257: Visual Basic 程序设计及应用
Page 258: Visual Basic 程序设计及应用

HR

Page 259: Visual Basic 程序设计及应用

供应链管理 SCM

Page 260: Visual Basic 程序设计及应用
Page 261: Visual Basic 程序设计及应用
Page 262: Visual Basic 程序设计及应用

GIS系统 GIS(Geographic Information System)

地理信息系统 GIS 是解决空间问题的工具、方法和技术;从学科的角度, GIS 是在地理学、地图学、测量学和计算机科学等学科基础上发展起来的一门学科

信息是基于地理位置的

Page 263: Visual Basic 程序设计及应用

GPS全球卫星定位系统 GPS(Global Positioning System)

目前共有二十四颗卫星,其中 21颗工作卫星, 3颗在轨备用卫星

俄罗斯的GLONASS系统 欧洲“伽利略计划”( 30卫星) 中国的北斗卫星导航系统 手机的 GPSOne定位

Page 264: Visual Basic 程序设计及应用

本地搜索 http://map.baidu.com http://maps.google.com http://bendi.sina.com.cn http://www.mapbar.com

Google Earth http://earth.google.com

Page 265: Visual Basic 程序设计及应用

小结 数据库基本概念 使用 Data控件 基本的 SQL语句 数据库的应用

Page 266: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 267: Visual Basic 程序设计及应用

12 VB 的其他应用 (*)

Page 268: Visual Basic 程序设计及应用

VBA VBA: Visual Basic For Application 在各种 Office 软件中使用 宏 (marco) :实际上是一个 Sub 工具 /宏 /录制宏

注意:指定一个快捷键 也可以:工具 / 自定义… /命令 /宏 , 将它拖到工具栏中

工具 /宏 /Visual Basic 编辑器 注意:保存到当前文档中

宏的运行 使用前面指定的快捷键

Page 269: Visual Basic 程序设计及应用

Word 中的 VBA 示例:加行号的宏 示例:跳动的文字

见 UpDown_OnTime.doc 关于宏病毒

工具 /宏 /安全性

Page 270: Visual Basic 程序设计及应用

Excel 中的应用 Excel 中的宏 Excel 中的变量

引用(如A1 , A1:B3 ) Excel 中的函数

Page 271: Visual Basic 程序设计及应用

VB 的函数与 Excel函数 + - * / \ Mod ^ And Or Not Rnd Abs Int Sqr Sin Co

s Log Exp Len LTrim RTrim Trim UCase LCase Mid Left Right InStr Chr Asc

Date Now Year Month Day

CInt Val Format IsDate IsNumeric

+ - * / Mod() ^ And() Or() Not() Rand Abs Int Sqrt Sin Cos Log Exp

Len LTrim RTrim Trim Upper Lower Mid Left Right Find Char Code

Today Now Year Month Day

Int Value Format IsDate IsNumber

Page 272: Visual Basic 程序设计及应用

Excel 中的其他函数 表示判断及统计的

If(条件,值 1 ,值 2) CountIf MAX MIN AVERGE

应用举例 身份证取出生日及性别

=IF( MOD(RIGHT(A4,1),2)=1,"男 ","女 ") =IF(LEN(A5)=18,DATE(MID(A5,7,4),MID(A5,11,2),MID(A5,13,2)), DATE

( MID(A5,7,2),MID(A5,9,2),MID(A5,11,2))) 条件格式

分数 <60 或 =A5<60 不同行不同色 =MOD(ROW(),2)=0 突出显示成绩最高的 =($D5=MAX($D$4:$D$7)) 显示重名的 =(COUNTIF($B$4:$B$8,$B6)>1)

Page 273: Visual Basic 程序设计及应用

手机中的应用

Page 274: Visual Basic 程序设计及应用

网页中的应用 网页 html 中的标记 网页中的脚本 (script)

常见的有 javascript 及 vbscript VBScript

变量没有类型 在网页中使用 VBScript

<script language=vbscript>……</script> 举例:

各种不同的 script

Page 275: Visual Basic 程序设计及应用

VBScript 在 ASP( 动态服务端网页 ) 中使用 VBScri

pt <% …………%> 示例:使用 ADO, 显示数据库内容

在 QQ 中使用

Page 276: Visual Basic 程序设计及应用

电子商务

Page 277: Visual Basic 程序设计及应用

SQL Injection 与安全

SELECT COUNT (*) FROM UsersWHERE UserName=‘’ or 1=1--AND Password=‘’

SELECT COUNT (*) FROM UsersWHERE UserName=‘Jeff’AND Password=‘imbatman’

应用中的 Query 模型

恶意的 Query 语句

"or 1=1" matches everyrecord in the table

"--" comments out theremainder of the query

Page 278: Visual Basic 程序设计及应用

补充:有关 Bug Bug 的产生 程序漏洞 几个例子

新建文本文件 求最大值 后门:通用密码 手机中的更新程序 复活节彩蛋

Windows 的 update 的重要性

Page 279: Visual Basic 程序设计及应用

从程序到软件 软件工程的基本概念 软件开发过程

计划 需求分析 系统设计 软件实现 确认 维护

Page 280: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 281: Visual Basic 程序设计及应用

13 常用算法

Page 282: Visual Basic 程序设计及应用

算法 指令的有限序列 特点:

有穷性 确定性 可行性

Page 283: Visual Basic 程序设计及应用

遍试 逻辑上:针对所有可能的情况, 形式上: For 中用 If

示例: 1.韩信点兵 ,百鸡问题 ,鸡兔同笼问题

2.水仙花数 13+53+33=153 3. 完全数 28=1+2+4+7+14 4.百分币 5. 佩尔方程 6.验证猜想 :哥德巴赫猜想

Page 284: Visual Basic 程序设计及应用

迭代 逻辑上:多次使用同一算法 形式上: a = f( a )

示例: 1. 求平方根 2. Mandelbrot集 ,Julia集 3. 倍边法求 Pi 4. 数字平方和

Page 285: Visual Basic 程序设计及应用

Xn Xn+1

)(/)( '1 nnnn xfxfxx

Page 286: Visual Basic 程序设计及应用

递归 逻辑上:一个问题化为同样的问题 形式上:自己调用自己

示例: 1. 求阶乘 2.菲波那契数列 3. Celay树 , Koch分形集

Page 287: Visual Basic 程序设计及应用

小结 数组 : 定义与下标 遍试: for 中用 if 迭代 : for 中 n=f(n) 递归 : f(n) 中用 f(n-1)

Page 288: Visual Basic 程序设计及应用

Visual Basic 程序设计

主讲教师:唐大仕[email protected]

北京大学课程

Page 289: Visual Basic 程序设计及应用

复习

Page 290: Visual Basic 程序设计及应用

复习内容 第 1部分 VB基础 第 1-2章 第 2部分 VB 语言 第 3-6章 第 3部分 VB 界面 第 7-8章 第 4部分 VB 应用 第 9-16章 (较少 )

Page 291: Visual Basic 程序设计及应用

第 1部分 VB基础

第 1-2章

Page 292: Visual Basic 程序设计及应用

程序设计的概念 程序设计语言

语言的分类 Visual Basic 在各种语言中的地位

程序设计的基本方面 从编写的内容看:界面与代码 从程序的本质看:数据与控制

程序设计与软件工程

Page 293: Visual Basic 程序设计及应用

VB 程序设计的基本步骤 界面设计 代码编写 运行 / 编译

Page 294: Visual Basic 程序设计及应用

VB 中的核心概念 对象

属性 (property) 方法 (method) 事件 (event)

事件驱动

Page 295: Visual Basic 程序设计及应用

第 2部分 VB 语言

第 3-6章

Page 296: Visual Basic 程序设计及应用

数据与运算 数据:常量与变量 数据的类型

Integer, Single, Double, Boolean, String, Date, Variant

Page 297: Visual Basic 程序设计及应用

变量与常量 变量

隐式定义 显式定义

Dim, Public, Global, Private, Static 合法的变量名

A1 S_N 常量

字面常量 12, 12.3, 2.3e-8, "Hello", #2008-12-30#

符号常量 Const PI As Double = 3.14

Page 298: Visual Basic 程序设计及应用

运算符 算术运算符

+ - * / \ mod(取余) ^(乘方 )

字符串连接 & + 关系运算 > < = >= <= <> 逻辑运算 And Or Not 运算的优先级

Page 299: Visual Basic 程序设计及应用

控制结构 程序的三种控制结构

顺序 分支 循环

Page 300: Visual Basic 程序设计及应用

语句 简单语句 分支控制语句

If ElseIf Select Case

循环控制语句 For…Next Do While…Loop

While 与 Until 条件 Exit Do 与 Exit For

Page 301: Visual Basic 程序设计及应用

语句的应用 分支的嵌套 循环的嵌套

For I=1 to 9 For J=1 To I Next

Next 循环的五要素 递推法数列求和

For n=1 To 10 f = f * n s = s + f

Next

Page 302: Visual Basic 程序设计及应用

过程 过程的定义

Sub 过程名(参数……) …… End Sub

过程的调用 Call 过程名 (参数值……) 用括号 过程名 参数值…… 不用括号

Page 303: Visual Basic 程序设计及应用

函数 函数的定义

Function 函数名(参数……) As 类型 其 中有一句 :函数名 =某个值 End Function

函数的调用 函数名 (参数值… .. ) 用括号 ,且用于表达式中 函数名 参数值……

后一种用法中,将函数作为 Sub使用,不理会其返回值

Page 304: Visual Basic 程序设计及应用

过程中的几个概念 传值与传址 (ByVal, ByRef) 变量的作用域

全程 Public 局部 于窗体, Private( Dim ) 局部于过程内 Dim

变量的生存期 static

Page 305: Visual Basic 程序设计及应用

常用函数 I/O: MsgBox InputBox 数学: Rnd Abs Int Sqr Sin Cos Log Exp 字符串: Len LTrim RTrim Trim UCase LCase Mid Left Right InStr Chr Asc 日期: Date Time Now Year Month Day Hour Minute Second 转换判断 CInt CLng CDbl Val

Format IsDate IsNumeric

Page 306: Visual Basic 程序设计及应用

数组 定义数组 Dim 数组名(数组大小) As 类型 数组元素的个数 使用数组

Page 307: Visual Basic 程序设计及应用

常用算法 遍试:

逻辑上:针对所有可能的情况, 形式上: For…Next 中用 IF

迭代 逻辑上:多次使用同一算法 形式上: Do…Loop 中用 a = f( a )

递归 逻辑上:一个问题化为同样的问题 形式上:自己调用自己 : F(n) 中调用 F(n-1)

Page 308: Visual Basic 程序设计及应用

第 3部分 界面

第 7-11章

Page 309: Visual Basic 程序设计及应用

控件 常用控件的属性、方法、事件 控件的典型应用 外部控件( ActiveX 控件)的使用 控件数组

Page 310: Visual Basic 程序设计及应用

绘图 坐标系 绘图状态 绘图方法

Page 311: Visual Basic 程序设计及应用

窗体与菜单 窗体的属性、方法与事件 多窗体

窗体的显示 窗体间的信息交互

菜单

Page 312: Visual Basic 程序设计及应用

图片、动画 Picture/Image LoadPicture

Page 313: Visual Basic 程序设计及应用

第 4部分 VB 的应用

第 12-16章

Page 314: Visual Basic 程序设计及应用

文件与数据库 文本文件

打开、读写、关闭 数据库

基本概念 SQL语句 Data控件( DAO技术) ADO技术

Page 315: Visual Basic 程序设计及应用

程序中的错误 错误的种类

语法错 逻辑错 运行错

调试 断点 跟踪 监视

错误的捕获与处理 On Error GoTo xxxxx

Page 316: Visual Basic 程序设计及应用

API API的声明与调用

Declare 调用

Page 317: Visual Basic 程序设计及应用

多媒体及网络编程 API, ActiveXControl 音频 /视频的播放 网络浏览

Page 318: Visual Basic 程序设计及应用

重点 VB 语言

运算、各种语句、数组、过程与函数 VB常用函数 VB常用算法

包括一些应用 VB常用控件

注 :笔试中第 9-16章 (VB 应用 ) 内容很少

Page 319: Visual Basic 程序设计及应用

难点 循环

循环的五要素 循环的嵌套 数列求和

遍试算法 数组 过程与函数

变量的作用域 参数的传递

Page 320: Visual Basic 程序设计及应用

有关考试 考试内容 考试形式

选择、填空、编程、问答等题型 每种题型占 20% -40%

Page 321: Visual Basic 程序设计及应用

Thanks

祝同学们学习愉快,学有所获,学有所成!