Visual Basic 清华大学vb编程语言基础 第6讲

合集下载

VB6.0详细讲义(VB6实用教程_VB6从入门到精通)

VB6.0详细讲义(VB6实用教程_VB6从入门到精通)

第一章 Visual Basic介绍第二章用户界面设计第三章编程的基础(含变量,常量,条件语句,循环语句,自定义变量,自定义过程,对象和类等基础)第四章 Windows 95的新控件Visual Basic的输入输出第五章 Visual Basic的鼠标事件和绘图第六章 Visual Basic的数据库、报表、预览、打印第七章从文件中存取资料第十章创建ActiveX控件第十一章ActiveX文档第十二章用对象链接与嵌入(OLE)扩展Visual Basic第十三章使用资源文件第十四章用Visual Basic建立ActiveX DLL第十五章用Winsock控件进行Internet通信第十六章 Web浏览控件第一章Visual Basic介绍§2 窗体和命令钮介绍一、窗体窗体是Windows的基本组成部分,这也是为什么这个操作系统叫Windows的原因。

它的主要属性除上面介绍的以外,还包括:1,Appearance属性这个属性用来决定控件是否采用三维效果。

2,BorderStyle属性这个属性决定了窗体的边框形式,共有6种属性值。

改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为你所要求的样子。

3,ControlBox属性程序员用来决定采用不采用控制框的属性,仅在程序运行时才有效。

4,Font属性程序员可以改变该窗体上显示信息的字体,它控制着直接在窗体上打印的文本显示。

5,Icon属性这个属性是用户经常要使用的一种属性。

当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定。

为自己的窗体设置该属性时,要控制住自己挑三拣四的冲动。

6,Visible属性该属性决定窗体是否可见。

错误地改变其值是很危险的,窗体会从眼前消失,这种莫名其妙的事情会使用户惊惶失措,所以肩负重任的程序员一定要慎重哟!7,WindowState属性指定窗体在运行时的三种状态:正常、最小化、最大化。

Visual Basic6

Visual Basic6

第6章 VB控制结构6.1 选择结构6.2 循环结构6.3综合实例6.1选择结构6.1.1 If条件语句6.1.2 Select Case6.1.3 条件函数6.1.1 If条件语句 条件语句1.单分支条件结构(If...Then语句)2.双分支结构(If...Then...Else语句)3.多分支结构(If…Then…ElseIf语句)4.If语句的嵌套1.单分支条件结构(If...Then语句) .单分支条件结构( 语句) 语句用 If...Then 结构有条件地执行一个或多个语句。

单行语法和多行块 语法都可以使用: (1)If < 表达式> Then <语句块> (2)If < 表达式> Then <语句块> End If 下面两个例子等价: (1)If todayDate < Now Then todayDate = Now (2)If todayDate < Now Then todayDate = Now End If 注意:If...Then 的单行格式不用 End If 语句。

如果 <表达式>为 True 时要执行多行代码,则必须使用多行块 If...Then...End If 语法。

例如: If todayDate < Now Then todayDate = Now Timer1.Enabled = False ' 定时器控制失效。

End If2. 双分支结构(If...Then...Else语句) 双分支结构( 语句) 语句可以用 If...Then...Else 块定义几个语句块,执 行其中一个语句。

其语法格式也有两种形式: (1)If <表达式> Then <语句块1> Else <语句块2> End If (2)If <表达式> Then<语句1>Else<语句2> 当<表达式>的值为真时,执行Then后面的语句块1( 或语句1),否则执行Else后面的语句块2(或语句2)。

Visual_Basic_6教程

Visual_Basic_6教程

运算符
+
说明
连接两个字符串成一个 字符串或数字串求和 强制连接两个字符串成 一个字符串
示例
“THIS”+”IS” “234”+“32” “NUM” &”BER” “23432”
结果
“THIS IS”

