vb程序设计课件_第1页
vb程序设计课件_第2页
vb程序设计课件_第3页
vb程序设计课件_第4页
vb程序设计课件_第5页
已阅读5页,还剩195页未读 继续免费阅读

下载本文档

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

文档简介

第1章VisualBasic(VB)概述1.2中文版VB简介1.3VB的运行环境、安装和启动1.4VB6.0的集成开发环境1.6VB中的对象1.5设计一个简单的VB应用程序1.1计算机语言与计算机程序

计算机之所以能自动进行计算,是因为采用了程序存储的原理,计算机的工作体现为执行程序。程序是控制计算机完成特定功能的一组有序指令的集合,编写程序所使用的语言称为程序设计语言,它是人与计算机之间进行信息交流的工具。

从1946年世界上诞生第一台计算机起,在短短的50余年间,计算机技术迅速发展,程序设计语言经历了机器语言、汇编语言到高级语言的多个阶段。目前世界上已经设计和实现的计算机语言有上千种之多,但实际被人们广泛使用的计算机语言不过数十种。1.1计算机语言与计算机程序1.1.1计算机程序设计语言的发展计算机语言按其与硬件接近的程度,可以划分为:(1)机器语言:计算机能够直接识别和执行的二进制代码的集合(2)汇编语言:用符号表示的机器语言。(3)高级语言:接近自然语言的命令和语句。高级语言在程序设计时着眼于解决问题时的过程,它是一种面向过程的语言。(4)面向对象语言:面向对象的程序设计用面向对象的方法来解决问题,不再将问题分解为过程,而是将问题分解为对象。世界是由许多对象组成的。对象有自己的数据(属性),也包括作用于数据的操作(方法)。对象将自己的属性和方法封装成一个整体,供程序设计者使用

结构化程序设计包含有三种基本结构,这三种基本结构为顺序结构、选择结构和循环结构。ABab图1.1顺序结构示意图⑴顺序结构

顺序结构是一种最简单、最基本的结构,在顺序结构内,各块是按照它们出现的先后顺序依次执行。图1.1表示了一个顺序结构形式,从图中可以看出它有一个入口a点,一个出口b点,在结构内A框和B框都是顺序执行的处理框。1.1.2结构化程序设计图1.2所示的虚线部分就是选择结构,在选择结构中程序产生了分支,但对于整个的虚线框而言,它仍然只具有一个入口a和一个出口b。条件PABabYN图1.2选择结构流程图⑵选择结构

选择结构中包含一个判断框,根据给定的条件p是否成立而选择执行A框或B框,当条件成立时,执行A,否则执行B。A框或B框可以是空框,即不执行任何操作,但判断框中的两个分支,执行完A或B后都必须汇合在一起,从出口b退出,然后接着执行其后的过程。

⑶循环结构

循环结构又称重复结构,是指在一定条件下反复执行一个程序块的结构。循环结构也是只有一个入口,一个出口。根据循环条件的不同,循环结构分为当型循环结构和直到型循环结构两种。①当型循环的结构如图1.3,其功能是:当给定的条件p成立时,执行A框操作,执行完A操作后,再判断p条件是否成立,如果成立,再次执行A操作,如此重复执行A操作,直到判断p条件不成立才停止循环。此时不执行A操作,而从出口b脱离循环结构。A条件PabYN图1.3当型循环结构流程图图1.4直到型循环结构流程图abNY条件PA②直到型循环的结构

如图1.4,其功能是,先执行A框操作,然后判断给定条件p是否成立,如果不成立,再次执行A操作;然后再对p进行判断,如此反复,直到给定的p条件成立为止。此时不再执行A框,从出口b脱离循环。

由以上三种基本结构构成的程序,称为结构化程序。一个结构化程序,以及三种基本结构中的每一种结构都应具有以下特点:

有一个入口

一个出口

没有死语句,即每一个语句都应该有一条从入口到出口的路径通过它(至少通过一次)。

没有死循环(无限制的循环)。

实践证明,任何满足以上四个条件的程序,都可以表示为由以上三种基本结构所构成的结构化程序;反之,任何一个结构化程序都可以分解为一个个基本结构。

结构化程序设计技术虽已使用了几十年,但有些问题仍未得到很好的解决。比如,不能自然准确的反映真实世界,开发出的软件很难保证质量;程序模块和数据结构松散地耦合在一起,容易出错,难以维护等。由于上述缺陷,一种全新的软件开发技术应运而生,这就是面向对象的程序设计(ObjectOrientedProgramming,简称OOP)。对象之间的相互作用通过消息传递来实现。用面向对象的程序设计方法,可以使人们对复杂系统的认识过程和系统的程序设计及实现过程尽可能的结合在一起。1.1.3面向对象的程序设计概念1VB的发展过程★VisualBasic是Microsoft公司在1991年推出的用于开发Windows应用程序的开发工具,是基于DOS平台下Basic编程语言的可视化的程序设计语言。它继承了Basic所具有的程序设计语言简单易用的特点,同时在其编程系统中采用了面向对象、事件驱动的编程机制,开创了可视化编程的一代先河。★Visual是可视化的意思,VisualBasic的命名就表示它是一套可视化的程序开发工具。在设计过程中,可以用可视化的方法编排一个窗口程序在执行时的外观,同时也可以采用易学易懂的Basic语言,并且把界面操作的细节部分事先封装起来,使得初学程序设计的人也可以轻而易举的编写出想象的程序。1.2VB简介 ★VB6.0(中文版)包括三个版本:

学习版

用于初学者,包括所有的内部控件。

专业版

用于开发人员,除学习版全部功能外,还包括ActiveX和Internet控件开发工具之类的高级特性。

企业版

—VB6.0的最高版本,除具有专业版的全部功能外,还包括一些特殊的工具。本书以VB6.0企业版(中文)为蓝本,介绍VisualBasic6.0的常用功能。

1.具有面向对象的可视化设计工具在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计的要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。

2.事件驱动的编程机制事件驱动是非常适合图形用户界面的编程方式。事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间不一定有联系。这样的应用程序代码一般较短,所以程序既易于编写又易于维护。2VB的功能特点

