考试大论坛:全国计算机二级复习知识点小结(VB卷)_第1页
考试大论坛:全国计算机二级复习知识点小结(VB卷)_第2页
考试大论坛:全国计算机二级复习知识点小结(VB卷)_第3页
考试大论坛:全国计算机二级复习知识点小结(VB卷)_第4页
考试大论坛:全国计算机二级复习知识点小结(VB卷)_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

考试大论坛:全国计算机二级复习知识点小结(VB卷)考试大论坛:全国计算机二级复习知识点小结(VB卷)考试大论坛:全国计算机二级复习知识点小结(VB卷)xxx公司考试大论坛:全国计算机二级复习知识点小结(VB卷)文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度全国计算机等级考试—公共基础知识部分复习简纲在二级考试中公共基础知识占30%,考察题型选择填空,下面我就结合几年考试原题,小结一下这一部分的考点。第一章数据结构与算法本章应考重点:本章内容在二级笔试中会出现5—6题,是公共基础知识部分出题量比较多的一章,所占分值也比较大,约10分1.1算法算法是指解题方案的准确而完整的描述。算法的基本特征a可行性b确定性c有穷性d拥有足够的情报算法的复杂度a算法时间复杂度:是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量b算法的空间复杂度是指执行这个算法所需要的内存空间。1.2数据结构的基本概念1数据结构是指互相有关联的数据元素的集合2数据结构a数据的逻辑结构1表示数据元素的信息2表示各数据元素之间的前后件关系b数据的存储结构顺序存储链接存储索引存储c对各种数据结构进行的运算3数据结构的图形表示一个数据结构除了用二元关系外,还可以直观地用图形表示。在数据结构的图形表示中,对于数据集合点D中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,并简称结点:为了进以步表示数据元素之间的前后件关系,对于关系R中的每一个二元组,用一条有向线段从前件结点指向后件结点。4数据结构分为二大类线性结构a有且只有一个根结点b每个结点最多有一个前件,也最多有一个后件常见的线性结构有线性表,队列,线性链表,栈非线性结构不满足线性结构条件的数据结构常见的非线性结构有树,二叉树,和图等1.3线性表及其顺序存储结构1线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。表中的每个数据元素,除了第一个外,由且只有一个前件,除了最后一个外,有且只有一个后件。线性表中数据元素的个数称为线性表的长度。线性表可以是空表2线性表是一种存储结构顺序结构a线性表中所有元素所占的存储空间是连续的b线性表中个数据元素在存储空间中是按逻辑顺序依次存放的链式结构3顺序表的插入,删除运算a顺序表的插入运算,插入结束后,线性表的长度增加了1,顺序表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。b顺序表的删除运算,删除结束后,线性表的长度减少了1,顺序表的删除运算时需要移动元素,在等概率情况下,平均需要移动(n-1)/2个元素。插入删除运算不方便1.4栈和队列1栈及其基本运算栈是限定在一端进行插入与删除运算的线性表。栈是按照“先进后出”或“后进先出”的原则来组织数据的。栈具有记忆作用栈的基本运算a入栈运算b出栈运算c读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化2队列及其基本运算队列是指允许在一端(队尾)进行插入,一端(队头)进行删除的线性表队列是“先进先出”或“后进后出”的线性表队列运算包括a入队运算b出队运算3循环队列及其运算循环队列的初始状态为空,即rear=front=m循环队列的基本运算分为入队运算和退队运算队列空的条件:s=0队列满的条件:s=1front=rear1.5线性链表1线性表顺序存储缺点Datanext左指针数据域右指针ADatanext左指针数据域右指针B线性表的顺序存储结构下,线性表的存储空间不便扩充C线性表的顺序存储结构不便于对存储空间的动态分配2线性链表:线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。在链式存储方式中每个结点由二部分组成:数据域,指针域线性链表分为单链表,双向链表和循环链表三种类型3线性链表的基本运算a在线性链表中包含指定元素的结点之前插入一个新元素b在线性链表中删除包含指定元素的结点c将二个线性链表按要求合并成一个线性链表d将一个线性链表按要求进行分解e逆转线性链表f复制线性链表g线性链表的排序h线性链表的查找4循环链表及其基本运算循环链表是另一种形式的链式存储结构,与线性链表相比,具有以下二个特点a在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点,循环链表的头指向表头结点。b循环链表中最后一个结点的指针域不为空,而是指向表头结点,即在循环表中,所有结点的指针构成一个环状链在对循环链表进行插入与删除的过程中,实现了空表与非空表的运算统一 1.6树与二叉树1树的基本概念树是一种简单的非线性结构。在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度2二叉树及其基本性质(1)什么是二叉树二叉树是一种很有用的非线性结构a非空二叉树只有一个根结点b每个结点最多有二棵子树,且分别称为左子树和右子树二叉树的度可以是0,1,2(2)二叉树的基本性质性质1在二叉树的第k层上,最多有2k-1(k>=1)个结点性质2深度为m的二叉树最多有2m-1个结点性质3在任意一棵二叉树中度数为0的结点总比度为2的结点多一个性质4具有n个结点的二叉树,其深度至少为[log2n]表示取log2n的整数部分3满二叉树:除最后一层外,每层上的所有结点都有二个子结点完全二叉树:除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点4二叉树的存储结构,二叉树通常采用链式存储结构5二叉树的遍历(1)前序遍历(DLR)根左右(2)中序遍历(LDR)左根右(3)后序遍历(LRD)左右根1.7查找技术1顺序查找2二分法查找1.8排序技术类别排序方法基本思想时间复杂度交换类冒泡排序相邻元素比较,不满足条件交换n(n-1)/2快速排序选择基准元素,通过交换,划分成二个子序列O(nlog2n)插入类简单插入排序待排序的元素看成为一个有序表和无序表,将无序表中元素插入到有序表中n(n-1)/2希尔排序分割成若干个子序列分别进行直接插入排序O(n1.5)选择类简单选择排序扫描整个线性表,从中选出最小的元素,将他交换到表的最前面n(n-1)/2堆排序选建堆,然后建堆顶元素与堆中最后一个元素交换,再调整为堆O(nlog2n)第二章程序设计基础本章在考试中会出现一题左右,所占分值大约占2分,是出题量较小的一章。本章内容较少,所以大家尽量不要失分啊!这样会比较可惜。2.1程序设计风格程序设计的风格主要强调:“清晰第一,效率第二”源程序文档化eq\o\ac(○,1)符号名的命名。符号名能反映它所代表的实际东西,应有一定的实际含义eq\o\ac(○,2)程序的注释,分为序言性注释和功能性注释eq\o\ac(○,3)视觉组织数据说明eq\o\ac(○,1)数据说明的次序规范化eq\o\ac(○,2)说明语句中变量安排有序化eq\o\ac(○,3)使用注释来说明复杂数据的结构语句的结构输入和输出注意点信息隐蔽是指采用封装技术,将程序模块的实施细节隐藏起来,使模块接口尽量简单。即指在设计和确定模块时,使得一个模块的内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。2.2结构化程序设计(面向过程的程序设计方法)1.结构化程序设计方法的主要原则可以概括为a自顶而下b逐步求精c模块化d限制使用goto语句2.结构化程序的基本结构:顺序结构,选择结构(分支结构),重复结构(循环结构)2.3面向对象的程序设计面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡人们在现实生活中常用的思维来认识,理解和描述客观事物,强调最终建立的系统能够映射问题域。面向对象方法的主要优点与人类习惯的思维方法一致稳定性好可重用性好易于开发大型软件产品可维护性好.【注意】面向对象的程序设计主要考虑的是提高软件的的可重用性对象是面向对象方法中最基本的概念,对象是属性和方法的封装体属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变操作描述了对象执行的功能,操作也称为方法或服务。操作是对象的动态属性。一个对象由对象名,属性和操作三个部分组成对象的基本特点:标识唯一性,分类性,多态性,封装性,模块独立性好类是指具有共同属性,共同属性,共同方法的对象的集合。所有类是对象的抽象,对象是对应类的一个实例消息是一个实例与另一个实例之间传递的信息。消息的组成包括:接收消息的对象的名称消息标识符也称消息名零个或多个参数继承是指能够直接获得已有的性质和特征,而不必重复定义他们多态性是对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动。在面向对象技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息可以发送给父类对象也可以发送给子类对象。多态性机制增加了面向对象软件系统的灵活性,减少了信息的,而且显著提高了软件的可重用性可扩充性。第三章软件工程基础本章应考点拨:本章在笔试中一般占8分左右,约3道选择题,1道填空题,是公共基础部分比较重要的一章。本章主要考察对基本概念的识记,有少量对基本原理的理解,没有实际运用,因此在复习本章时,重点应放在基本概念的记忆和基本原理的理解。3.1软件工程基本概念1软件的相关概念计算机软件是包括程序,数据及相关文档的完整集合软件的特点包括软件是一种逻辑实体,而不是物理实体,具有抽象性软件的生产与硬件不同,他没有明显的制作过程软件在运行,使用期间不存在磨损和老化问题软件的开发,运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题软件复杂性高,成本昂贵软件开发涉及诸多的社会因素2软件危机与软件工程软件工程源于软件危机软件危机表现为软件需求的增长得不到满足软件开发成本和进度无法控制软件质量难以保证软件不可维护或维护程度非常低软件的成本不断提高软件开发生产率的提高跟不上硬件的发展和应用需求的增长总之可以将软件危机归结为成本,质量,生产率等问题软件工程软件开发技术软件工程管理软件工程的主要思想是将工程化原则运用到软件开发过程,他包括3个要素:方法,工具,过程软件工程过程是把输入转化为输出的一组彼此相关的资源和活动3软件的生命周期软件生命周期:软件产品从提出,实现,使用维护到停止使用退役的过程。生命周期分为软件定义,软件开发,软件运行维护三个阶段软件定义阶段:包括制定计划和需求分析软件开发阶段:软件设计(概要设计,详细设计),软件实现,软件测试软件运行维护阶段:软件生命周期中所花费最多的阶段4软件工程的目标和原则软件工程目标:在给定成本,进度的前提下,开发出具有有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性且满足用户需求的产品软件工程需要达到的基本目标是:付出较低的开发成本;达到要求的软件功能;取得较好的软件的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用软件工程的原则:抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性和可验证性。5软件开发工具与软件开发环境软件开发工具软件开发环境软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的集合3.2结构化分析方法结构化方法的核心和基础是结构化程序设计理论1需求分析需求方法方法有结构化需求分析方法面向对象的分析方法【说明】eq\o\ac(○,1)需求分析的任务就是导出目标系统的逻辑模型eq\o\ac(○,2)需求分析一般分为需求获取,需求分析,编写需求规格说明书和需求评审2结构化分析方法是结构化程序设计理论在软件需求分析阶段的应用结构化分析方法的实质:着眼于数据流,自顶而下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析的常用工具a数据流图(DFD)基本图形要素:加工(转换),数据流,存储文件,源潭画数据流图的基本步骤:自外向内,自顶向下,逐层细化,完善求精b数据字典(DD)数据字典的作用是对数据流图中出现的被命名的图形元素的确切解释数据字典是结构化分析方法的核心c判定树d判定表3软件需求规格说明书(SRS)软件需求规格说明书是需求分析阶段的最后成果,通过建立完整的信息描述,详细的功能和行为描述,性能需求和设计约束的说明,合适的验收标准,给出对目标软件的各种需求。3.3结构化设计方法1软件设计的基础软件设计包括软件结构设计,数据设计,接口设计,过程设计从工程角度来看,软件设计分成二步完成,概要设计和详细设计软件设计的基本原理包括:抽象,模块化,信息隐蔽和模块独立性【注意】模块分解的主要指导思想是信息隐蔽和模块独立性模块的耦合性和内聚性是衡量软件的模块独立性的二个定性指标【注意】一个设计良好的软件系统应具有高内聚,低耦合的特征在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度2总体设计(概要设计)和详细设计总体设计(概要设计)的基本任务是eq\o\ac(○,1)设计软件系统结构eq\o\ac(○,2)数据结构及数据库设计eq\o\ac(○,3)编写概要设计文档eq\o\ac(○,4)概要设计文档评审数据流的类型:大体可以分为二种类型,变换型和事务型单元是程序中最小的部分,由可以隐含的三个部分组成:数据输入,加工和数据输出详细设计详细设计的任务是确定实现算法和局部数据结构,不同于编码或编程常用的过程设计(详细设计)工具有以下几种a图形工具:程序流程图,N-S,PAD,HIPOb表格工具:判定表语言工具:PDL3.4软件测试软件测试的目的:尽可能地减少程序中的错误,不能也不可能证明程序没有错误。软件测试的关键是设计测试用例软件测试方法:静态测试和动态测试静态测试:包括代码检查,静态结构分析,代码质量度量。不实际运行软件,主要通过人工进行动态测试:主要包括白盒测试和黑盒测试白盒测试白盒测试方法也称为结构测试或逻辑驱动测试。它根据软件产品的内部工作过程,检查内部成分,以确认每种内部操作符合设计规格要求。白盒测试的基本原则:保证所测试模块中每一独立路径至少执行一次;保证所测试模块所有判断的每一分支至少执行一次;保证所测试模块每个循环都在边界条件和一般条件下至少各自执行一次;验证所有内部数据结构的有效性。白盒测试法的测试用例是根据程序的内部逻辑来设计的,主要用软件的单元测试,主要方法有逻辑覆盖,基本路径测试等【注意】逻辑覆盖的强度依次是:语言覆盖<路径覆盖<判定覆盖<条件覆盖<判断-条件覆盖(2)黑盒测试黑盒测试方法也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试盒验证。黑盒测试主要诊断功能不对或遗漏,接口错误,数据结构或外部数据库访问错误,性能错误,初始化和终止条件错误黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例,主要方法有等价类划分法,边界值分析法,错误推测法等,主要用软件的确定测试3软件测试过程4步骤:单元测试,集成测试,确认测试和系统测试(1)单元测试单元测试是对软件设计的最小单位—模块(程序单元)进行正确性检测的测试,目的是发现模块内部可能存在的各种错误。单元测试根据程序的内部结构来设计测试用例,其依据是详细设计说明书和源程序。单元测试的技术可以采用静态分析和动态测试。对动态测试通常以白盒测试为主,辅以之黑盒测试。单元测试的内容包括:模块接口测试,局部数据结构测试,错误处理测试和边界测试。在进行单元测试时,要用一些辅助模块去模拟与被测模块相联系的其他模块,即为被测模块设计和搭建驱动模块和桩模块。其中驱动模块相当于被测模块的主程序,它接收测试数据,并传给被测模块,输出实际测试结果;而桩模块是模拟其他被调用模块,不必将子模块的所有功能带入。(2)集成测试集成测试是测试与组装软件的过程,它是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现与接口有关的错误。集成测试的依据是概要设计说明书集成测试所涉及的内容包括:软件单元的接口测试,全局数据结构测试,边界条件和非法输入的测试等集成测试通常采用二种方式:非增量方式组装与增量方式组装(3)确认测试确认测试的任务是验证软件的有效性,即验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试的主要依据是软件需求规格说明书确认测试主要运用黑盒测试(4)系统测试系统测试的目的在于通过与系统的需求定义进行比较,发现软件与系统定义不符合或与之矛盾的地方系统测试的测试用例根据需求分析规格说明来设计,并在实际使用环境下来运行。系统测试的具体实施一般包括:功能测试,性能测试,操作测试,配置测试,外部接口测试,安全性测试等3.5程序的调试程序调试(不同于软件测试)的任务是诊断和改正程序中的错误,主要在开发阶段进行,调试程序应该有编制源程序的程序员来完成程序调试的基本步骤a错误定位b纠正错误c回归测试软件的调试后进行回归测试,以防止引进新的错误软件调试可分为静态调试和动态调试。静态调试主要是通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。对软件调试的主要方法有强行排错法回溯法原因排除法:是通过演绎,归纳和二分法来是来实现第四章数据库设计基础本章应考点拨:本章在考试中一般出现2-4个小题。本章内容概括性强,比较抽象,希望大家记忆之余,注意理解。4.1数据库系统的基本概念1数据,数据库(DB),数据管理系统(DBMS)是数据库的核心数据库管理系统功能eq\o\ac(○,1)数据模式定义eq\o\ac(○,2)数据存取的物理构建eq\o\ac(○,3)数据操纵eq\o\ac(○,4)数据的完整性,安全性定义与检查eq\o\ac(○,5)数据库的并发控制与故障恢复eq\o\ac(○,6)数据的服务数据库管理员(DBA)数据库系统(DBS)数据库应用系统2数据库系统的发展数据库管理发展至今已经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段3数据库系统的基本特点数据的高集成性数据的高共享性与低冗余性数据库系统可以减少数据冗余,但无法避免一切冗余数据独立性一般分为物理独立性和逻辑独立性二级数据统一管理与控制4数据库系统的内部结构体系数据库系统的三级模式:概念模式,外模式,内模式数据库系统的二级映射:概念模式/内模式的映射;外模式/概念模式的映射4.2数据模型1数据模型所描述数据模型所描述的内容有三部分,它们是数据结构,数据操作与数据约束。数据模型分为概念模型,逻辑数据模型和物理模型三类2实体联系模型及E-R图4.3关系代数1关系的数据结构2关系操作4.4数据库设计方法和步骤数据库的设计的二种方法面向数据的方法:以信息需求为主,兼顾处理需求面向过程的方法:以处理需求为主,兼顾信息需求数据库设计一般采用生命周期法需求分析阶段概念分析阶段逻辑设计阶段物理设计阶段编码阶段测试阶段运行阶段进一步修改阶段2数据库设计的需求分析第一阶段:需求收集和分析,收集基本数据和数据流图3数据库概念设计概念设计概述数据库概念设计的过程4数据库的逻辑设计从E-R模型向关系模式转换逻辑模式规范化及调整,实现5数据库管理数据库的建立数据库的调整数据库的重组数据库的故障校复数据安全性控制与完整性控制数据库监控第一章Vb程序开发环境VisualBasic的特点(1)可视化编程方法(2)面向对象的程序设计(3)事件驱动编程机制(4)结构化程序设计语言(5)访问数据库(6)建立ActiveX文档(7)IDE集成开发环境(面向Windows)(8)已完成的应用程序是真正的.exe文件,并提供运行可自由发布的动态链接库(DLL)VisualBasic6.0的版本:学习版,专业版,企业版VisualBasic的启动(1)使用快捷方式(2)使用菜单命令(3)使用“我的电脑”启动VisualBasic的退出单击VisualBasic窗口右上角的“关闭”的按钮选择“文件”菜单中的“退出”命令按下Alt+QVisualBasic的标题栏工程1—MicrosoftVisualBasic[设计]设计模式工程1—MicrosoftVisualBasic[运行]运行模式工程1—MicrosoftVisualBasic[Break]中断模式VisualBasic的菜单栏(1)“文件”:其中包含打开和保存项目以及生成执行文件的命令和一系列最近使用的项目(2)“编辑”:其中包含编辑命令“剪切”,“复制”,“粘贴”等和许多格式化,编辑代码的命令(3)“视图”:其中包含显示和隐藏IDE构件的命令(4)“工程”:其中包含将构件加入当前项目,引用Windows对象和工具箱工具的命令。(5)“格式”:其中包含对齐窗体控制的命令(6)“调试”:其中包含通常的查错命令(7)“运行”:其中包含启动,设置端点和终止当前应用程序运行的命令(8)“查询”:其中包含对数据SQL的查询,其中有运行,清除结果,验证SQL语法等命令。(9)“图表”:其中包含了对关系数据库的操作命令(10)“工具”:其中包含建立ActiveX控件和ActiveX控件所要的工具,包含启动“菜单编辑器”的命令和配置环境的“选项”命令(11)“外接程序”:其中包括“外接程序管理器”和“可视化数据管理器”命令,利用“外接程序管理器”命令可以增加和删除外接程序(12)“窗口”:其中包含屏幕窗口布局的命令(13)“帮助”:其中包含帮助信息VisualBasic的工具栏VisualBasic6.0提供了四种工具栏:编辑工具栏,标准工具栏,窗体编辑器,调试工具栏每种工具栏都有固定和浮动二种形式窗体设计器窗口简称窗体(Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。工程资源管理器窗口分为六类:窗体文件(.frm),程序模块文件(.bas),类模块文件(.cls),工程文件(.vbp),工程组文件(.vbg),资源文件(.res)标准模块文件资源文件:存放的各种“资源”,是一种可以同时存放文件,图片,声音等多种资源的文件属性窗口主要是针对窗体和控件设置的,在VB中,窗体和控件被称为对象,每个对象都可以用一组属性来刻画其特征,而属性窗口就是用来设置窗体或窗体中控件属性的工具箱窗口由工具图标组成这些图标是VB应用程序的构件,称为图形对象或控件,每个控件由工具箱中的一个工具图标来表示第二章对象及其操作2.1.1对象1什么是对象对象是VB程序设计的核心。对象分为二类,一类称为预定义对象,可以直接使用并对其进行操作,另一种由用户定义,让用户建立自己的对象。对象是代码和数据的集合,也可以这样理解。对象是一些属性,方法和事件的集合。在VB中,菜单,窗体,控件等都是对象,用户的操作是选择对象,而计算机的操作则是是执行对应的代码片断。2对象属性属性是一个对象的特征,不同的对象有不同的属性。对象常见的属性有标题(Caption),名称(Name)颜色(Color),字体大小(Fontsize),是否看见(Visible)除了用属性窗口设置对象属性外,也可以在程序中程序语句设置,一般格式为:对象名.属性名称=新设置的属性值3对象事件事件(Event)就是对象上所发生的事情,当系统响应用户的一些动作的时候,就会自动触发事件代码。响应某个事件后执行的操作通过一段程序代码来实现,这样的一段程序代码叫做事件过程(EventProcudure)事件过程的一般格式如下PrivateSub对象名称_事件名称()……事件响应程序代码……EndSub在VB中对象的事件有如下特点(1)事件是预先定义好的,能够被对象识别的动作(2)不同的对象能够识别不同的事件(3)对象的事件是固定的,用户不能建立新的事件4对象的方法在面向对象程序设计(OOP)中,引入了称为方法(Method)的特殊过程和函数。方法的操作与过程,函数的操作相同,但方法是特定对象的一部分,其调用格式为:对象名称.方法名称VB提供了大量的方法,有些方法可以适用于多种甚至所有类型的对象,而有些方法可能只适用于少数几种对象。VB中,方法是对象的一部分,方法是预定义好的操作,方法用于完成某些特定的功能2.1.2对象属性设置对象属性可以通过程序代码设置,也可以在设计阶段通过属性窗口设置。(1)用鼠标单击属性窗口的任何部位。(2)执行“视图”菜单中的“属性窗口”命令(3)按F4键(4)单击工具栏上的“属性窗口”按钮(5)按组合键Ctrl+PgDn或Ctrl+PgUp属性不同,设置新属性的方式也不一样,通常有三种1直接键入新属性值2选择输入,即通过下拉列表选择所需要的属性值3利用对话框设置属性值2.2.1窗体的结构与属性用二种方法来设置窗体属性:一是通过属性窗体设置;一是在窗体事件过程中通过程序代码设置。大部分属性既可以通过属性窗体设置,也可以通过程序代码设置,而有些属性只能用程序代码或属性窗口设置。通常把只能通过属性窗口设置的属性称为“只读属性”。Name就是只读属性。窗体(Form)的常用属性1.AutoRedraw自动重画,格式:对象.AutoRedraw[=Boolean]2.BackColor背景颜色3.BoederStyle边框类型4.Caption标题,格式:对象.Caption[=字符串]5.ControlBox控制框6.Enabled允许7.字形属性设置8.ForeColor前景颜色9.Height,Width高,宽格式:对象.Height[=数值];对象.Width[=数值]10.Icon图标11.MaxButton,MinButton最大,最小化按钮12.Name名称13.Picture图形14.Top,Left顶边,左边位置15.Visible可见性,格式;对象.Visible[=Boolean]16.WindowState窗口状态,格式:对象.WindowState[=Boolean]2.2.2窗体事件1.Click(单击)事件,格式:PrivateSubForm_Flick()2.DblClick(双击)事件,格式:PrivateSubForm_DblClick()3.Load(装入)事件,格式:PrivateSubForm_Load()4.Activate(活动),Deactivate(非活动)事件5.Unload(卸载)事件,格式:PrivateSubForm_Unload(cancelAsInteger)6.Paint(绘画)事件2.3控件VB控件分为三种类型:标准控件,ActiveX控件和可插入对象2.3.1标准控件编号名称作用1Pointer(指针)不是一个控件,只有选择Pointer后,才能改变窗体中控件的位置和大小2PictureBox(图片框)用来显示图形,作为其他控件的容器,显示图形方法的输出或显示Print方法输出的文本,可显示下述任何格式的图片文件:位图,图标,图元文件,增强型图元文件,JPEG或GIF3Label(标签)用来显示文本,但用户不能编辑控件。可用此控件标识窗体的对象4TextBox(文本框)有时也称为编辑字段或者编辑控件,显示设计时用户输入的文件信息,或运行时在代码中赋予控件的信息5Frame(框架)为控件提供可标识的分组。同时可以在功能上进一步分割一个窗体,这相关的对象6CommandButton(命令按钮)可以开始,中断或者结束一个进程,当单击此按钮时,可以执行指定的操作7CheckBox(复选框)又称检查框,用于多重选择8OptionButton(单选按钮)显示一个可以打开或者关闭的选项,用于表示单项的开关状态9ComboBox(组合框)将TextBox和ListBox的特征结合在一起既可以在控件的文本框部分输入信息,也可以在控件的列表框部分选择一项10ListBox(列表框)显示项目列表,从中可以选择一项或多项。如果项目总数超过了可显示的项目数,就自动在ListBox控件上添加滚动条11HScrollBar(水平滚动条)用于表示在一定范围内的数值选择。常放在列表框或文本框中用来浏览信息,或用来设置数值输入12VScrollBar(垂直滚动条)用于表示一定范围内的数值选择。可以定位列表,作为输入设备或速度,数量的指示器13Timer(计时器)响应时间的流逝。它独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般作用是检查系统时钟,判断是否该执行某项任务。14DriveListBox(驱动器列表)用来显示用户系统中所有有效磁盘驱动器的列表。可以创建对话框,在所有可用目录中,从文件列表打开一个文件15DirListBox(目录列表框)显示目录和路径。可以显示分层的目录列表。可以创建对话框,在所有可用目录中,从文件列表打开一个文件16FileListBox(文件列表框)将文件定位并列举出来,用来显示所选择文件类型的文件列表17Shape(形状)可在窗体,框架或图片框中创建下述约预定义形状:矩形,正方形,椭圆形,圆形等18Line(直线)图形控件,他显示水平线,垂直线或者对角线19Image(图像框)用来显示图形可以显示来自位图,图标或源文件的图形,也可以显示增强的源文件,JPEG或GIF20Data(数据)用来访问数据库21OLEContainer(OLE容器)用于对象的链接和嵌套2.3.2控件的命名和控件值1.控件的命名每个窗体和控件都有一个名字,这个名字就是窗体或控件的Name属性值。在一般情况下,窗体和控件都有默认值,Microsoft建议用三个小写字母作为对象的Name属性的前缀2.控件值在一般情况下,通过“控件.属性”的格式设置一个控件的属性VB为每个控件规格定了一个默认属性,在设置这样的属性时,不必给出属性名,通常把该属性称为控件的值。控件值是一个最重要或最常用的属性。第三章简单程序设计3.1VB中的语句1赋值语句[Let]目标操作符=源操作符(变量,表达式,常量,带有属性的对象)[注]a赋值语句兼有计算与赋值的双重功能b“=”与数学上的等号意义不同c目标操作符,源操作符的数据类型一致d关键字Let可省略2注释语句目的提高程序的可读性Rem注释内容'注释内容3暂停语句StopVB遇到Stop语句,这条语句就暂停程序执行转换到中断模式4结束语句EndSub结束Sub过程EndFunction结束Function过程EndIf结束If语句块EndType结束记录类型EndSelect结束情况语句3.2编写简单的VB引用程序在用VB开发应用程序时,一般需要四步(1)创建应用程序界面(2)设置窗体和控件的相关属性(3)编写应用程序代码(4)调试和运行3.4.1VB应用程序的构成VB应用程序通常由三类模块组成,即窗体模块,标准模块和类模块。第四章VB程序设计基础4.1.1数据类型数据类型字符串变长字符串(String)顶长字符串数值整型数整数(Integer)长整数(Long)浮点数单精度浮点数(Single)双精度浮点数(Double)货币(Currency)变体(Variant)其他数据类型字节(Byte),布尔(Boolean),日期(Date),对象(Object),Decimal数据类型4.1.2用户定义的数据类型1记录类型Type语句Type<数据类型名>成员1AS类型名Type<数据类型名>成员1AS类型名成员2AS类型名..EndType在标准模块中定义,记录类型变量是通用的,可以出现在工程中任何地方定义记录类型数据后,在该结构中不是存放数据,还必须定义记录类型变量,记录类型变量是存放数据的定义记录类型时,若是字符串,必为定长字符串记录数据类型中的成员不能含有数组4.1.3枚举类型放在窗体类型,标准模块或公共类模块中的声明部分通过Enum语句来定义[Public|Private]Enum<类型名称>成员1[=常数表达式][Public|Private]Enum<类型名称>成员1[=常数表达式]成员2[=常数表达式]..EndEnum2.“常数表达式”可以省略3.枚举中常数值看做长整数4当对一个枚举中的常数赋值时,可以使用另一个枚举中的数值4.2.1常量常量文字常量字符串常量数值常量整型数十进制数,八进制数,十六进制数长整型数十进制数,八进制数,十六进制数货币型数浮点数符号常量符号常量:Const常量名=表达式[,常量名=表达式]…[注]1.在声明符号常量时,可以在常量名后面加上类型说明符2.当在程序中引用符号常量时,通常省略类型说明符3.类型说明符不是符号常量的一部分,定义符号常量后在定义变量时要慎重4.2.2变量1.变量命名规则(1)名字只能由字母,数字和下划线组成(2)名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符(3)名字的有效字符为255个(4)不能用VB的保留字为变量名,但可以把保留字前者、嵌入变量名中,同时,变量名不能是尾部带有类型说明符的保留字2变量的类型和定义(1)用类型说明符来标识:%,&,!,@,$(2)在定义变量时指定其类型Declare变量名As类型DeclareDim:用于在标准模块,窗体模块或过程中定义变量或数组。Static:用于在过程中定义静态变量及数组变量。Static定义的变量,每次引用该变量时其值会继续保留。Public:用来在标准模块中定义全局变量或数组。(3)用DefType语句定义DefType字母范围[注]1如果一个变量未被显示定义,末尾也无类型说明符,则被隐含的说明为变体类型(Variant)2用DefType语句定义的变量只对它所在的模块起作用,类型说明符优先于DefType3应需要定义数据类型4用类型说明符定义变量,在使用时可以省略类型说明符变量类型类型说明符As类型名数据长度(字节)字节Byte1布尔Boolean2整型%Integer2长整型&Long4单精度!Single4双精度#Double8货币型@Currency8变长字符串$String1字节/字符定长字符串$String*NumNum3记录类型变量在一般情况下,记录类型在标准模块中定义,如果在窗体模块中定义则必须在“Type”关键字前面加上“Private”4.3.1局部变量与全局变量应用程序通常由窗体模块和标准模块组成。窗体模块包括事件过程,通用过程和说明部分。而标准模块由通用过程和声明部分组成名称作用域声明位置使用语句局部变量过程过程中Dim或Static模块变量窗体模块或标准模块模块的声明部分Dim或Private全局变量整个应用程序标准模块的声明部分Public或Global4.3.2默认声明用Dim和Public(或Global)语句可以定义局部变量,模块级变量和全局变量。对于局部变量来说,也可以不用Dim(或Static)定义,而在需要时直接给出变量名,变量的类型可以用类型说明符(%@#!$)来标识,如果没有类型说明符,VB把变量指定为变体数据类型。默认定义的变量不需要使用Dim语句,因而比较方便,并能节省代码,但有可能带来麻烦,使程序出现无法预料的结果,而且比较难查出错误。默认声明一般只适用于局部变量,模块级变量和全局变量必须在代码窗口中用Dim或Public语句显式声明4.4常用内部函数1.转换函数Int(x),Fix(x),Oct(x),Hex(x),CInt(x),CLng(x),CDbl(x),Tab(x),Str$(x),Val(x)2.数学函数Atn(x),Cos(x),Sin(x),Tan(x),Abs(x),Sgn(x),Exp(x)3随机函数Rnd(x)Randomize语句4.5字符处理与字符串函数4.5.1VB的字符处理机制为了实现ANSI和UniCode转换,VB提供了名为StrConv的转换函数新字符串=StrConv(待转换字符串,转换格式)其中“待转换字符串”可以是字符串常量,也可以是字符串变量。“转换格式”用来指定转换成哪种格式的字符串,可以取多种值,与ANSI和UniCode转换有关的值有二个,分别是vbUnicode(值为64)将ANSI编码格式的字符串转换为Unicode格式vbFromUnicode(值为128)将Unicode编码格式的字符串转换为ANSI格式4.5.2字符串函数函数格式功能LTrim$LTrim$(字符串)去除字符串左边的空白字符RTrim$RTrim$(字符串)去除字符串右边的空白字符Left$Left$(字符串,n)取字符串左边n个字符Right$Right$(字符串,n)取字符串右边n个字符Mid$Mid$(字符串,p,n)从p位置开始字符串的n个字符Len$Len$(字符串)/Len$(变量名)测试字符串的长度String$String$(n,字符串)/String$(n,ASCII码)返回由n个字符组成的字符串Space$Space$(n)返回n个空格InStrInStr(字符串1,字符串2)在字符串1中查找字符串2Ucase$Ucase$(字符串)小写转换为大写Lcase$Lcase$(字符串)大写转换为小写字符串匹配函数格式:InStr(字符串1,字符串2)该函数的返回值为Long4.6运算符与表达式4.6.1运算符算术运算符比较运算符逻辑运算符优先级幂运算(^)相等(=)Not负数(-)不等(<>)And乘法和浮点除(*,/)小于(<)Or整数除法(\)大于(>)Xor(异或)求模运算(Mod)小于或等于(<=)Eqv(等价)加法和减法(+,-)大于或等于(>=)Imp(蕴含)字符串连接(&)LikeIs说明(1)当乘法和除法同时出现在表达式中时,从左到右计算(2)&用于字符串连接运算(3)Like的优先顺序与所有比较运算符都相同,实际上是模式匹配运算符(4)上述操作顺序有一个例外,当幂和负号相邻时负号优先(5)整除(\)取模(Mod)左右若为浮点数,那先对数进行四舍五入后再进行计算(6)Xor(异或)如果二个表达式同为True或同为False,则结果为False,否则为True(7)Eqv(等价)如果二个表达式同时为True或同为False,则结果为False(8)Imp(蕴含)当第一个表达式为True,且第二个表达式为False时,结果为False4.6.2表达式的执行顺序(1)首先进行函数运算(2)接着进行算术运算(3)然后进行比较运算(4)最后进行逻辑运算第五章数据的输入输出5.1.1P[对象名称.]Print[表达式表][,空格;]说明(1)“对象名称”可以是窗体(Form)图片框(PictureBox)或打印机(Printer),也可以是立即窗口(Debug)。如果省略“对象名称”,则当前窗体下输出。(2)“表达式表”是一个或多个表达式。可以是数值表达式或字符串。(3)当输出多个表达式或字符串时,各表达式用分隔符(,|;)隔开(4)Print具有计算输出双重功能(5)在一般情况下,每执行一次Print方法要自动换行,为了仍在同行显示,可以在末尾加上一个分号或逗号;当使用逗号时,在同行上跳到下一个显示段显示;当使用分号时,下一个Print输出的内容将紧跟在当前Print所输出的信息的后面5.1.2与Print方法有关的函数1Tab函数格式Tab(n):要输出的内容放在Tab函数的后面,并用分号隔开,PrintTab(n);输出内容说明:在Vb中,对参数n的取值范围没有具体限制,当n比行宽大时,显示位置为nMod行宽;如果n<1,则把输出位置移到第一列,当在一个print方法中有多个Tab函数时,每个Tab函数对应一个输出项,各输出项之间用分号隔开。2Spc函数格式Spc(n)在输出中,用Spc函数可以跳过n个空格说明:Spc与输出项之间用分号隔开,Spc与Tab作用类似,而且可以互相替代,Tab函数从对象左端计数,而Spc只表示二个输出项的间隔。3空格函数Space(n),Space$(n)5.1.3格式输出Format$(数值表达式,”格式字符串”)函数的功能是:按“格式字符串”指定的格式输出“数值表达式”的值如果省略“格式字符串”则Format$功能与Str$功能基本相同。唯一的区别是当把正数转换成字符串时,Str$在字符串前面留有一个空格,而Format$函数则不留空格#数字,不在前面或后面补00数字,在前面或后面补0·小数点与#,0结合使用,小数部分多余的数字按四舍五入处理,千位分隔符,不放在头部,也不紧靠小数%百分比符号,用于输出百分号$美元符号,在所显示数值前面加上一个“$”+正号–负号,E+,E-用指数形式显示数值二者作用基本相同5.1.4其他方法和属性1.Cls方法:作用于清除由Print方法显示的文本,图形,并把光标移到对象的左上角(0,0),这里对象可以是Form,PictureBox,若对象省略默认窗体(Form)格式:[对象.]Cls说明:当窗体的背景是用Picture属性装入的图形,不能用Cls,只能用LoadPicture清除2.Move方法:移动窗体和控件并可改变其大小单位:twip格式:[对象.]Move左边距离[,上边距离[,宽度[,高度]]]对象:窗体(Form)及除计数器(Timer),菜单(Menu)之外的所有控件3.TextHeight和TextWidth方法用来辅助设置坐标单位:twip格式:[对象.]TextHeight(字符串)[对象.]TextWidth(字符串)对象:窗体和图片框5.2数据输入InputBox函数格式:InputBox(prompt[,title][,default][,xpos,ypos][,helpfile,context])prompt:字符串,是对话框内显示的信息,用来提示用户输入title:字符串,它是对话框的标题default:字符串,用来显示输入缓冲区的默认信息即如果用户没有输入任何信息,则可用此默认字符串作为输入值xpos,ypos:是二个整数值,分别用来确定对话框与屏幕左边的距离(xpos)和上边的距离(ypos),单位均为twiphelpfile,context:helpfile是一个字符串变量或字符串表达式,用来表示文件的名字,context是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。当带有二个参数时,对话框中出现一个“帮助”按钮,单击该按钮或按F1键例InputBox(444,112,55,120,36,"234",2+3)[注]InputBox的返回值是一个字符串,InputBox等价于InputBox$5.3MsgBox函数和MsgBox语句1.MsgBox函数MsgBox(msg[,type][,title][,helpfile,context])2.MsgBox语句MsgBoxMsg$[,type%][,title$][,helpfile,context]msg:是字符串,长度不超过1024个字符,该字符串的内容将在对话框内显示。type:是一个整数值或符号常量,来决定按钮的类型title:是一个字符串,用来显示对话框的标题helpfile,context:helpfile是一个字符串变量或字符串表达式,用来表示文件的名字,context是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。当带有二个参数时,对话框中出现一个“帮助”按钮,单击该按钮或按F1键MsgBox函数的返回值是一个整数,这个整数与所选择的按钮有关5.4字形字体类型:[窗体.][控件.]|Printer.FontName[=“字体类型”]字号:FontSize[=点数]粗体字:FontBold[=Boolean]斜体字:FontItalic[=Boolean]加删除线:FontStrikethru[=Boolean]加下划线:FontUnderline[=Boolean]重叠显示:FontTransParent[=Boolean],只适用于窗体和图片框控件Boolean可以取二个属性即True和False5.5打印机输出5.5.1直接输出Printer.Print[表达式表]注(1)NewPage用以强制打印机跳到下一页打印(2)EndDoc用于停止发送给Printer对象的打印操作,并将打印内容发送到打印机设置或后台打印程序5.5.2窗体输出在VB中,还可以用PrintForm方法以图像方式打印窗体信息。其一般格式为:[窗体.]PrintForm功能:PrintForm方法将指定窗体上的内容发送到打印机进行打印说明:(1)用该法需要先将该信息显示在窗体中,然后再调用窗体的PrintForm方法来打印窗体(2)若省略窗体名称。则VB将打印当前窗体(3)PrintForm方法将打印窗体的全部内容,包括窗体的控件及图形(4)当窗体的AutoRedraw属性设置为True时,则可以打印窗体中包括的图形第六章常用标准控件6.1文本控件一.常见的标签(Label)控件属性属性说明Alignment用来确定标签中标题的放置方式AutoSize属性为True自动调整标签的大小,若为False标签将保持设计时定义的大小BorderStyle用来设置标签的边框Caption用来在标签中显示文本Enabled该属性返回或设置一个值,用来确定一个窗体或控件是否能够对用户产生的事件作出反应BackStyle当值为1时标签将覆盖背景,当值为0时标签为透明。默认值为1WordWrap用来决定标签的标题属性的显示方式6.2图形控件图像框的属性及描述属性说明CurrentX和CurrentY用来设置下一个水平或垂直坐标,只能在运行期间使用,格式为对象名.CurrentX=x或对象名.CurrentY=yPicture用于指定图像框中显示的图形,支持的格式有:bmp,ico,emf,jpg,gifStretch若为False则自动放大或缩小图像框中的图形以与图像框的大小相适应;若为True则图形大小不会发生改变Shape控件的属性及描述属性说明BoderColor用来设置形状的颜色,其值用6位十六进制数表示BoderStyle用来确定形状的边界线的线型,取值有7种,0透明,1实线,2虚线3点线4点划线5双点划线6内实线BoderWidth用来指定形状边界线的宽度,默认以像素位单位BackStyle用来决定形状是否被指定颜色填充,为0则形状边界线内是透明的,若为1,则该区域由设定颜色填充FillColor用来定义形状内部的颜色,其设置方法同BoderColorFillStyle用来决定形状内部的填充图案,0实心1透明2水平线3垂直线4向上对角线5向下对角线6交叉线7对角交叉线Shape用来决定所画形状的几何图形,有六种0矩形(默认)1正方形2椭圆形3圆形4四角圆化的矩形5四角圆化的正方形6.3命令按钮控件属性说明Cancle若为True则按Esc与单击按钮的作用相同,一个窗体中只允许有一个按钮的Cancle属性为TrueDefault若为True则按回车键与单击按钮的效果相同,一个窗体中允许有一个按钮Default属性为TrueStyle0标准样式(默认设置),按钮中只显示文本,没有相关的图形;1图形格式,按钮中不仅显示文本,而且可以显示图形Picture用来给按钮指定一个图形.注意必须把Style设置为1,否则无效DownPicture用来设置当控件被按下时显示的图形DisabledPicture用来设置对一个图形的引用6.4选择控件复选框的属性属性说明Value用来表示复选框的状态,0表示没有选中该复选框;1表示选中该复选框;2该复选框禁用(灰色)Alignment用来设置复选框的标题的对齐方式,0默认控件居左标题在控件的右侧,1控件居右,标题在控件的左侧显示Style用来指定复选框的显示方式,0默认标准方式,同时显示控件和标题,1图形方式控件用图形样式显示列表框属性属性说明Columns用来确定列表框的列数.当为0所有的项目呈单列显示,为1时呈多行多列显示,若大于1且小于列表框中的项数,则呈单行多列显示List用来列出表项的内容ListCount用来列出列表框中的表项的数量ListIndex该属性的设置值为已经选中的表项的位置MultiSelect用来设置一次可以选择的表项数Selected该属性实际上为一个数组,各个元素的值为True或False每个元素对应着列表框中的一项,True表示选中,False处于未选中状态SelCount如果MultiSelect设置为1或2则该属性用于读取列表框中选择的书目Sorted用来确定列表框中的项目是否按字母,数字升序排列Style用于确定控件外观,0是标准形式;1复选框形式Text该属性值为最后一次选中的表项的文本,不能直接修改Text属性组合框属性属性说明Style用来确定组合框的类型,0下拉式列表框看起来类似于一个下拉列表,可以输入文本或从下拉列表内选择表项,1简单组合框不是下拉式而是一直显示在屏幕上,可以选择表项,也可以在其编辑区中输入文本,2下拉式列表框外表类似于下拉式组合框,只是不能识别DbClick,Change事件Text该属性值是用户所选择的项目的文本或直接从编辑区中输入的文本6.5滚动条属性属性说明Max滚动条所能表示的最大值,取值范围为Min滚动条所能表示的最小值LargeChange单击滚动条中滚动框前面或后面的部位是,Value值增加或减少的增量值SmallChange单击滚动条二端的箭头时,Value值增加或减少的增量值Value该属性值表示滚动框在滚动条上的当前位置,其取值在Min和Max的值之间6.6计时器属性说明Enabled若希望窗体一加载定时器就开始工作,应将此属性设置为True,否则保持此属性为False.有时可能选择由外部事件(例如单击命令按钮)启动定时器操作Interval定时器事件之间的毫秒数,取值范围为0-647676.7框架控件属性说明Caption设置框架的标题,通常来说明名称Font用来设置框架标题的字体ForeColor用来设置框架标题文字的颜色Enabled若为True,则框架及其中的的控件可用,若为False则框架及其中的控件约被禁用6.9焦点与Tab顺序焦点是接收用户鼠标或键盘输入的能力当对象得到焦点时,会产生GotFocus事件,而当对象失去焦点时,将产生LostFocus事件(1)在运行时单击该对象(2)运行时用快捷键选择该对象(3)在程序代码中使用SetFocus方法Tab顺序时在按Tab键时焦点在控件间移动的顺序第七章VB控件结构7.1选择控件结构1.单行结构条件语句If条件Then…Else…语句|GoTo行号或行标号,其中行标,行标号是标示符2.块结构条件语句If条件1Then语句块1ElseIf条件2Then语句块2…Else语句块nEndIf说明:(1)格式中“条件”都是逻辑表达式,数值表达式和关系表达式看做是逻辑表达式的特例。当“条件”是数值表达式时,非0为True,0为False。(2)在某些情况下,可能有多个条件为True,但只执行一个语句块.3.IIf函数result=IIf(条件,True部分,False部分)result为返回值,条件为逻辑表达式7.2多分支控件结构(SelectCase语句或Case语句)SelectCase测试表达式SelectCase测试表达式Case表达式表列1语句块1[Case表达式表列2[语句块2]]……[CaseElse[语句块n]]EndSelect(2)表达式表列称为域值A表达式B表达式To表达式CIs关系运算表达式(<>,<,>,<=,>=,=)7.3循环结构1.For循环(For-Next循环或计数循环)2.当循环控制结构While条件(布尔表达式)[语句块]WendWhile条件(布尔表达式)[语句块]WendFor循环变量=初值To终值[Step步长][循环体][ExitFor]Next[循环变量][,循环变量]ExitFor退出循环3.Do循环控制结构a.Do-Loop循环b.DoWhile|Until循环Do[Do[While|Until循环条件][语句块][ExitDo]LoopDo[语句块][ExitDo]Loop[While|Until循环条件]7.4GoTo型控制1.GoTo语句的一般格式GoTo{标号|行号}说明:(1)标号必须以英文字母开头,以冒号结束。而行号由数字组成,后面不能跟有冒号(2)在使用GoTo跳到指定行后,如果没有ExitSub或ExitFunction等语句,程序会继续执行剩下的语句2.On-GoTo语句格式为On设置表达式GoTo行号表列|标号表列过程:先计算“数值表达式”的值,将其四舍五入,然后根据该整数的值决定转移到第几行或标号执行第八章数组格式S(n)其中S称为数组名,n为下标。一个数组可以含有若干个下标变量。下标用来指出某个数组元素在数组中的位置,S(i)代表数组中的第i个元素。8.1.1数组的定义在Vb中可以用四个语句来定义数组,这四个语句格式相同,但适用范围不一样。Dim用在窗体模块或标准模块中,定义窗体或标准数组,也可用于过程中ReDim用在过程中Static用在过程中Public用在标准模块中,定义全局数组以Dim为例说明数组定义的格式第一种格式:一维数组Dim数组名(下标上界)As类型名二维数组Dim数组名(第一维下标上界,第二维下标上界)As类型名行列说明若省略“As类型名称”,则定义为Variant数组必须先定义后使用当用Dim定义时,数组中全部元素初始化都为0,而把字符串数组中的全部元素都初始化为空字符串一般情况下,下标的下界默认为0,要从1开始则要用OptionBase语句来设置OptionBasenn只可以为1或0,该语句只能出现在窗体层或模块层,不能出现在过程中,必须放在数组定义之前。第二种格式:Dim数组名([下界To]上界[,[下界To]上界]……)As类型名称8.1.2默认数组在VisualBasic中,允许定义默认数组,即数据类型为Variant的数组。8.2静态数组与动态数组把需要在编译时开辟内存区的数组叫做静态数组把需要在运行时开辟内存区的数组叫做动态数组静态数组和动态数组由其定义方式决定·用数值常数或符号常量作为下标定维的数组是静态数组·用变量作为下标定维的数组是动态数组用ReDim定义动态数组格式:ReDim[Preserve]变量(下标)As类型说明a在窗体层或模块层定义的动态数组只有类型,没有指定维数,其维数在ReDim语句中给出,最多不能超过8维b可以用ReDim语句直接定义数组,如果在标准模块层或窗体层没有用Public或Dim声明过同名的数组,则用ReDim定义的数组最多可达60维c在一个程序中,可以多次用ReDim语句定义同一个数组,随时修改数组中元素的个数8.3.1数组元素的输入,输出和复制1.数组的引用a在引用数组元素时,数组名,类型和维数必须与定义数组时一致Dima(5,5)AsIntegDima(5,5)AsIntegerFori=1To5Forj=1To5a(i,j)=InputBox(“”)Nextj,iDima(5)AsIntegerDima(5)AsIntegerFori=1To5a(i)=InputBox(“”)Nexti2.数组元素的输入数组元素一般通过For循环语句以及InputBox函数输入还可以用Array函数来做一维数组输入3.数组元素的输出Dima(5)AsIntegerDima(5)AsIntegerFori=1To5a(i)=InputBox(“”)Printa(i)Nexti4.数组元素的复制单个数组元素可以像简单变量一样从一个数组复制到另一个数组。8.3.2ForEach…Next语句ForEach成员In数组循环体[ExitFor]…Next[成员]8.4数组的初始化控件数组由一组同类型的控件组成这些控件共同一个相同的控件名字,具有同样的属性设置,数组中的每一个控件都有惟一的索引号,即下标,其所有元素的Name属性必须相同。8.5控件数组控件数组由一组同类型的控件组成这些控件共同一个相同的控件名字,具有同样的属性设置,数组中的每一个控件都有唯一的索引号,即下标,其所有元素的Name属性必须相同。第九章过程9.1.1建立Sub过程1定义Sub过程通过Sub过程的结构与前面多次见过的事件过程的结构类似。一般格式如下[Static][Private][Public]Sub过程名[(参数表列)]语句块[ExitSub]EndSub说明:eq\o\ac(○,)Static指定过程中的局部变量在内存中的默认存储方式。如果使用了Static,则过程中的局部变量就是Static,即在每次调用过程时,局部变量的值保持不变。eq\o\ac(○,)Private表示Sub过程是私有过程,只能被本模块中的其他过程访问,不能被其他模块中的过程访问eq\o\ac(○,)Public表示Sub过程,任何地方调用他eq\o\ac(○,)过程名eq\o\ac(○,)参数表列:含有在调用时传送给过程的简单变量名或数组名,各名字之间用逗号隔开。“参数表列”指明了调用时传送给过程的参数的类型和个数,每个参数的格式为:[ByVal]变量名[()][As数据类型]a.EndSub标志着Sub过程的结束b.Sub过程不能嵌套2建立Sub过程第一种方法,操作步骤如下执行“工程”菜单中的“添加模块命令,打开“添加模块”对话框,在该对话框中选择“新建”选项卡,然双击“模块”图标打开模块代码窗口。执行“名称”框内输入要建立的过程的名字。在“名称”框内输入要建立的过程的名字。在“类型”栏内选择要建立的过程的类型,如果建立子程序过程,则要选择“子程序”;如果要建立函数过程,则选择“函数”。在“范围”栏内选择的适用范围,可以选择“公有的”和“私有的”。单击“确定”按钮,回到模块代码窗口。第二种方法:执行“工程”菜单中的“添加模块”命令,打开模块代码窗口9.1.2调用Sub过程1用Call语句调用Sub过程格式:Call过程名[(实际参数)]用Call语句用一个过程时,如果过程本身没有参数,则“实际参数”和括号可以省略。实际参数是传送给Sub过程的变量或常数。2把过程名作为一个语句来使用在调用Sub过程时,如果省略关键字Call,就成为调用Sub过程的第二种方式,与第一种方式相比,他有二点不同去掉关键字Call(2)去掉“实际参数”的括号9.1.3通用事件与事件过程事件过程也是Sub过程,它是一种特殊的Sub过程,它附加在窗体和控件上控件事件过程的一般格式[Private|Public]Sub控件名_事件名(参数表)语句组EndSub窗体事件过程的一般格式[Private|Public]SubForm_事件名(参数表)语句组EndSub9.2.1建立Function过程Function过程定义的格式[Static][Private][Public]Function过程名[(参数表列)][As类型][语句块][过程名=表达式][ExitFunction][语句块]EndFunction9.2.2调用Function过程Sub调用可以建立一个独立的语句,而Function过程调用作为独立的语句没有意义。在调用时,直接用函数名调用,名称后面的括号中放上所需要的参数,VB中,调用函数过程语法为:变量=函数名(参数1,参数2,…,参数n)Function过程是由用户自己定义的。9.3.1形参与实参形参是在Sub,Function过程的定义中出现的变量名实参是在调用Sub,Function时传送给Sub或Function过程的常数,变量,表达式或数组VB中,可以通过二种方式传送参数,即按位置传送和指名传送。1.按位置传送当使用这种方式时,实际参数的次序必须和形式参数的次序相匹配,也就是说,它们的位置次序必须一致在传送参数时,形参表与实参表中对应变量的名字不必要相同,但是他们所包含的参数的个数必须相同;同时,实参与对应的形参的类型必须相同。形式参数表中各个变量之间用逗号隔开,表中的变量可以是:·除定长字符串之外的合法变量名·后面跟有左右括号的数组名在形式参数表中使用入x$或xAsString之类的变长字符串为形参,不能用形如xAsString*8之类的定长字符串作为形参,但定长字符串可以作为实际参数传送给过程。实际参数表中的各项用逗号隔开,实参可以是:·常数·表达式·合法的变量名·后面跟有左,右括号的数组名2.指名传送所谓指名参数参数传送,就是显示地指出与形参结合的实参,把形参用“:=”与实参连接起来。和按位置传送方式不同,指名传送方式不受位置次序的限制。9.3.2引用在Vb中,参数通过二种方式传送,即传地址和传值,其中传地址习惯上称为引用,引用方式通过关键字ByRef来实现在默认情况下,变量都是通过引用传送给Sub或Function过程在这种情况下,可以通过改变过程中相应的参数来改变变量的值。这意味着,当通过引用来传送实参时,可以改变传送给过程变量的值。9.3.3传值传值就是通过传送实际参数,即传送实参的值而不是传送它的地址在这种情况下,系统把需要传送的变量复制到一个临时单元中,然后把该临时单元的地址传送给被调用的通用过程。由于通用过程没有访问变量(实参)的原始地址,因而不会改变原来变量的值,所有的变化都是在变量的副本上进行的。在VB中,传值方式通过关键字ByVal来实现。也就是说,在定义通用过程时,如果形参前面有关键字ByVal,则该参数用传值方式传送,否则用引用(即传地址)方式传送。用Function过程可以通过过程名返回值,但只能返回一个值;Sub过程不能通过过程名返回值,但可以通过参数返回值,并可以返回多个值。当需要用Sub过程返回值时,其相应的参数要用传址方式。9.3.4数组参数的传送VB允许把数组作为实参传送到过程中。用数组作为过程的参数时,应在数组名的后面加上一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论