“NUMBER”
3、比较运算符
比较运算符是比较两个数值的大小,其结果是逻辑真(Ture)或逻辑假 (False)。 【例题2-11】比较运算P35 Dim a As Integer, b As Integer Dim result As Boolean a = 10 b=5 result = ( a > b ) result = ( a = b ) result = ( a <= b) ′result 值是 True ′result 值是 False ′result 值是 False
☆ 算术函数
函数名 Abs (x) Atn (x) Cos (x) Exp (x) Fix (x) Int (x) Log (x) Rnd (x) Rnd) + 1) Sgn (x)
Sin (x) Sqr (x) Tan (x) Val (x) Asc (x) Chr (x) Str (x) Hex (x) Oct (x)
Dim I As Integer Dim X5 As Single Dim Myname As String ′将变量I声明为整型数据类型 ′将变量X5声明为单精度类型 ′将变量Myname声明为字符串
I=5 X5= 1.9 Myname =“ vb程序设计”
命名规则:
1.以字母或汉字开头,后可跟汉字、字母、数 字或下划线组成,长度小于等于255个字符; 2.不要使用VB中的关键字; 3.VB中不区分变量名的大小写.

第6讲 程序设计工具

第6讲 程序设计工具

4. 第四代语言的分类 按照4GL的功能可以将它们划分为以下几类:
(1)查询语言和报表生成器 查询语言是数据库管理系统的主要工具,它提供用户对数据库进行 查询的功能。报表生成器为用户提供自动产生报表的工具,它提供非 过程化的描述手段让用户很方便地根据数据库中的信息来生成报表。 (2)图形语言 Windows为我们提供了图形方式用鼠标进行软件开发的平台。 (3)应用生成器 应用生成器是重要的一类综合的4GL工具,它用来生成完整的应用 系统。应用生成器按其使用对象可以分为交互式和编程式二类。 (4)形式规格说明语言 为避免自然语言的歧义性、不精确性引入软件规格说明中。形式的 规格说明语言则很好地解决了上述问题,且是软件自动化的基础。从 形式的需求规格说明和功能规格说明出发,可以自动或半自动地转换 成某种可执行的语言。
四、编程工具的比较
1. Java与C/C++语言 Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。 C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让 大家很容易学习。 Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增 加了一些很有用的功能,如自动收集碎片。 Java实现了C++的基本面向对象技术并有一些增强,Java处理数据 方式和用对象接口处理对象数据方式一样。
3. 历史
尽管早年的论文中也用到过第四代语言4GL(FourthGeneration Language)一词,但是,4GL术语1982年 才被James Martin在其书《无程序员应用开发 (Applications Development Without Programmers)》 中正式用于非过程、高级设计语言。IBM的RPG (1960年)中可能首次描述过4GL,随后是信息产品 MARK-IV (1967年)和Sperry的MAPPER (1969年内部 用,1979年发布)中也有4GL描述。

VB教程6

VB教程6
键盘、鼠标和菜单是用户和程序进行交互的 主要工具。了解使用它们进行用户交互的设计要 求、方法,并理解交互过程中如何进行控制。
1
Visual Basic程序设计教程
键盘是主要的输入工具 。一般认为键盘对应于ASCII 码,每一个按键将产生一个对应的ASCII码,由键 盘传送给计算机的操作系统,根据用户程序的需要 再由操作系统产生键值。
DragDrop 识别何时将控件拖动到对象上
DragOver 识别何时在对象上拖动控件
Drag
取值0,取消拖放,1拖放开始,2结束拖放
16
Visual Basic程序设计教程
和拖放相关的两个名词是“源”和“目的”。源 是被拖动的控件,目标是在其上放源控件的对象。
【例6-4】编写一个程序,在窗体上放置一个回收 站图形,然后把窗体上的一个文字为“鼠标拖放 测试”的标签对象拖放到回收站对象上。使用一 个消息对话框决定是否把标签对象回收。
Source.Move (X - Source.Width / 2), (Y - Source.Height / 2)
End Sub
Private Sub LabDrag_MouseDown(Button As Integer, Shift As Integer, X
As Single, Y As Single)
Select Case Button
Case vbRightButton ‘右键 1
LabRight.BackColor = vbRed
LabMid.BackColor = 12632256
LabLeft.BackColor = 12632256
Case vbMiddleButton ‘中间键 4
LabRight.BackColor = 12632256

Visual Basic应用任务教程- vb-6

Visual Basic应用任务教程-  vb-6