3.提供了易学易用的应用程序集成开发环境

在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。4.结构化的程序设计语言

VB具有丰富的数据类型和结构化程序结构,而且简单易学。

5.支持多种数据库系统的访问利用数据控件可访问的数据库系统。如:Access、FoxPro、Excel和Lotusl-2-3等多种电子表格。

6.支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术

7.完备的Help联机帮助功能

3VB的用途我们可以用VB写出什么样的程序呢?事实上,只要是你想得到的程序,绝大多数可以用VB编写。其中标准的窗口界面程序,如记事本、画图等都可以轻而易举的用VB来完成。当我们学完这门课后,只要发挥个人的创意,至少应能写出以下几个程序:

个性化应用程序

数据管理工具

小游戏

屏幕保护程序

文件管理工具

桌面小程序1.3.1VB的运行环境1.3.2VB的安装1.3.3VB的启动1.3VB的运行环境、安装和启动VB6.0是Windows98或WindowsNT下的一个应用程序,本身对软硬件没有特殊要求。也就是说,它对环境的要求与Windows98、WindowsNT要求是一致的。

硬件:一般要求586以上的处理器、16MB以上内存、100MB以上的剩余硬盘空间、CD-ROM驱动器、鼠标等。软件:要求Windows98或WindowsNT3.51以上版本。1.3.1VB的运行环境VB6.0的安装有两种情况:

1.初次安装

VB6.0必须在Windows98或WindowsNT环境下用系统自带的安装程序Setup.exe安装。步骤如下:⑴启动Windows98。⑵插入具有VB6.0系统的光盘。⑶运行VB6.0安装程序Setup.exe。⑷根据用户要求和机器配置选择三种安装方式之一:

典型安装:根据系统规定的内容安装到硬盘上。

自定义安装:按照用户选择的内容安装到硬盘上。

最小安装:系统取必须的内容安装到硬盘。

1.3.2VB的安装

2.添加或删除VB6.0部件当安装好VB6.0系统后,有时需要添加或删除某些部件。步骤如下:⑴在CD-ROM驱动器插入光盘。⑵开始

设置

控制面板

添加/删除程序⑶选择其中的“

VisualBasic6.0”选项,单击“添加/删除”按钮,显示VB6.0安装程序对话框,有三个选择:

添加/删除——用户要添加新的部件或删除已安装的部件,这时会弹出“维护”对话框,用户根据需要选中或清除部件前的复选框。

重新安装——以前安装的VB6.0有问题,重新安装。

全部删除——将VB6.0从系统中全部删除。1.3.3VB的启动

用前两种方法启动VB6.0后窗口如图2.1所示,窗口中有三个按钮:

现存

选择和打开现有的工程。

新建

建立新工程。最新

列出最近使用过的工程。当要新建一个工程时,单击“新建”按钮,选择“标准”项和单击“打开”命令按钮后,进入VB6.0应用程序集成开发环境进行新工程的创建。与一般的Windows应用软件一样,VB有三种启动方式:VB启动开始程序VisualBasic6.0利用桌面上的VB6.0快捷方式利用工程文件启动VB6.0图2.1启动VB6.0最新新建现存VB6.0的集成开发环境与MicrosoftOffice家族中的软件类似:工具按钮具有提示功能;单击右键可显示上下文关联菜单;用户可自定义菜单;在对象测览窗中可查看对象及相关属性。

当要新建一个工程时,单击“新建”按钮,选择“标准”项和单击“打开”命令按钮后,进入如图2.2所示的VB6.0应用程序集成开发环境进行新工程的创建。它包括以下几个独立的窗口:工程资源管理器窗口主窗口窗体窗口属性窗口代码窗口窗体布局窗口对象浏览窗口工具箱窗口立即窗口窗口1.4VB6.0的集成开发环境图2.2VB6.0应用程序集成开发环境(1)工具箱窗体窗口立即窗口工程窗口属性窗口窗体布局主窗口代码窗口对象窗口图2.2VB6.0应用程序集成开发环境(2)1.标题栏用来表明工程名称和集成开发环境当前的工作模式。VB有三种工作模式:设计(Design)模式、运行(Run)模式和中断(Break)模式。1.4.1主窗口设计

设计用户界面,编写源代码,完成程序开发。中断

暂时中断应用程序运行,可编辑代码,但不可修改用户界面。按F5键或单击“继续”按钮继续运行程序;单击“结束”按钮程序停止运行。在此模式会弹出“立即”窗口,在窗口内可输入简短的命令,并立即执行。工作模式运行

运行应用程序。

同Windows98界面一样,标题栏的最左端是窗口控制菜单框;标题栏的右端是最大化、最小化和关闭按钮。2.菜单栏菜单栏中包括13个下拉菜单,汇集了VB程序开发过程中需要的命令。⑴文件:用于创建、打开、保存、显示最近的工程以及生成可执行文件。⑵编辑:用于程序源代码的编辑。⑶视图:用于集成开发环境下程序源代码、控件的查看。⑷工程:用于控件、模块和窗体等对象的处理。⑸格式:用于窗体控件的对齐等格式化操作。⑹调试:用于程序调试、查错。⑺运行:用于程序启动、中断和停止等。⑻查询:用于进行与数据库表有关的查询操作⑼图表:用于完成与图表有关的操作⑽工具:用于集成开发环境下工具的扩展。⑾外接程序:用于为工程增加或删除外接程序。⑿窗口:用于屏幕窗口的层叠、平铺等布局以及列出所有己打开的文档窗口。⒀帮助:帮助用户系统地学习和掌握VB的使用方法及程序设计方法。3.工具栏工具栏可以迅速地访问常用的菜单命令。除了标准工具栏外,VB6.0还提供了编辑、窗体编辑器、调试等专用的工具栏。要显示或隐藏工具栏,可以选择“视图”菜单的“工具栏”命令或将鼠标在标准工具栏处单击右键进行所需工具栏的选取。

窗体窗口