【任务2】 文件操作
完成步骤
1.创建界面 按题目要求创建界面 2.过程代码 编写并输入过程代码
【任务2】 文件操作
知识链接
VB提供了文件的删除、拷贝、移动和重命名等执 行这些操作的相应语句。
1.文件的删除(KILL语句) 格式:Kill <文件名> 例如: Kill “D:\temp\*.*” 2.文件的拷贝(FileCopy语句) 格式:FileCopy <源文件名>,<目标文件名> 例如:FileCopy "e:\pmt\xjda.txt", "d:\tmp\xjda.txt"
Visual Basic应用任务 教程
第6章 文件管理
学习指导
文件是存储在计算机存储 器中的信息的集合,是程序、 数据和文档的统称。程序运行 时,从文件中读取数据,并把 处理结果存放到文件中。本章 介绍VB的文件管理操作,包 括文件系统控件的使用、文件 操作的语句和函数、文件的分 类、文件的读写操作等。
【任务1】 选择图片
完成步骤
1.创建界面 按题目要求创建界面 2.过程代码 编写并输入过程代码
【任务1】 选择图片
知识链接
文件系统控件包括驱动器列表框(DriverListBox)、 目录列表框(DirListBox) 和文件列表框(FileListBox)。文 件系统控件可以组合使用,也可以单独使用。
【任务1】 选择图片
效果描述
建立一个窗体如图,窗体上有驱动器列框、文件夹 列表框、文件列表框,而且这三个控件是保持同步的, 窗体上还有一个标签控件和一个图像框控件,当选中一 个图形文件时,把该文件的图片显示在图像框中,同时 把文件名显示在标签上。

清华大学VB经典教案第六节——数组

清华大学VB经典教案第六节——数组
分析:设数组为a,要实现数组元素互不相同,每产生一个元素 a(i),将a(i)与它前面的每一个元素,即a(1)~a(i-1)比较,如果不相同则 保留该元素值,否则,重新产生一个随机的两位正整数赋给a(i),再将 a(i)与它前面的每一个元素比较,直到不重复为止,然后,再产生下一 个数组元素,……。 顺序查找法的查找过程是:假设输入的数为n,从数组的第一个元 素开始,将数组元素依次与n比较,如果找到某个元素与n相等,则数组 元素的下标即为n的位置,否则,该数在数组中不存在。
【例6-1】Fibonacci数列为:1,1,2,3,5,8, 13,……,其中,第一项为1,第二项为1,其余任何一项都 是其前两项的和,即 f(n)=f(n-1)+f(n-2) n≥3 编写程序,定义一个有30个元素的数组,将Fibonacci 数列的30个数赋给数组元素,并在窗体上按6行5列输出这30 个元素,如图6-1所示。
(4)下标必须是整数,如果不是整数自动四舍五入; (5)某维下标的最大值和最小值称为该维下标的上界和下 界。 6.1.2 数组的数据类型 数组的数据类型指的是数组元素的数据类型。 6.1.3 数组的维数 数组的维数指的是数组所具有的下标个数,有1个下标 的称为一维数组,有2个下标的称为二维数组,以此类推, 在Visual Basic中,最多可以使用60维的数组。
6.2 元素个数固定大小的数组 元素个数固定大小的数组指的是:定义数组时就确定了 数组的维数以及每一维的上下界,从此,不得更改,只能在 规定的维数和上下界内引用数组元素。
6.2.1 元素个数固定大小的数组的定义 根据数组的作用域不同,定义元素个数固定大小的数组的 方法有三种: (1)过程级数组:在过程的开始位置用关键字Dim或Static 定义(两个关键字的含义不同,决定了数组的生存期),过程 级数组的作用域仅仅是其所在的过程,在其他过程中无效。其 语法格式如下: Dim|Static <数组名>(<维数定义>) [As <数据类型>],… (2)模块级数组:在模块的通用声明段用关键字Dim或 Private定义(两个关键字的含义完全相同),为了与关键字 Public相对应,建议使用关键字Private定义,模块级数组的 作用域仅仅是其所在的模块,在其他模块中无效。其语法格式 如下: Dim|Private <数组名>(<维数定义>) [As <数据类型>],…

《VisualBasic入门》课件

《VisualBasic入门》课件