—Form窗口。是VB应用程序的主要部分,用户通过与窗体上的控制部件交互来得到结果。该窗口具有标准窗口的一切功能,可被移动、改变大小及缩成图标。每个窗体窗口必须有一个唯一的窗体名字,建立窗体时缺省名为Form1,Form2……。在设计状态下窗体是可见的,窗体的网格点间距可以通过“工具”菜单的“选项”命令,在“通用”标签的“窗体设置网格”中输入“宽度”和“高度”来改变。运行时可通过属性,控制窗体的可见性。一个应用程序至少有一个窗体窗口,用户可在应用程序中拥有多个窗体窗口。除了一般窗体外,还有一种MDI(MultipleDocumentInterface)多文档窗体,它可以包含子窗体,每个子窗体都是独立的。1.4.2窗体窗口对象列表框属性显示排列方式属性列表框属性含义说明图2.3属性窗口属性(Properies)窗口见图2.3,所有窗体或控件的属性如颜色、字体,大小等,可以通过属性窗口来修改。属性窗口由以下部分组成:1.4.3属性窗口属性窗口属性含义说明

当在属性列表框选取某属性时,在该区显示所选属性的含义。对象列表框

单击对象列表框右边的的箭头,拉出所选窗体包含的对象的列表。属性显示排列方式

按字母序和按分类序属性列表

列出所选对象在设计模式可更改的属性及缺省值,对于不同对象它所列出的属性也是不同的。属性列表由中间一条线将其分为两部分:左边列出的是各种属性;右边列出的则是相应的属性值。用户可以选定某一属性,然后对该属性值进行设置或修改。切换文件夹查看代码查看对象图2.4工程资源管理器窗口三个按钮查看代码

在代码窗口显示和编辑代码。查看对象

在模块的对象窗口显示和编辑对象。切换文件夹

切换文件夹显示的方式。

它保存一个应用程序所有属性以及组成这个应用程序所有的文件。工程文件的后缀为VBP,工程文件名显示在工程文件窗口的标题框内。1.4.4工程资源管理器窗口

工程资源管理器下面的列表窗口,以层次列表形式列出组成这个工程的所有文件。它可以包含以下主要的三类文件:文件类型窗体文件(.FRM文件)—

该文件存储窗体上使用的所有控件对象、对象的属性、对象相应的事件过程及程序代码。一个应用程序至少包含一个窗体文件。标准模块文件(.BAS文件)—

所有模块级变量和用户自定义的通用过程。通用过程是指可以被应用程序各处调用的过程。类模块文件(.CLS文件)—

可以用类模块来建立用户自己的对象。类模块包含用户对象的属性及方法,但不包含事件代码。

代码(Code)窗口是专门用来进行程序设计的窗口,可在其中显示和编辑程序代码,见图2.5。打开代码窗口有以下三种方法:1.4.5代码窗口⑴从工程窗口中选择一个窗体或标准模块,并单击“查看代码”按钮。⑵从窗体窗口中打开代码窗口,可用鼠标双击一个控件或窗体本身。⑶从“视图”菜单中选择“代码窗口”命令。代码窗口的打开对象列表框过程列表框代码编辑区图2.5代码窗口过程查看按钮全模块查看按钮代码窗口主要包括:

对象下拉式列表框

—显示所选对象的名称。其中“(通用)”表示与特定对象无关的通用代码,一般在此声明非局部变量或由用户编写自定义函数和过程。过程下拉式列表框

列出所有对应于“对象”列表框中对象的事件过程名称(还可显示用户自定义过程名)。在对象列表框选择对象名,在过程列表框中选择事件过程名,即可构成选中对象的事件过程模板,用户可在该模板内输入代码。其中“(声明)”表示声明模块级变量。代码框

输入程序代码。代码窗口过程查看按钮

只能显示所选的一个过程。全模块查看按钮

显示模块中全部过程FormLayout窗口,见图2.6。用于指定程序运行时的初始位置,使所开发的应用程序能在各个不同分辨率的屏幕上正常运行,在多窗体应用程序中最为有用。此窗口在屏幕的右下角。用户只要用鼠标拖动窗体中的Form窗体位置,就能决定该窗体在运行时的初始位置。图2.6窗体布局窗口1.4.6窗体布局窗口

对象浏览器窗口,见图2.7。该窗口可查看在工程中定义的模块或过程,也可以查看对象库、类、方法、属性、事件及可在过程中使用的常数。图2.7对象浏览器窗口1.4.7对象浏览器窗口

新安装的VB6.0,工具箱窗体中有21个以图标按钮形式表示的各种控件的制作工具,他们称为标准控件。利用这些工具,用户可以在窗体上设计各种控件。

1.4.8工具箱窗口图形框文本框命令按钮单选按钮列表框垂直滚动条驱动器列表框文件列表框直线数据控制指针(不是控件)标签框架检查框组合框水平滚动条时钟形状图像对象链接与嵌入目录列表框图2.8工具箱1.4.9立即窗口

为调试应用程序提供的窗口,用户可直接在该窗口使用Print方法或在程序中使用Debug语句、Print语句显示表达式的值。1.4.10VB中的帮助通过MSDNLibrary获得帮助从Internet上获得帮助建立一个VB应用程序一般分为四个步骤:

☆建立应用程序界面 ☆设置对象的属性 ☆编写应用程序的代码 ☆保存和运行程序1.5简单VB应用程序的设计操作步骤如下:1.启动MicrosoftVisualBasic6.0中文版。2.在“新建工程”窗口中选择“标准EXE”选项,单击“打开”按钮。3.进入VB6.0开发环境。4.单击工具栏上的“保存”按钮,弹出“文件另存为”对话框,文件按默认值Form1.frm保存。5.在弹出的“工程另存为”对话框中,工程按默认值example1.vbp保存。6.创建工程后,VB会在工程中创建一个默认的窗体。7.在工程窗体的右上方有一个列表窗体,该窗体列出了整个工程的结构。8.在工程窗体的左方有一个可以移动的工具箱,其中包含VB的标准控件。9.在工程窗体的右方有一个属性窗口,可以设置对象的属性。10.单击“运行”按钮,出现运行结果。例2-1:本例演示VB6.0开发环境,介绍可视化地创建用户界面的方法,掌握VB的基本概念和基本操作,并建立一个基本的窗体。说明:对象是数据和代码的组合,在VB中,窗体和控件就是对象,因此在控件中已经包含了程序代码,使用控件将简化应用程序的开发过程,并且提高应用程序的开发效率。在VB中,可以通过对象的属性、方法和事件三个基本要素来控制和操作对象。实行是对象的特征和数据,它定义了对象的基本形状和行为,如控件的名称、标题、字体和可见性等。11.要改变窗体的背景颜色,可设置窗体对象的属性。在设计窗体上按F4键,切换属性窗口;双击属性窗口的BackColor属性,选择兰色。12.双击工具箱中的Lable控件,在当前窗体的中央出现一个Lable控件。13.在Lable控件上按F4,可以看见属性窗口中的名称为默认的Lable。双击Font属性,可以改变文字的大小和字体等。双击ForeColor属性,可以改变文字颜色。例2-1例2-2:本例演示如何控制窗体的关闭。运行程序,单击窗体中的“打开另一个窗体”按钮,将弹出另外一个窗体,只有单击此窗体中央的“关闭”按钮,才能关闭窗体。注意右上角的“关闭”按钮是无效的。具体操作步骤如下:1.创建一个新工程,并命名为example2.vbp,该工程中包含一个默认的窗体Form1.frm.2.添加命令按钮控件CommandButton,设置按钮Caption属性为“打开另一个窗体”。3.单击“工程”菜单中“添加窗体”选项,在弹出的窗口中选择“窗体”,工程将加入一个新的窗体。4.单击“保存”按钮,将新窗体存为Form2.frm.5.同样在Form2窗体中加入一个命令按钮控件,将其caption属性设置为“关闭窗体”。6.为命令按钮添加事件。双击Form1窗体中的“命令”按钮,将弹出code窗口。7.单击code窗口右上方的下拉列表框,选择控件的事件。(如选择Click事件)。8.在Command1_Click事件中加入以下代码:

PrivateSubCommand1_Click() Form2.show‘显示Form2窗体

EndSub

9.在Form2窗口的Form_QueryUnload处理程序中加入以下代码:

PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger) ifUnloadMode<>1Then Cancel=True‘Cancel为True时,窗体才可以关闭。

EndIf EndSub10.在Form2窗口的Command1_Click处理程序中添加以下代码:

PrivateSubCommand1_Click() UnloadMe‘关闭窗体

EndSub说明:VB编程是以事件驱动,事件是对象的某种特定动作,如单击鼠标(Click)、双击鼠标(DbClick)、属性改变(Change)等。当事件被触发时,对象就会对该事件作出相应的响应。用户可通过事件过程(EventProcedure)来控制程序的执行。事件过程的格式如下:

Sub对象名称——事件名称(参数) 事件执行的程序代码

EndSub例2-2例2-3:在窗体上单击鼠标,窗体标题变为“欢迎进入VB世界”,同时在窗体上显示一个圆;当单击“恢复”按钮时,窗体标题恢复为Form1,且圆被清除。例2-3VB程序的运行方法:

使用“启动”按钮直接运行程序.该方法只能看到程序的执行结果,不能生成可执行文件。

将应用程序源代码编译生成可执行文件。步骤为:文件生成…EXE输入文件名确定1.6.1对象1.6.2类1.6.3对象的建立和编辑1.6.4对象的属性、事件和方法1.6VB中的对象

“对象”是面向对象程序设计的核心,明确这个概念对理解面向对象程序设计来说至关重要。那么,对象是什么?在程序中是如何体现的?其实对象在VB的程序设计中无处不在。以刚才创建的应用程序为例,程序中使用的按钮就都是对象,应用程序本身也是一个对象。对象的概念并不神秘,它就来源于生活之中。在现实生活中,我们时时刻刻都在和对象打交道,一个人、一辆汽车、一台电脑等都是对象。

对象有两个共同的特点:有自己的状态—

如汽车,有型号、外壳、车轮、颜色、功率;有自己的行为—

比如汽车的启动、加速、减速、停止。对象的状态用数据来表示,称为对象的属性;对象的行为用对象中的代码来实现,称为对象的方法。1.6.1对象

在VB中,最主要的两种对象是窗体和控件。窗体是在进入VB开发环境时所看到的Form1,它是创建应用程序界面的基础。控件是在“工具箱”中的一个个按钮,我们添加在窗体上的按钮Commandl就是一个控件,所有的控件都必须添加在窗体上,而不能直接添加在其他对象上。

类是同种对象的集合与抽象,它包含所创建对象的属性描述和行为特征的定义。类是对象的定义,而对象是类的一个实例。如:各种各样的汽车都属于汽车范畴,某一辆小轿车是汽车的一个实例。所以汽车是类,而小轿车是对象。1.6.2类

类的属性和方法定义了类的界面,它封装了用于类的全部信息。当应用程序在某处由类创建一个对象时,用户只要使用对象的属性和方法进行相应的操作即可,而不必关心其内部是如何实现的。例如,VB工具箱上的可视化图标是VB系统设计好的标准控件类,当用工具箱上的TextBox控件类在窗体上产生两个控件时,此时的Text是对象,是类的实例化,他们继承了TextBox类的特征,可根据需要修改各自的属性。1.6.3对象的建立和编辑对象的建立有两种方法:①将鼠标定位在工具箱内对应的图标上,双击选择;②在工具箱中单击对应的图标,将鼠标移到窗体上所需的位置处,按下鼠标左键拖动到所需大小后释放鼠标。对象的选定有三种方式:①单击要操作的对象,被选中的对象出现8个控制柄。②拖动鼠标指针,将欲选定的对象包围在一个虚线框内。③先选定一个对象,按下Ctrl键,再单击其他控制,可选中多个对象。对象的编辑:①对象的复制:②对象的删除:③对象的命名:选中对象复制粘贴回答“否”选中对象按Del键在属性窗口中通过设置Name给对象重命名1.6.4对象的属性、事件和方法⑴属性的设置有两种方法:①在设计阶段利用属性框直接设置对象的属性;②在程序代码中通过赋值设置对象的属性。格式为:对象.属性=属性值例如:给一个对象名为command1的命令按钮的caption属性赋值为“确定”字符串。

Command1.Caption=“