VB与Microsoft的其他技术 (如数据库、Web开发等 )有很好的集成,方便开 发人员构建完整的应用程 序。
Visual Basic 的应用领域
Windows桌面应用程序开发
VB是Windows桌面应用程序开发的主流语言之一,适用于开发各种 类型的桌面应用程序。
Web开发
使用和技术,可以开发动态网站和Web应用程序。
向对象编程。
2008年,推出VB 2008(也 称为VB 9),增加了许多新
特性和改进。
04
05
2010年,推出VB 2010(也 称为VB 10),进一步增强 了语言功能和开发工具。
Visual Basic 的特点和优势
01 易学易用
02 面向对象
03 事件驱动
04 丰富的控件库
05 与Microsoft技…
DELETE
用于从数据库中删除数据。
05
Visual Basic 网络编程
网络通信协议
TCP/IP协议
TCP/IP协议是互联网的基础协议,它规定了数据传输的规则和 格式,使得不同类型和不同厂商的计算机能够相互通信。
HTTP协议
HTTP协议是互联网上应用最广泛的协议之一,它是一种无 状态的协议,主要用于传输web页面的内容。
Basic中,可以使用
Threading模块来创建和管理线
程。线程的创建需要指定线程的
入口函数和参数。
线程同步和互斥
在多线程编程中,需要解决线程 同步和互斥的问题,以保证多个 线程之间的正确交互和数据的安 全性。
06
Visual Basic 图形图像处理
GDI+ 绘图基础
GDI+概述
绘图基础
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