确定”(2)事件①事件—

发生在对象上的事情。如:单击(Click)、双击(Dblclick)②事件过程—应用程序处理事件的步骤,即程序代码。

格式为:⑶方法

一种特殊的过程和函数,封装好后作为方法供用户直接调用。因为方法是面向对象的。对象方法调用格式:[对象.]方法[参数名表]

如果省略了对象,表示为当前对象,一般指窗体。如:

Form1.Print“

欢迎使用VisualBasic6.0”表示用Print方法在对象Form1窗体中显示“欢迎使用VisualBasic6.0”

字符串SubCommand1_click()

设置命令按钮的字体为20磅

Command1.fontsize=20Endsub本章主要内容2.1程序的书写规则2.2数制及数据类型2.3常量和变量2.4运算符和表达式2.5常用内部函数

VB对用户程序代码中关键字的首字母总被转换成大写字母,其余字母一律转换为小写字母。提高了程序的可读性。

VB将关键字中每个单词的首字母自动转换成大写字母。

对于用户自定义的变量名、过程名、函数名,VB以第一次定义的为准,以后输入的自动转换成首次的形式。1、在VB代码中,字母不区分大小写2.1程序的书写规则2、语句书写自由

VB在同一行上可以书写一条语句或多条语句。如果多条语句写在一行上,语句间用冒号“:”隔开。例如:Form1.width=300:Form1.caption="您好":Temp=Form1.width

为了方便阅读,最好一行写一条语句。

一条语句如果在一行内写不下,VB允许将单行语句分若干行书写,在行后加入续行符(一个空格后面跟一个下划线“

_”。)将长语句分成多行。

Addresses=“天津市河北工业大学”

&_

“现代化教学中心”

&_

“计算机技术基础教研室”

原则上,续行符应加在运算符的前后,续行符不应将变量名和属性名分隔在两行上。注释可以和语句在同一行,并写在语句的后面,也可占据一整行。例如:ˊ这是从屏幕左边ˊ开始的注释。Text1.Text=“Hi!”

ˊ在文本框中放欢迎词。3、在VB中可以使用注释注释有三种情况:

用Rem开头引导注释行。

用撇号“ˊ”开始引导语句后的注释。

使用“设置/取消注释块”命令将若干语句行或文字设置/取消为注释块。注意:在同一行内,续行符之后不能加注释。功能:用来标记变量名、函数名和类型名构成元素:A~Z、a~z、0~9或下划线_。形式:以字母或下划线开始,后跟字母、数字或下划线组成的字符串。注意:标识符不能分行书写。

4、VB中的标识符例如:以下是VisualBasic6.0中合法的标识符Dim

MyString

AsString

Const

Pi=3.1415926535897932

PublicFunction

getValue()AsInteger变量名符号常量名函数名5、数制

十进制八进制十六进制

9&o11&H915&o17&HF16&o20&H1020&o24&H14255&o377&HFF数制主要数制:十进制数,是VB中的默认数制辅助数制:八进制数(&o)和十六进制数(&H),个别情况使用,如屏幕和颜色的设置。VisualBasic提供了许多基本数据类型,如:Integer(整型),String(字符型),Boolean(逻辑型),Currency(货币型)等,每种数据类型占用一定的内存,允许存储一定范围的值。2.2数制及数据类型数据类型标准数据类型自定义数据类型数值型(numeric)日期型(Date)逻辑型(Boolean)

字符型(String)对象型(Object)变体型(Variant)

整型(Integer)长整型(Long)货币型(Curency)字节型(Byte)浮点型

单精度(Single)双精度(Double)⑴数值(Numerice)数据类型

有整型(Interger)(%)

长整型(Long)(&)

单精度型(Single)(!)