静态数组
数组声明中若有两个下标,则为二维数组, 有两个或两个以上下标,则为多维数组。
多维数组声明格式 Dim 数组名(下标1[,下标2,……) [as 类型] Dim a(2,3) as integer
a(0,0) a(1,0) a(2,0) a(0,1) a(1,1) a(2,1) a(0,2) a(1,2) a(2,2) a(0,3) a(1,3) a(2,3)
第六讲
数组
内容提要
数组的概念
数组的声明
与数组有关的函数和语句 组具有相同名字和类型的数据的
集合。
用统一的名字代表逻辑上相关的一批数据,每个元素用 下标来区分。
数组必须先声明后使用
Dim student(1 to 30) as String 声明时指定数组名称、类型、维数和大小。 •数组声明时下标的个数确定数组的维数,VB中的数组 最多60维。 •按声明时数组的大小是否确定分为静态数组和动态数组。
的次数由数组的元素数决定,即数组有多少个元素,该语句
就自动循环多少次。
For Each……Next语句-例
定义一个有10个元素的一维整型数组a,使用随机函数 为数组的每个元素赋1~99之间的值,然后用For Each……Next语句读取并显示数组a中各元素的值。
Option Base 1 (放到过程外) Private Sub Form_Click() Dim a(10) As Integer Dim i As Integer For i = 1 To 10 a(i) = Int(Rnd * 100) Next i For Each x In a Print x; Next x Print End Sub 窗体上单击4次后的结果。
动态数组的应用
ReDim a(6) '重定义数组的大小 Print "第2次输出数组a:" For i = 1 To 6 a(i) = i '再次为数组赋值 Print a(i); Next i Print ReDim Preserve a(10) '重定义数组的大小,但保留其中的元素 Print "第3次输出数组a:" For i = 1 To 10 Print a(i); Next i End Sub
运行时创建控件数组-例
用“筛法”找100以内的全部素数
分析:用“筛法”求素数时首先把要判断的全部整数写在纸 上,然后逐一判断是否是素数,不是素数的就把该整数筛掉, 最后剩下的就是素数。
UB=8 U2B=6
LB=0 L2B=0
Split函数
从一个字符串开始,以某个指定符号为分隔符, 分离若干个子字符串建立一个下标为0的一维数组
Split(字符串表达式[,分隔符]) Dim i%
Dim a() As String
a = Split("how!are!you", "!") For i = 0 To UBound(a) how are you
的上界和下界
UBound(数组名[,维数]) LBound(数组名[,维数])
Dim DynArray(8) As String
Dim UB%, LB%, U2B%, L2B% UB = UBound(DynArray) LB = LBound(DynArray) Print UB, LB Dim matrix(1 To 5, 6) As Integer U2B = UBound(matrix, 2) L2B = LBound(matrix, 2) Print U2B, L2B
动态数组
动态数组也称为可调数组,在数组声明时不指定数 组的大小,而在使用时才指定数组的大小。动态数 组使用灵活、方便,可以更高效的使用计算机内存。 创建动态数组:
在窗体模块、标准模块或过程中用Dim语句或Public语 句声明一个没有下标的数组,将数组声明为动态数组 在过程中用ReDim语句指明数组的大小,其一般格式为:
动态数组的应用
Option Base 1 '设定数组的下界为1 Dim a() As Integer '在过程外声明动态数组a Private Sub Command1_Click() Dim m%, n%, i%, j% m = Val(InputBox("输入m")) n = Val(InputBox("输入n")) ReDim a(m, n) '定义数组的大小 Print "输出数组a:" For i = 1 To m For j = 1 To n a(i, j) = i * j '为数组赋值 Print a(i, j); Next j Print Next i
数组有关的操作
数组元素的引用
数组元素的引用方法是在数组的后面的括号中指
定下标,引用方法和简单变量相同,即可以被赋值
也可以参与运算。
a(2)=a(1)+10
引用数组时,其下标要在数组声明的范围内, 否则程序运行时会出现“下标越界”的错误。
数组有关的操作
数组元素的输出
数组元素的输出可以用Print方法实现。对于矩阵 形式的输出,如: Option Base 1 (放在过程外) 1 2 3 Dim a(1 To 3, 1 To 3) As Integer 4 5 6 Dim i%, j% For i = 1 To 3 7 8 9 先把上面的数据存放在3 行3列的数组a中, 然后 用二重循环按原样输出。
动态的分配内存空间。
ReDim语句中数组的下标即可以是常量,也可以是有确定值的变量, as 类型可省略,若不省略,必须与Dim语句声明的类型一致。 在过程中可多次使用ReDim语句改变数组的维数和大小。 每执行一个新的ReDim语句都会使原来数组中的值丢失,可以在 ReDim语句后加上Preserve参数用来保留数组中的数据,但Preserve参数 只能改变最后一维的大小,前面几维大小不能改变。
For j = 1 To 3 Print a(i, j); Next j Print Next i
For Each……Next语句
For Each……Next语句专门用于数组或对象集合
的每一个成员
For Each 成员 In 数组 循环体 [Exit For] Next 成员
“成员”是一个Variant变量,代表数组中的每个元素 该语句可以对数组元素进行查询、显示和读取,循环重复
ReDim [Preserve] 数组名(下标1[,下标2……]) [as 类型]
动态数组的使用
在过程外部用Dim语句声明一个动态数组: Dim a() as integer 在过程内部用ReDim语句指明数组的实际大小: ReDim a(2,3)
ReDim语句是执行语句,只能出现在过程中,在程序运行时执行,可
控件数组-例
创建有4个复选框的控件数组,单击不同的复选框, 文本框中的文字分别显示宋体、楷体、隶书和黑体。
控件名 Check1 Check1 Check1 Check1 index 0 1 2 3 style caption 1 1 1 1 宋体 楷体 隶书 黑体
Private Sub Check1_Click(Index As Integer) Select Case Index Case 0 Text1.FontName = "宋体" Case 1 Text1.FontName = "楷体_GB2312" Case 2 Text1.FontName = "隶书" Case 3 Text1.FontName = "黑体" End Select End Sub
Dim b
a(1)=4
a(2)=6
a(3)=8
a(4)=10
' 声明Variant变量
b=array("A", "B", "C", "D")
相当于:b(0)= "A" b(1)= "B" b(2)= "C" b(3)= "D"
数组有关的函数
UBound() 、LBound()函数
UBound()函数和LBound()函数用来求数组某一维
数组有关的函数
Array()函数
对一维数组进行初始化
数组变量名= Array(数组元素值) Array()函数只能给Variant变量或动态数组赋值 “数组元素值”是要赋给数组各元素的值,之间用逗号隔开。 Dim a() ‘声明动态数组 a=array(2,4,6,8,10)
相当于:a(0)=2
Print a(i)
Next i
控件数组
控件数组由一组相同类型的控件组成,它们具有相
同的控件名、相同的属性、相同的事件过程。
在设计时创建控件数组一般步骤为: 在窗体上画出控件数组的第一个控件,并设置该控件的 Name等属性。 选中该控件,执行“复制”/“粘贴”操作 系统弹出对话框,询问是否创建控件数组,选择“是”,创 建了控件数组的一个元素,其索引值是1。 重复执行前两步,创建多个控件数组的元素。 双击任一控件数组元素,打开代码编辑窗口,编写事件过程 代码
运行时创建控件数组
在窗体上画出一个控件,并在属性面板上设置该 控件的Index属性值为0,代表控件数组,还可以设 置该控件的其它属性。 在程序中用Load方法添加该控件数组的其它元素, 用Unload方法删除添加的元素,一般格式为: Load 控件数组名(index) Unload 控件数组名(index) 设置每个添加的控件数组元素的Left和 Top属性, 以确定该元素在窗体中的位置,设置Visible属性为 True。
数组有关的操作
数组元素赋初值
相关文档
最新文档