双精度型(Double)(#)

货币型(Currency)(@)

字节型(Byte)($)①整型(Interger)和长整型(Long)用于保存整数可以是正整数、负整数或者0。整型数用两个字节存储,表示数的范围为:-32768~+32767

长整型数用4个字节存储,表示数的范围为:-2147483648~+2147483647例如:123%、-123%、+123%均表示整数,而123.0就不是整数。

123&、1234567&均表示长整数。

123,456则是非法数。1、标准数据类型②单精度型!(Single)用来表示带有小数部分的实数4个字节存储。单精度浮点数最多有7位有效数字,单精度浮点数有多种表示形式:

±n.n(小数形式)

±n!(整数加单精度类型符)±nE±m(指数形式)±n.nE±m(指数形式)例如:123.45、0.12345E+3、123.45!都是同值的单精度数。如果某个数的有效数字位数超过7位,当把它赋给一个单精度变量时,超出的部分会自动四舍五入。例如:把213456.2567赋给单精度变量aa,在内存中aa的值为213456.3。③双精度型#(Double)用8个字节存储。科学记数法格式:±aD±c或±ad±c例如314.159265358979D-2表示3.14159265358979。双精度浮点数最多可有15位有效数字。④货币型@(Currency)是一种专门为处理货币而设计的数据类型,是一种特殊的小数。保留小数点右边4位和小数点左边15位。用8个字节存储如果变量已定义为货币型,且赋值的小数点后超过4位,那么超过的部分自动四舍五入。例如,将3.12125赋给货币型变量aa,在内存中aa的实际值是3.1213。⑤字节型$(Byte)用来存储二进制数。如果变量包含二进制数,则将它声明为Byte数据类型。Byte是从0-255的无符号类型,不能表示负数。⑵日期(Data)数据类型用8个字节的浮点数存储,表示从公元100年1月1日到公元9999年12月31日的日期,时间范围则从0点0分0秒到23点59分59秒。表示方法有两种:★以“#”括起来的字面上被认为是日期和时间的字符;例如:#03/10/2000#、#2000-03-10#、#March1,2000#、

#2000-3-1513:30:15#。★以数字序列表示。小数点左边的数字代表日期(Date),小数点右边的数字代表时间(Time)。其中,0为午夜0点、0.5为中午12点;负数代表1899年12月31日之前的日期和时间。⑶逻辑(Boolean)数据类型逻辑数据类型用于逻辑判断,只有两个值:

真(True)、假(False)

若变量的值是“true/false”、“yes/no”、“on/off”

信息,则可将它声明为Boolean类型。缺省值:False

逻辑数据转换成整型数据时,“真”转换为-1,“假”转换为0;

其他类型数据转换为逻辑数据时,非0数转换为“真”,0转换为“假”。

⑷字符(String)数据类型是一组由计算机字符组成的序列,每个字符都以ASCII编码表示。用一个字节表示。在VB中,字符串要用双引号括起来。例如:“VisualBasic”、“中国天津”、“123.456”

有两种字符串:变长字符串和定长字符串。变长字符串的最大长度为231-1个字符;定长字符串的最大长度为65535个字符。⑸对象(Object)数据类型用4个字节来存储,该32位地址可以引用应用程序中的对象。⑹变体(Variant)数据类型

变体型数据是一种可以随时改变数据类型的数据。如:DimSomeAsVariantˊ定义Some为变体型变量Some=“17”

ˊSome包含“17”(双字符的串)Some=Some-15ˊ现在Some包含数值2Some="U"&Someˊ现在Some包含"U2"(双字符的串)形式:Type自定义类型名 元素名[(下标)]As类型名

[元素名[(下标)]As类型名]

EndType其中:元素名

表示自定义类型中的一个成员下标

表示该成员是一个数组类型名

该成员的标准数据类型例如:定义班级中学生的基本情况的数据类型如下:

TypeStudents

ˊ声名Students是自定义类型名

NameAsString*8ˊName是Students类型中的成员之一

AgeAsIntegerˊAge是Students类型中的成员之一

AddressAsString*20ˊAddress是Students类型中的成员之一

EndType2、自定义类型声明变量:DimStudent1AsStudents要表示Student1变量中的某个元素,可使用下列方式:

变量名.元素名例如:

Student1.Name="李萍" Student1.Age=19使用自定义类型应注意的问题:

自定义类型必须在标准模块(.Bas)中定义,默认是Public。

自定义类型中的元素类型是字符串型时,该字符串必须是定长字符串。

要分清自定义类型名和具有该类型的变量名。前者表示的是一种数据类型,如同Integer、Single等一样;后者是一个具有某种类型的变量,VB根据变量的类型分配必要的存储空间。VB中标准数据类型表见课本P27页常量普通常量符号常量数值常量字符串常量逻辑常量日期常量2.3.1常量在程序运行过程中,其值始终保持不变的量称为常量1、普通常量:⑴数值常量:字节型、整型、长整型、定点及浮点常量。字节型、整型、长整型都是整型常量,例如:50、480085、-123、&O123、&H14等。定点常数是带小数点的正数或负数,如:3.12436、123.123、-0.456等。2.3常量和变量

浮点常数又分为单精度浮点常数和双精度浮点常数,他们都由尾符、尾数、指数符号和指数四部分组成,其中尾符代表了浮点数的正负,指数是整数。例如:-3.7856E-2、78D3所表示的值分别为-0.037856和78000。

⑵字符串常量:是用双引号括起来的一串字符,每个字符占用一个字节,如果是汉字,占用两个字节,但在VB中汉字被认为是一个字符。

“abcd”ˊ长度为4的字符串“VB5.0中文版”ˊ长度为8的字符串

⑶逻辑常量:逻辑真True、逻辑假False

⑷日期常量

#January1,2000#、#5/12/98#、#1999-6-30#、

#99-9-108:30:00#都是正确的日期常量。

功能:设置符号常量为表达式的值。举例:下面的语句分别定义了四个符号常量。

ConstNAMEAsString=“LiLin“

定义NAME是符号常量,其值是字符串“LiLin“

ConstNUMAsInteger=4450

定义NUM是符号常量,其值是整型数4450

const符号常量名[As类型]=表达式2.符号常量(用户声明常量)用户声明常量是用一个符号名来代替数值或字符串,称为符号常量。

命名规则:符号名必须是以字母开头,由字母、数字、下划线组成的长度不大于40的字符串。格式:

ConstPi=3.14159

定义PI是符号常量,其值是单精度数3.14159

ConstMAXAsInteger=&o155

定义MAX是符号常量,其值是八进制数155使用符号常量的规则:

符号常量不能修改,也不能对符号常量赋新值。

符号常量名不能是VisualBasic中的保留字,如Case、EndDo、If等。符号常量名必须以字母开头。通常,为了区别于其他变量,符号常量用大写字母表示。符号常量应先定义后使用,在整个模块中只需定义一次。由于VB应用程序的结构层次分全局级、窗口级和模块级,相应地一个符号常量也有不同的作用域。1变量和变量名变量是指在程序运行期间其值可以变化的量。命名规则:

变量名是以字母开头,由字母、数字、下划线组成的字符串。

变量名中间不允许有空格。

变量名不能和VB的保留字相同。

变量名不区分大小写。如ABC、abc、aBc都认为是一个相同的变量名。为了便于区分,一般变量名首字母用大写字母,其余用小写字母表示,而符号常量全部用大写字母表示。2.3.2变量2变量的声明及类型⑴用Dim关键字声明变量格式:Dim变量名[As类型]

其中[As类型]可选项,默认为变体类型。功能:在模块过程中或窗体级的通用过程中定义变量。例子:DimAgeAsInteger‘定义Age为整型变量

DimStrTempAsString‘StrTemp为不定长字符型变量

DimStrNameAsString*10‘StrName为定长字符变量

DimNumberAsSingle,CountAsSingle

‘定义Number和Count都是单精度变量

DimNumber,CountAsSingle

‘定义Number为变体变量,Count为单精度变量从上面的例子可知:

★字符串变量有定长和不定长两种形式;

★在一个Dim语句中定义多个变量时类型声明不能共用。⑵用Static关键字声明变量

格式:Static变量名As类型名

功能:在过程中定义静态变量和静态数组。说明:该变量的值在函数或过程执行结束后能保存下来,所以,下一次执行时,该值不再初始化。例子:PrivateSubform_Click()

DimA1AsInteger

StaticA2AsInteger A1=A1+1

A2=A2+1

EndSub

该过程中A1和A2定义为不同类型的整型变量。A1的值每调用一次过程就自动加1,过程调用一结束,其值就变为0。A2的值每调用一次过程也自动加1,过程调用结束时,A2的值等于调用该过程的次数。⑶用类型说明符直接声明变量格式:变量名+类型说明符类型说明符放有:

%

表示整型&表示长整型

!表示单精度型#

表示双精度型

@表示货币型$表示字符型例如:Name$ˊ定义字符型变量

Price!ˊ定义单精度型变量

Age%ˊ定义整型变量⑷隐式声明变量在VB中,对未进行声明就直接使用的变量叫做隐式声明,其类型为Variant类型。应避免使用。

运算符是代表VisualBasic某种运算功能的符号。VisualBasic程序会按运算符的含义和运算规则执行实际的运算操作。VisualBasic中的运算符包括:

算术运算符

关系运算符

逻辑运算符

字符串运算符2.4运算符和表达式1算术运算符运算符功能优先级运算符功能优先级∧指数1\整除4-负号2Mod取余5

乘3+加6/除3-减6功能:对诸如整型数、长整型数、单精度浮点数、双精度浮点数及货币型数进行操作。说明:

☆算术运算符中,除负号“-”是单目运算符外,其余都是双目运算符。

☆+、-、×的概念和代数中的概念相同。

☆除法运算有两种:

/—

一般除法,运算结果一般为单精度数。操作数有一个为双精度数时,结果为双精度数。如:7#/3=2.33333333333 \—

整除,整数除法,结果为整数。如:7\3=2

☆Mod运算符是求两数相除后的余数。例如:

23Mod7

‘结果为2

8.6Mod3

‘结果为0

11.4Mod5.2

‘结果为1

算术运算符两边的操作数应为数值型。若是数字字符或逻辑型,则自动转换为数值型再运算。先按四舍五入的原则对小数点后部分进行处理,然后运算 2关系运算符运算符功能例子结果>大于"1234">"129"False>=大于等于"abc">="abc"False<小于34<67True<=小于等于"23"<="3"True=等于150=150True<>不等于"xyz"<>"XYZ"True功能:对两个操作数进行大小比较,若关系成立,返回True,否则返回False.说明:

☆关系运算符是双目运算符,操作数可以是数值型或字符型。

VB中True用-1表示;False用0表示。

☆如果两个操作数是数值型,则按其大小比较;如果两个操作数是字符型,则按字符的ASCII值从左到右一一比较。☆汉字字符大于西文字符。

☆关系运算符中的等于“

=”是判断两边的值是否相等。3逻辑运算符运算符及功能:

Not—

逻辑非,当操作数为假时,结果为真。

NotF为T NotT为FAnd—

逻辑与,两个操作数都为真时结果为真逻辑数A逻辑数B结果TTTTTFFFTFFFFOr—

逻辑或,两个操作数只要有一个为真,结果就为真。逻辑数A逻辑数B结果TTTTTFTFTTFFFNot—逻辑非,返回操作数的相反逻辑值逻辑数A结果TTFFTXor—

逻辑异或,两个操作数不同时,结果为真,否则为假。逻辑数A逻辑数B结果TTTFTFTFTTFFFEqv—

逻辑等,两个操作数相同时,结果为真。逻辑数A逻辑数B结果TTTTTFFFTFFFTImp—

蕴含,第一个操作数为真,第二个操作数为假时,结果为假,其余真。逻辑数A逻辑数B结果TTTTTFFFTTFFT说明:★逻辑运算符中最常用的是Not、And、Or,其中And、Or用于将多个关系表达式进行逻辑判断。若有多个条件,And必须全部条件都为真才为真;而Or只要有一个条件为真则为真。

如:某单位选拔年轻干部,条件为:年龄小于等于35岁、职称为高级工程师、政治面目为中共党员。表示为:

年龄<=35And职称=“

高级工程师”

And政治面目=“中共党员”若表示为: 年龄<=35Or职称=“

高级工程师”

Or政治面目=“中共党员”表示三个条件只要有一个成立即可。

★如果逻辑运算符对数值进行运算,则进行数字的二进制逐位操作。如:12And7表示对1100(12)与0111(7)进行逐位与操作。1100

0111————

0100

这种特殊运算符用途如下:①And运算用来屏蔽某些位。如键盘事件中判断是否按了shift、ctrl、alt键。例如:

cl=clAnd7

‘仅保留cl中的最后三位,其余位置零。这里的“=”是赋值号。②Or运算用来把某些位置1。例如:

cl=clOr7

‘把cl中的最后三位置1,其余位保持原值不变。③对一个数连续进行两次Xor操作,可恢复原值。如设计动画时,用Xor模式可恢复原来的背景。4字符运算符运算符:&或+功能:&—

连接符两边的操作数不管是字符还是数值型,进行操作前,系统先将操作数转换成字符型,然后再连接。

+—

两个操作数应均为字符型,若均为数值型,则进行算术加运算;若一个为数字字符,另一个为数值型,则自动将数字字符转换为数值,然后进行算术加运算;若一个为非数字字符型,另一个为数值型,则出错。例如:

“12000”+12345

结果为“24345”

进行的加运算

“12000”+“12345”

结果为“1200012345”

两个字符串连接

“abcde”+12345

结果为错

“abcdef”&12345

结果为“abcdef12345”

“12000”&”12345”

结果为“1200012345”

12000&12345

结果为“1200012345”

12000+“123”&100

结果为“12123100”

说明:在字符串变量后使用“&”运算符,变量和运算符之间应加一个空格。因为“&”既是字符串连接符,也是长整形类型符,当变量名和符号“&”连在一起时,VB把它作为类型符号处理,这时报错。5表达式组成:由常量、变量、运算符、函数和圆括号按一定的规则组成。表达式通过运算后有一个结果,结果的类型由数据和运算符共同决定。表达式的书写规则:☆乘号不能省略。例如,x乘以y应写成x*y☆

括号必须成对出现,均使用圆括号;☆表达式从左到右在同一基准上书写,无高低大小之分。 6不同数据类型的转换

在算术运算中,如果操作数采用不同的数据精度,则VB规定,运算结果的数据类型采用精度高的数据类型。

Integer<Long<Single<Double<Currency

整型<长整型<单精度<双精度<货币型7运算符的优先级算术运算符>字符运算符>关系运算符>逻辑运算符运算符和数据类型举例说明:☆在三角函数中,以弧度表示;sqr的自变量不能是负数☆

Log和Exp是一对互为反函数,即Log(Exp(N)),Exp(Log(N))结果还是原来各自变量的值。

函数名含义示例结果Abs(N)Cos(N)Exp(N)Log(N)Rnd[(N)]Sin(N)Sgn(N)Sqr(N)Tan(N)取绝对值余弦函数e为底的指数函数,即ex以e为底的自然对数产生随机数正弦函数符号函数平方根正切函数Abs(-3.5)Cos(0)Exp(3)Log(10)RndSin(0)Sgn(-3.5)Sqr(9)Tan(0)3.5120.0862.30-1之间的数0-1302.5常用内部函数1数学函数例:lx-2-1

随机函数的使用☆Rnd函数返回小于1,大于等于0的单精度随机数。VB用于产生随机数的公式取决于称为种子(seed)的初始值。默认情况下,每次运行一个应用程序,VB提供一相同的种子,即Rnd产生相同序列的随机数。为了每次运行时,产生不同序列的随机数,可执行Randomize语句,格式如下:

Randomize[number]用number将Rnd函数的随机数生成器初始化,该随机数生成器给number一个新的种子值。如果省略number,则用系统计时器返回的值作为新的种子。例子:①将数学表达式写成VB表达式

x*x+abs(y)+exp(3)+sin(3.14*30/180)-sqr(x*y) ②要产生30~50之间的随机数(包括30和50)

int(Rnd*21+30)x2+|y|+e3+sin30o-xy2、日期函数1.Date

格式:Date

功能:提取计算机系统的当前日期。说明:该函数是无参函数,返回日期的格式为“月-日-年”示例:如果今天是2000年3月10日,则a$=Date的值为“03-10-2000”2.Now

格式:Now

功能:提取计算机系统的当前的时间和日期。说明:该函数是无参函数,返回由当前系统时间和日期组成的一个数值序列。示例:a=Nowa的值为04-3-610:08:34,表示当前系统日期为2004年3月6日,系统时间为10点8分34秒。3.Time

格式:Time

功能:提取计算机系统的当前的时间。 说明:该函数是无参函数,返回由当前系统时间组成的一个字符串。 示例:a=Timea的值为“10:08:34”。11DateAdd函数 格式:DateAdd(要增减日期的形式,增减量,要增减的日期变量)

功能:对要增减的日期变量按日期形式做增减。要增减的日期形式见下表:日期形式yyyyqmydwwwhns意义年季月一年的天数日一周的天数星期时分秒例如:DateAdd(“ww”,2,#2/14/2000#)表示在指定的日期上加2周,函数的结果为#2/28/2000#。5.DateDiff函数格式:DateDiff(要间隔日期形式,日期1,日期2)

功能:两个指定的日期按日期形式求相差的日期。例子:计算现在离2003年6月30日还有多少天。

DateDiff(“d”,Now,#2003/6/30#)

程序中的语句依照其在程序中的位置自上而下地执行,叫做语句的顺序执行。顺序结构程序由声明、输入、计算和输出等部分组成。3-1顺序结构程序设计3-1-1.数据输入

数据输入的方法有很多种。比如键盘、鼠标、磁盘文件、网络端口、声卡及其它输入设备。最常用的是用键盘和鼠标。1.使用InputBox()函数格式:InputBox(提示[,标题][,默认值][,x座标][,y座标])功能:

打开一个对话框,等待用户在对话框中键入数据。其中:

“prompt(提示)”:字符串表达式,必选项。在对话框中作为提示信息,可以是字符或汉字。如果提示信息包含多行,则必须在每行末用回车符(VbCR)、换行符(VbLF)或回车换行符的组合(VbNewLine或VbCRLF)来分隔。

“title(标题)”:可选项。显示在对话框标题栏中的字符串表达式。如果省略title,则把应用程序名放在标题栏中。

“default(默认值)”:可选项,显示文本框中的字符串表达式。当在输入对话框中无输入内容时,该缺省值作为输入的内容。如果省略default,则文本框为空。

“xpos,ypos(X坐标位置,Y坐标位置)”:可选项,数值表达式。指定对话框在屏幕上的位置。

例3.1使用InputBox函数显示用户输入的数据2.使用文本框(TextBox)控件该控件可以让用户输入或者编辑一个字符串,它的Text属性包括了控件内的文本。例:uAge=Val(TxtAge.Text)

注:TxtAge是一个文本框控件的名字,Val是将字符串转为数值的函数。例3.2使用TextBox控件输入数据格式:变量名/对象属性名=表达式功能:将赋值号右边表达式的值赋给赋值号左边的变量或对象属性。举例:

Form1.width=300Form1.caption="输入框"Temp=Temp+20说明:

①当表达式为数值型且与变量的精度不相同时,强制转换成左边变量的精度。例如:

iA%=4.7ˊiA是整型变量,iA中的结果是4。②当表达式是数字字符串,左边变量是数值类型时,自动转换成数值类型再赋值;但当表达式有非数字字符或空串时,则出错。例如;

n%=“123”

‘n中的结果是123,与n%=Val(“123”)效果相同

n%=“1a23”

‘出现“类型不匹配”的错误

3-1-2赋值语句③赋值语句中的“=”与关系运算符中的“=”的作用截然不同。例如:A=7=9

第一个“=”是赋值运算符,第二个“=”是关系运算符。A的结果是False

赋值语句a=b和b=a是两个含义完全不同的赋值语句;而在关系表达式中a=b和b=a是两种等价的表示方式。④不能在同一语句中给多个变量赋值。例如:

a=b=c=1

我们的本意是给a、b、c赋初值1,书写上没有错误。但VB编译时,将右边两个“=”作为关系运算符处理,先进行b=c的的比较,结果为true(-1);接着进行True=1的比较,结果为False(0);最后将False给a。例3.3将A和B单元的内容互换。1.使用TextBox控件输出

Tex

温馨提示

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

评论

0/150

提交评论