版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章VB语言概述1.1VB语言简介
1.1.1VB语言的基本特点
1.1.2VB的版本1.2VB程序开发环境1.3VB程序的开发步骤1.4VB中的几个重要概念本章小结下一页返回第1章VB语言概述上机实训返回上一页1.1VB语言简介1.1.1VB语言的基本特点VB语言是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。它拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,程序员可以轻松地使用VB提供的组件快速建立一个应用程序。VB语言主要有以下几个基本特点。下一页返回1.1VB语言简介1.可视化编程它用传统的高级语言编写程序,主要的工作是设计算法和编写语句。程序的各种功能和显示的结果都要由程序语句来实现。而用VB开发应用程序,主要的工作:一是设计用户界面;二是编写程序代码。在传统的程序设计中,为了在屏幕显示出一个图形,就必须编写一大段程序语句。而VB提供了可视化设计工具,它把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量代码,只需要按设计要求进行屏幕布局,用系统提供的工具在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性,它会自动产生界面设计代码。程序设计人员只需编写实现程序功能的那部分代码,因此可以大大提高程序设计的效率。
下一页返回上一页1.1VB语言简介2.面向对象的程序设计5.0版以后的VB支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(如C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而VB则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋子应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具将其画在界面上,VB自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。
下一页返回上一页1.1VB语言简介3.结构化程序设计语言VB是在BASIC和QuickBASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式,其语句简单易懂。VB的编辑器支持彩色代码,可自动进行语法错误检查。此外,VB还具有功能强且使用灵活的调试器和编译器。
下一页返回上一页1.1VB语言简介4.采取事件驱动方式VB中的编程与传统的高级语言编程方法不同。传统的编程方法是:根据程序应实现的功能,写出一个完整的程序(包括一个主程序和若干个子程序)。在执行时,从第一个语句开始,直到结束语句为止。在执行过程中,除了需要用户输入数据时暂停外,程序开始运行后不停顿地按程序中指定的顺序执行各指令,直到程序结束,因此程序设计者必须十分周到地考虑到程序运行中的每一个细节:什么时候应发生了什么事情,什么时候屏幕上应出现了什么。对编写应用程序的程序人员提出了较高的要求。下一页返回上一页1.1VB语言简介VB改变了程序的机制,没有传统意义上的主程序,程序执行的基本方法是由“事件”来驱动过程(在VB中将“子程序”称为“过程”)的运行。程序设计人员只需分别编写出一些单个的过程。一般来说,每个过程要实现的功能是单一的,过程的规模一般不会太大。也就是说,把原来一个由统一控制的、包罗万象的大程序分解为许多个独立的、小规模的过程,分别由各种“事件”来驱动执行。程序人员编程的难度大大降低了。下一页返回上一页1.1VB语言简介1.1.2VB的版本随着计算机操作系统的不断发展,VB也有多种版本,以适应不同特点的Windows操作平台。微软公司于1991年推出了VB1.0版,1998年推出了VB6.0版。目前最为流行的是VBS.0和VB6.0两个版本,且都推出了相应的简体中文版,大大方便了中国用户。下一页返回上一页1.1VB语言简介VB6.0包括3种版本,分别为学习版、专业版和企业版)这些版本是在相同的基础上建立起来的,因此大多数应用程序可在3种版本中通用。3种版本适合于不同的用户层次。3种版本中,专业版本包括了学习版本的功能;企业版本功能最全,提供了功能强大的远程数据库和本地数据库的开发和管理工具,并为客户/服务器编程人员提供了分布式远程计算机编程的扩展工具。VB6.0是专门为Microsoft的32位操作系统设计的,可用来建立32位的应用程序。在Windows9x,WindowsNT以及Windows2000或WindowsXP环境下,用VB6.0可以自动生成32位应用程序。这样的应用程序在32位操作系统下运行,速度更快、更安全,并且更适合在多任务环境下运行。返回上一页1.2VB程序开发环境要使用VB,必须先启动VB系统。安装好VB后,启动VB的方法很多,中一种方法是:首先进入Windows桌面系统,把光标移到桌面在左下角的“开始”按钮上,用鼠标单击“程序”,右侧弹出第二级菜单,光标移到“MicrosoftVisualBasic6.0中文版”上,它的右边出现VB6.0程序组(图1.1),再将光标移到“MicrosoftVB6.0中文版”上,单击鼠标左键,就启动了VisualBasic6.0的开发环境(图1.2)。另外,也可以在桌面上建立快捷方式,用以启动VB。VB启动后出现“新建工程”对话框,如图1.2所示,默认情况下是新建“标准EXE",单击“打开”按钮,即进入开发环境,如图1.3所示,它包括以下几个组成部分。
下一页返回1.2VB程序开发环境(1)标题栏:位置在窗口的顶部。它用来显示窗口的标题,在标题文字后面方括号内指出了目前是处在“设计”状态还是“运行”状态,或“Break"(中断)状态。如图1.3中显示的标题栏是“工程1-MicrosoftVisualBasic[设计]”。表示当前处在VisualBasic环境,正在工作的是“工程1",处于设计状态。(2)菜单栏:位置在标题栏的下方。共包括13个下拉式菜单,即“文件”“编辑”“视图”“工程”“格式”“调试”“运行”“查询”“图表”“工具”“外接程序”“窗口”和“帮助”。单击任何一个菜单都会弹出一个下拉菜单,其中含有若干命令。选择菜单上的命令,就可执行相应的操作。比如,打开一个“工程”、保存或删除文件、编辑程序、设计菜单以及寻求帮助等。下一页返回上一页1.2VB程序开发环境(3)工具栏:位置在菜单栏的下方。它以图标的形式提供了常用的菜单命令。这些图标都是快速操作按钮,只要用鼠标单击某个按钮,就可执行相应的动作,不必再去打开某个菜单选取某个命令。例如第四个图标是“打开工程”,用鼠标双击此图标就相当于打开“文件”菜单并且从中选择“打开工程”选项。标题栏、菜单栏、工具栏三者组成了主窗口,位于开发环境的顶部。(4)工具箱:位置在窗口的左侧。它提供了若干个在设计个设计时需要使用的常用工具。这些工具以图标的形式排列在工具箱中。设计人员在设计阶段可以使用这些工具在窗体上构造出所需的应用程序界面。下一页返回上一页1.2VB程序开发环境(5)窗体窗口:位置在屏幕正中。设计人员根据需要可以使用工具箱中的工具,在其上画出各种图形,以便设计出用户所需的应用程序界面。窗体相当于一张画纸,可以在其上任意画出所需图形界面。(6)工程窗口:屏幕的右上方。它列出当前应用程序所包含的文件清单。一个应用程序可以包含多类文件,它们是:工程文件(.vbp)、窗体文件(.frm),后缀为.bas的模块文件,后缀为.cls的类文件,后缀为.ctl的用户控件文件,后缀为.pag的属性页文件。“工程”通常也称作“项目”。一个项目相当于一个完整的VB程序,用来完成一个任务。一个项目可以包含若干个文件(由这些文件组成一个VB程序)。(7)属性窗口:位置在工程窗口的下方。属性窗口中列出当前激活的一个窗体或控件(统称对象)的所有属性。返回上一页1.3VB程序的开发步骤VB程序开发的一般步骤是:建立工程、设计界面、设置对象属性、编写代码、保存程序、运行程序、生成可执行文件。下面通过一个简单例子来了解VB程序的开发步骤。[例1.1]设计一个程序,运行时若用鼠标单击窗体,在窗体上会显示出“VisualBasic6.0欢迎您!”一行文字。按照VB程序开发的一般步骤,要实现这个任务,首先要在VB6.0中建立一个工程,默认工程名是“工程1",设计界面就是当前窗体,默认窗体名是"Form1",窗体的属性可暂不设置,再设计程序代码。下一页返回1.3VB程序的开发步骤编写程序代码要在“程序代码窗口”中进行。有3种途径可以进入代码窗口:双击当前窗体(双击一个控件就可以进入该控件所对应的代码窗口)。单击“工程”窗口的“查看代码”按钮,见图1.4所示。在菜单栏中选择“视图”菜单中的“代码窗口”命令。下一页返回上一页1.3VB程序的开发步骤双击窗体后,屏幕上出现与该窗体对应的代码窗口,如图1.5所示。这个代码窗口有一个标题栏:显示窗体的名字(如图1.5中“工程1”之后的“Form1”,表示窗体的名字,Code表明是代码窗口)。下面有两部分,左边是用于显示对象的下拉列表框(对象框),它包含所有与当前窗体相联系的对象。由于是双击窗体进入代码窗口的,所以对象框中显示的是Form。如果现要对其他对象进行编码,应单击该对象框右侧的下三角按钮打开显示对象的下拉列表框,框中列出了本窗体用到的所有对象,你可以用鼠标选择所需要的对象。右边显示了与当前选中的对象相关的所有事件,称之为过程框。单击右侧的下三角按钮,可以拉出一个下拉列表框,用鼠标单击所需的事件名,就可以对刚才所选择的对象和事件进行编码,如图1.6所示。
下一页返回上一页1.3VB程序的开发步骤下面编写程序。在过程框中选择单击事件(Click)后,代码窗口立即自动出现相应的Form_Click()过程的框架:PrivateSubFormClick()EndSub这时就可以在PrivateSubForm_Click()与EndSub两行之间输入程序语句。现在输入以下语句:Print“VisualBasic6.0欢迎您!”以上Print语句的作用是将双引号中的内容原样输出到窗体上。在VB中,Print被称为一种“方法”。关于“方法”的概念将在后面介绍。下一页返回上一页1.3VB程序的开发步骤至此,我们已经编写出了一个对窗体单击事件的响应过程,也就是说,在运行程序时,若用户单击窗体时,发生了单击窗体事件,系统就会执行下面这个过程:PrivateSubForm_Click()Print“VisualBasic6.0欢迎您!”EndSub在屏幕的窗体上输出“VisualBasic6.0欢迎您!”一行文字。其中:关键字Private(私用)表示该过程只能在本窗体文件中被调用,应用程序中的其他窗体或模块不可调用它。关键字Sub是过程的标志,Form_Click是过程名,它由两部分组成:对象和事件名,两者之间用下画线连接。EndSub表示过程结束。
下一页返回上一页1.3VB程序的开发步骤编写好程序代码就可运行程序,在VB中提供了几种运行程序的方法,直接单击工具栏上的“启动”按钮即可,如图1.7所示。该程序进入运行状态后,用鼠标单击窗体,窗体上就出现一行“VisualBasic6.0欢迎您!”,再单击一次会再显示一行,每单击一次将在窗体显示一行。图1.8所示是单击4次的结果。要结束程序的运行,可以单击工具栏的“结束”按钮。下一页返回上一页1.3VB程序的开发步骤开发出来的VB应用程序要脱离VB环境来运行就一定要编译成可执行文件,一般学习编写的程序可不编泽。要生成可执行文件的做法如下。从菜单栏的“文件”菜单项选择“生成工程1.exe”菜单项,如图1.9所示。选择后将出现一个对话框,如图1.10所示,选好要保存的文件夹,输入文件名,单击“确定”按钮,exe文件就生成了。本例介绍了VB程序开发的基本步骤,其中最主要步骤的是:设计应用程序的界面、设置界面对象的属性、编写程序代码这三步,只是该例比较简单,还体会不到属性设置这一步。返回上一页1.4VB中的几个重要概念1.VB的对象在面向对象的程序设计中,“对象”是系统中的基本运行实体。VB中的对象与面向对象程序设计中的对象在概念上是一样的,但在使用上有很大区别。在面向对象程序设计中,对象由程序员自己设计。而在VB6.0中,对象分为两类,一类是由系统设计好的,称为预定义对象,可以直接用或对其进行操作,另一类由用户定义,可以像C++一样建立自己的对象。下一页返回1.4VB中的几个重要概念在本章第一个例子中看到的窗体和后面要介绍的控件就是VB预定义的对象,这些对象是由系统设计好提供给用户使用的,其移动、缩放等操作也是由系统预先规定好的,这比一般的面向对象程序设计中的操作要简单。除窗体控件外,VB还提供了其他一些对象,如打印机、调试、剪贴板、屏幕等。对象是具有特殊属性(数据)和行为方式(方法)的实体。建立一个对象后,其操作通过与该对象有关的属性、事件和方法来描述。下一页返回上一页1.4VB中的几个重要概念2.对象的属性属性是一个对象的特性,不同的对象有不同的属性。对象常见的属性有标题(Caption)名称(Name)、颜色(Color)、字体大小(Fontsize)以及是否可见(Visble)等。前面介绍的属性窗口中含有各种属性,可以在属性列表中为具体的对象选择所需要的属性(方法见后)。除了用属性窗口设置对象属性外,也可以在程序中用程序语句设置,一般格式如下:对象名.属性名称=新设置的属性值下一页返回上一页1.4VB中的几个重要概念例如,假定窗体上有一个文本框控件(后面会介绍),其名称为txtDisplay(对象名称),它的属性之一是Text,即在文本框中显示指定的内容。如果执行:txtDisnlay.Text=”Goodmorning!”_则把字符串“Goodmorning!"赋给txtDisplay文本框控件的Text属性。在这里,txtDisplay是对象名,Text是属性名,而字符串“Goodmorning!”是所设置的属性值)再如:txtDisplay.Visible=False表示窗体上有一个文本框控件,名字为txtDisplay,其属性Visible(可见性)为False。程序运行时,该对象不显示。如果赋予值True,则运行时显示该文本框。下一页返回上一页1.4VB中的几个重要概念3.对象的事件VB是采用事件机制的语言,即事件驱动编程。传统编程使用的是面向过程、按顺序进行的机制,这种编程方式的缺点是写程序的人总是要关心了什么时候发生了什么事情。而在事件驱动编程中,程序员只要编写响应用户动作的程序,如选择命令、移动鼠标等,而不必考虑按精确次序执行的每个步骤。所谓事件(Event),是由VB预先设置好的、能够被对象识别的动作,例如Click(单击),DblClick(双击),Load(装人),MouseMove(移动鼠标),Change(改变)等。不同的对象能够识别的事件也不一样。当事件由用户触发(如Click)或由系统触发(如Load)时,对象就会对该事件做出响应(Roe-spond)。下一页返回上一页1.4VB中的几个重要概念4.事件过程响应某个事件后所执行的操作通过一段程序代码来实现,这样的一段程序代码叫做事件过程(EventProcudure)。可以使用一个或多个事件过程对用户或系统的事件做出响应。虽然一个对象可以拥有许多事件过程,但在程序中能用多少事件过程,则要由设计者根据程序的具体要求来确定。事件过程的一般格式如下:PrivateSub对象名称—事件名称()…事件响应程序代码…Endsub下一页返回上一页1.4VB中的几个重要概念“对象名称”指的是该对象的Name属性,“事件名称”是由VB预先定义好的赋予该对象的事件,而这个事件必须是对象所能识别的。至于一个对象可以识别哪些事件,则无须用户操心;因为在建立了一个对象(窗体或控件)后,VB能自动确定与该对象相配的事件,并可显示出来供用户选择。通过后面的学习会知道这种事件过程构成了VB应用程序的主体。有时候,多个不同的事件过程可能需要使用一段相同的代码,可以把这段代码独立出来,作为一个过程。这样的过程叫做“通用过程”(GeneralProcedure),它可以单独建立,供其他事件过程调用。在VB中通用过程又分为两类,即子程序过程和函数过程,前者叫做Sub过程,后者叫做Function过程。它们的定义与使用将在后面介绍。下一页返回上一页1.4VB中的几个重要概念5.对象的方法在传统的程序设计中,过程和函数是编程语言的主要部件;而在面向对象程序设计(OOP)中,引人了称为方法(Method)的特殊过程和函数。方法的操作与过程、函数的操作相同,但方法是特定对象的一部分,正如属性和事件是对象的一部分一样。其调用格式为:对象名称.方法名称在VisualBasic中,提供了一个名为Print的方法,当把它用于不同的对象时,可以在不同的设备上输出信息。例如:frmMyform..Print”Goodmorning!”
下一页返回上一页1.4VB中的几个重要概念可以在名为“frmMyform”的窗体上显示字符串“Goodmorning!”。在VB中,打印机的对象名为Printer,如果执行:Printer.Print”Goodmorning!”则在打印机上打印出字符串“Goodmorning!”。在调用方法时,可以省略对象名。在这种情况下,VisualBasic所调用的方法作为当前对象的方法,一般把当前窗体作为当前对象。前面的例子如果改为:Print”Goodmorning!”则运行时将在当前窗体上显示字符串“Goodmorning!”。为了避免不确定性,最好使用“对象.方法”的形式。下一页返回上一页1.4VB中的几个重要概念要注意对象的属性和方法之间的联系与区别,属性是对象的特性,它是数据;方法是对象的行为,它是操作。在使用的格式上有相似之处,但有本质区别。属性的调用一定伴随着赋值号,构成赋值语句;而方法的调用不会有赋值号,它单独成VB语句。例如:txtDisplay.Enabled=False。这是属性txtDisplay.Move1000这是方法上述这些概念对初学者来说似乎难懂,但通过后面章节的学习再回过来看看这些概念就不会觉得难理解了。这些概念对较好地掌握VB编程,理解VB编程的原理很有用。返回上一页本章小结本章介绍了VB6.0系统开发环境;了解了这个环境的界面特点与简单的使用方法;通过一个简单的例题认识了VB程序的设计过程;通过后面的例子我们更加清楚地看到VB程序设计可按三个步骤进行:设计界面、设置属性、编写代码。通过本章的学习我们应该初步了解VB的几个基本特点,了解VB中对象、属性、方法、事件与过程的概念,当然随着本课程的深人我们的认识会更加深刻。返回上机实训实训一VB6.0集成开发环境和程序设计初步一、实训目的1.掌握启动和退出VB的方法。2.熟悉VB的开发环境。3.理解VB中对象的概念。4.学习属性窗口设置对象属性的方法。5.基本掌握建立、编辑和运行一个简单的VB应用程序的全过程。下一页返回上机实训二、实训内容1.启动VB:有以下4种方式。(1)用“开始”菜单中的“程序”命令。(2)用“我的电脑”。(3)用“开始”菜单中的“运行”命令。(4)在桌面建立快捷方式。2.退出VB:有以下3种方式。(1)单击主窗口右上角的“关闭”按钮。(2)执行“文件”菜单中的“退出”命令。(3)按ALT+Q组合键。下一页返回上一页上机实训3.VB6.0的集成开发环境主窗口的认识。4.启动VB6.0,创建一个简单VB应用程序。应用程序要求:当单击第一个命令按钮时,文本框消失;当单击第二个命令按钮时,文本框重新出现,并在文本框中显示“VisualBasic习题解答及实训教程”,字体大小为18,屏幕运行的界面如图1.11所示。下一页返回上一页上机实训三、实现步骤及参考代码1.界面设计。分别选中工具箱中的文本框工具和命令按钮工具,在窗体上绘制出所需控件,并调整其大小和位置。2.在属性窗口中为控件设置属性。各控件属性见表1.1。3.双击命令按钮,在代码窗口中编写事件过程代码。事件过程代码如下:下一页返回上一页上机实训
PrivateSubCommand1_Click()Text1.Visible=FalseEndSubPrivateSubCommand2_Click()Text1.Visible=TrueText1.Text=“VisualBasic习题解答及实训课程”EndSubPrivateSubCommand3_Click()EndEndSub下一页返回上一页上机实训4.运行调试程序。①单击保存工程图标存储工程,或执行“文件”|“保存工程”菜单。②单击工具栏中央的小三角形按钮或执行“运行”|“启动”菜单。运行过程中可能出现各种语法错误或逻辑错误,需不断调试,直至完善。③单击“显示”按钮,在文本框中显示设定的字。④单击“消失”按钮,文本框消失。返回上一页图1.1利用“开始”按钮进入VB返回图1.2VB启动界面返回图1.3VB的开发环境返回图1.4查看代码返回图1.5代码窗口返回图1.6选择对象和事件进行编码返回图1.7“启动”按钮返回图1.8运行程序返回图1.9生成工程1.exe返回图1.10生成exe文件返回图1.11运行的界面返回表1.1控件属性返回第2章VB语言基础2.1VB语句的一般规则
2.1.1VB语句的特点
2.1.2标识符命名规则
2.1.3赋值语句
2.1.4注释语句和结束语句2.2基本数据类型
2.2.1数值数据类型
2.2.2字符串书库类型(String)下一页返回第2章VB语言基础
2.2.3日期类型(Date)
2.2.4通用数据类型(Variant)2.3常量与变量
2.3.1常量与变量
2.3.2变量说明语句
2.3.3静态变量说明语句Static
2.3.4强制显示变量说明的语句OptionsExplicit下一页返回上一页第2章VB语言基础
2.3.5常量说明语句Const2.4运算符与表达式
2.4.1算数运算符
2.4.2关系运算符
2.4.3逻辑运算符
2.4.4连接运算符
2.4.5运算符的优先级下一页返回上一页第2章VB语言基础2.5函数2.6VB的输出/输入
2.6.1VB的输出
2.6.2VB中的输出本章小结上机实训返回上一页2.1VB语句的一般规则2.1.1VB语句的特点要用设计出来的应用程序完成一定任务,就必须为事件编写程序代码。程序代码由语句构成。应用程序的主要任务都是对数据进行处理,而处理的具体操作由语句来完成。了解VB语句的基本特点有助于比较快速地熟悉使用VB编程。在VB的程序代码窗口中,每输入完一个语句,就要按Enter键以示结束。出现在语句中的对象名、属姓名、方法名等,称为命令同。在语句的输入过程中,VB会对它们做简单的格式化处理,让命令同的第一个字母大写,后面跟着小写,VB会在运算符的前后自动加上空格。下一页返回2.1VB语句的一般规则VB具有自动缩进功能,即如果按Tab键向右缩进一个制表符后输入一条语句,按Enter键后下一条语句仍保持缩进一个制表符,与上一语句对齐,除非重新做调整。利用这种功能可使输入的程序层次分明,便于阅读和查错。除此之外我们还有必要了解VB语句的以下特点。1.VB代码不区分字母的大小写VB系统不区分大小写字母,在同一个模块中小写“a”变量与大写的变量"A”是同一变量。同时,系统对用户输入的程序代码会进行自动转换,转换规则如下。下一页返回上一页2.1VB语句的一般规则(1)代码中输入的关键字,首字母总被转换成大写,其余字母被转换成小写。(2)若关键字由多个英文单同组成,则将每个英文单同的首字母转换成大写。(3)对于用户自己定义的变量、过程名,VB以第一次定义的为准,以后输入的相同的变量、过程名向第一次输入的形式转换。下一页返回上一页2.1VB语句的一般规则2.语句书写自由(1)在同一语句行上,可以是一条语句,也可以书写多个语句,用冒号“:”分隔。(2)一个单行语句可以分为若干行书写,书写时在本行后面加上续行符,即加上空格和下画线“_”。(3)一行最多允许书写255个字符。下一页返回上一页2.1VB语句的一般规则3.可以在语句中给出注释为了提高程序的可读性,通常应在程序的适当位置加上必要的注释。VB中的注释语句以撇号“’”开头。4.VB提供了部分语法检测功能,能帮助使用者及时发现错误例如,假定原打算输入的语句为:Command1.Caption=”欢迎使用VisualBasic6.0!”下一页返回上一页2.1VB语句的一般规则但不小心在控件名Command1与属性名Caption之间输入了两个点。这样,在语句输入完成后按Enter键时,VB会立即给出提示性的警告信息,如图2.1所示。这是自动校验输入程序行语法的功能,受控于“选项”对话框“编辑器”页签中的设置。如果没有这个功能,是因为没有设置,这时通过菜单“工具|选项”命令可进入“选项”对话框,选中“编辑器”页签里的“自动语法检测(K)”复选框,就能使你的VB具有这一功能。下一页返回上一页2.1VB语句的一般规则2.1.2标识符命名规则
标识符是程序设计者为常量、变量、数组、控件、函数、过程等定义的标识,利用它可以引用相应的常量、变量、数组等。在系统中有很多预先定义的标识符,即保留字。保留字是VB预先定义的标识符,本身具有特定的含义和用途,不能再用作一般的标识符。例如,保留字Inleger表示数据类型是整型,Print用于在指定对象上输出数据,Call表示过程调用等。用户定义标识符时必须以字母(A~Z,a~z)、数字(0~9)或下画线组成,也可以包含汉字,但第一个字符一定要是字母或汉字;标识符长度不能超过255个字符,其中窗体、控件和模块的标识符不能超过40个;标识符不能与VB的关键字同名。下一页返回上一页2.1VB语句的一般规则2.1.3赋值语句所谓“赋值语句”,就是让变量或对象属性获得取值的操作,这里的“取值”是源操作数,它可以是变量、常量、表达式或一个对象的属性值;而获得该值的变量或对象属性,则是目标操作数。赋值语句的一般格式是:目标操作数=源操作数其中等号“=”为赋值运算符。要注意的是,等号两边的操作数应保持数据类型一致。给变量赋值以及重新设置对象属性值,是编写VB程序代码中的两个最常见的任务,可以这样认为:赋值语句是VB变量获得新值或将信息从信息源复制到信息目的地的基本方式。下一页返回上一页2.1VB语句的一般规则在书写赋值语句时,等号左边只能是变量名或对象属性,等号右边为常数值、变量或表达式。当等号右边为变量名时,必须保证它在此时已经有了明确的取值。下面是一些合法和不合法赋值语句的例子。合法语句:Total=99Amount=100+TotalGcd$=”早上好”Text1.Text=”VisualBasic6.0欢迎您!”Text1.Text=Text2.text下一页返回上一页2.1VB语句的一般规则不合法语句:99=TotalGcd$=早上好!Text1.Text=VisualBasic6.0欢迎您!合法赋值语句是显而易见的,不合法语句:99=Total违反了左边不能为常数的赋值原则;Gcd$=早上好!以及Text1.Text=VisualBasic6.0欢迎您!中Gcd$表明是一个字符串变量,Text1.Text是文本框Text1的Text属性,它们接受字符串常量值,而字符串常量必须用引号括起来。没有引号就不是字符串,这违反了数据类型一致的赋值原则。通过属性窗口设置属性值,是静态改变对象属性取值的方法。通过赋值语句,则可以在程序执行时动态改变对象的属性取值。给对象的属性赋值,一般格式为:对象名.属性名=属性的新值下一页返回上一页2.1VB语句的一般规则2.1.4注释语句和结束语句开发出来的应用程序,如果没有注释,会影响它的可读性,过一段时间再去阅读,就会出现困难;另外,开发规模较大的应用程序时,往往是由一个团队来开发,由若干个人分工编写程序,这样就更需要加上注释,以便能互相阅读理解。因此在编写程序代码时注释是必不可少的。在VB里,注释的写法是在注释文字前加上一个单引号(’),注释语句是非执行语句,只是对有关内容作解释。习惯上在程序代码的开头加上若干注释语句,以便给出标题和程序总体功能说明;对执行语句作注释则把注释语句在该执行语句的后面,用以解释语句的作用。下一页返回上一页2.1VB语句的一般规则在VB里用End作结束语句。在执行了End语句后,所有被打开的窗口以及程序都会从内存中清除。在VB中结束语句还有其他的形式:EndSub结束一个过程EndFunction结束一个函数过程EndIf结束一个If判断语句EndType结束一个自定义的数据类型EndSelect结束一个SelectCase分支语句返回上一页2.2基本数据类型描述客观事物的数字、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合称为数据。数据有多种类型,每种类型都有一定的数据结构特点。在VB中,提供了许多基本数据类型,同时用户也可以自定义数据类型。表2.1列出VB所允许使用的基本数据类型。下一页返回2.2基本数据类型2.2.1数值数据类型VB支持6种数值数据类型,包括字节型、整型、长整型、单精度浮点型、双精度浮点型及货币型。1.字节型数据类型(Byte)Byte数据类型在内存中占1个字节,用来表示一个无符号整数,范围是0~255。下一页返回上一页2.2基本数据类型2.整数数据类型(Integer)整数数据类型在内存中用2个字节(16位),范围是-32768~+32767中不带小数点的数据,在-32678~+32767中的数字在尾部加一个“%”符号也表示整型数据,如135%,-45%等。3.长整型数据类型(Long)长整型数据类型是超过-32768~+32767,而在-214743648~+2147483647不带小数点的数。一个长整型数在内存中占4个字节(32位)。在-214743648~+2147483647的数字尾部带一个“&”符号也表示为长整数。下一页返回上一页2.2基本数据类型4.单精度数浮点类型(Single)单精度数是带小数点的实数,有效值数位为7位。在内存中用4个字节(32位)存放一个单精度数。通常以指数形式(科学记数法)来表示,以“E”或“e”表示指数部分。5.双精度数据类型(Double)双精度数据也是带小数点的实数,有效数位为巧位。在内存中用8个字节(64位)存放一个双精度数。双精度数通常以指数形式(科学记数法)来表示,以“D”或“d”表示指数部分。下一页返回上一页2.2基本数据类型6.货币型数据类型(Currency)货币类型是为计算货币而设置的定点数据类型,它的精度要求高,规定精确到小数点后4位,一般的数值型数据在计算机内是通过二进制方式进行运算的,因而有误差,而货币型数据用用十进制方式进行运算的,所以具有比较高的精确度,取值范围在-922337203685477.5805~+922337203685477.5805。下一页返回上一页2.2基本数据类型2.2.2字符串数据类型(String)字符串类型用来定义一个字符序列,字符由字母、数字及其他符号构成,用双引号括起。在内存中一个字符用一个字节(8位的二进制)来存放。2.2.3日期类型(Data)日期类型用来表示日期、时间,在内存中一个日期型数据用8个字节来存放。在计算机系统中的系统时钟以双精度数存储,每毫秒更新一次。日期范围从公元100年1月1日到公元9999年12月31日,时间从0:00:00到23:59:59,日期常数要用“#”开始并且用“#”结束,如#05/01/2004#,表示2004年5月1日,不能写成“05/01/2004",此为字符串格式常量的表示方法。下一页返回上一页2.2基本数据类型2.2.4通用数据类型(Variant)通用数据类型也称变体类型,是一种通用的、可变的数据类型,它可以表示存储上述任何一种数据类型,根据所进行的操作自动进行数据转换。但是这种灵活的操作方式也会因它的数据不明确性而产生不易觉察的错误,其次这种数据类型要占用大量内存,建议初学者不要使用该数据类型。假设定义var1为通用型变量,格式为:DimVarlAsVarian下一页返回上一页2.2基本数据类型在变量Varl中可以存放任何类型的数据,如Varl=12345(存放一个数字)Varl="BASIC"(存放一个宇符串)Varl=#05/01/2004#(存放一个日期型数据)当一个变量未定义类型时,系统自动将该变量定义为Variant类型。不同类型的数据在Variant变量中是按其实际类型存放的(例如将一个整数赋给Varl,在内存区中按整型数方式存放),用户不必作任何转换,转换的工作由系统自动完成。VB提供一种VarType函数,用来测试一个Variant变量的实际数据类型。VarType函数的返回值是一个数值,其含义见表2.2。下一页返回上一页2.2基本数据类型例如:DimVar1asvariantTnt1=123Long1=186&Single1=12.6!Double1=34.5Str1=“abcd”Cur=8886@Da=#10/21/1997#Printvartype(Var1),vartype(Int1),vartype(Long1),vartype(Single1)下一页返回上一页2.2基本数据类型
Printvartype(Str1),vartype(Cur1),vartype(Double1),vartype(Da)Varl被定义成为Variant型变量,程序中未对它赋值,其他各变量均未声明为何种类型,也一样按Variant型对待。分别对7个Varint型变量赋值,然后用Vartype函数测试这8个变量的实际类型,可以从输出结果中看到它们的实际数据类型。运行此段程序,输出结果如下:0(未赋值),2(整型),3(长整型),4(单精度型)8(字符串型),6(货币型),5(双精度型),7(日期型)返回上一页2.3常量与变量2.3.1常量与变量计算机在处理数据时,必须将其装人内存。在高级语言中,需要对存放数据的内存单元进行命名,通过内存单元名来访问其中的数据,变量或常量就是被命名的内存单元。取值不变的量称为常量,取值可以改变的量称为变量。在程序运行过程中,其值不能被改变的量称为常量。VB常量有普通常、符号常量、系统常量3种。普通常量一般从字面上区分其数据类型;符号常量是用一个字符串代替程序中的常数;系统常量是系统定义的常量,存放于VB系统库中。下一页返回2.3常量与变量在设计应用程序过程中,为常量、变量起名,必须遵循在上一节中所说的标识符命名原则:名字的第一个字符必须是英文字母或汉字;名字只能由字母、数字、下画线或汉字组成;名字中最多可包含255个字符;不用VB的保留字和函数作为变量的名字;在同一个模块中名字应该是唯一的,同一模块是指能够引用此量的区域,如一个过程、一个窗体等。下一页返回上一页2.3常量与变量下面是一些正确的和错误的名字例子。正确的名字:ApplePriceCmdStartStop_FlagX1Ye23p错误的名字:8Base第1个字符不是字母Base.base名字中使用了不允许出现的句号下一页返回上一页2.3常量与变量因为在VB中不区分英文字母的大小写,即VB把BASE,Base,base都视为是代表一个变量的名字。在正确命名的前提下,引入面向对象程序设计的观点,名字最好应体现一个变量的作用和数据类型,保持程中前后风格的统一,这样可以增强程序的可读性和可维护性。例如为体现据类型,可在变量命名时,为它们加上L类型前缀,如下所示。数据类型标准前缀Integer(整型)IntLong(长整型)LongSingle(单精度浮点型)SngDouble(双精度浮点型)DblCurrency(货币型)Cur下一页返回上一页2.3常量与变量
数据类型标准前缀Byte(字节型)BytString(字符串型)StrBoolean(布尔型)BlnDate(时期型)DateVariant(变体型)Vart同其他语言一样,变量命名时不能使用保留字。例如在VB中对象的属性名(Caption,FontBold,…)、运算符(AND,OR,…)、方法名(move,print,…)等,如果把它们作为变量名加以使用,VB就会给出错误信息。下一页返回上一页2.3常量与变量2.3.2变量说明语句在使用变量前一般都要对变量进行说明,指定该变量的数据类型,这样系统才能为这个变量分配适量的存储位置。1.用类型定义符进行变量说明VB对常用的数据类型设有类型定义符。把类型定义符放在一个变量的末尾,就可以标明该变量属于了什么数据类型,表2.3列出类型定义符与数据类型之间的对应关系。例如:int1%表示int1是一个整型变量,dobl#表示dobl是一个双精度浮点型变量。str1$表示str1是一个字符串型变量。下一页返回上一页2.3常量与变量2.用Dim语句进行变量说明用Dim语句可以对过程级窗体级的变量说明,一般格式是:DIM<变量名>As<数据类型>例如:DimVarlAsInteger把名为Varl的变量定义为整型。DimTotalAsDouble把名为Total的变量定义为双精度浮点型。DimBookNameAsString把名为BookName的变量定义为变长字符串型。DimMyNameAsString*10把名为MyName的变量定义为定长(10个字节)字符串型。下一页返回上一页2.3常量与变量VB虽然提供通用数据类型,从表面上看不定义数据类型,系统将根据所进行的操作自动进行数据转换。这并不表明使用一个变量之前不要对它进行说明。事实上在大多数情况下,不对所使用的变量进行必要的说明,应用程序将不能得到正确的运行,甚至无法运行。因此在使用变量之前应先对它说明,特别对初学者来说更应如此,对变量应该遵循先定义再使用,并养成良好的编程习惯。不定义变量在编写程序代码时容易发生变量名错误。假如程序设计员把已有的一个变量名写错了,系统是无法分辨是采用了隐式说明的新的变量,还是程序设计员把已有的一个变量名写错了。因此对VB系统来说是作为一个新的变量名处理。下一页返回上一页2.3常量与变量[例2.1]如下例用来计算存款的本利,窗体上安放两个按钮,一个用来“输入本金”,另一个用来“计算本利”,窗体上对象的基本属性设置为:
下一页返回上一页2.3常量与变量为command1和command2编写Click事件过程代码如下:下一页返回上一页2.3常量与变量这里,command1_Click代码中用到了一个变量bj;command2_Click代码中用了一个变量t,还引用了cotntnand1_Click代码中的变量bj。如果把这个设计投人运行,结果如图2.2(a)所示,出现了十年后连本带利全无的奇怪现象。这一结果的出现是由使用的变量引起的。VB在处理每一个变量时还遵循两个原则:一是任何变量都有自己的作用范围(过程、窗体、工程,习惯上我们把变量按它的作用范围分为过程级、窗体级、工程级变量),超出了作用范围,它的值是无意义的;二是一个变量一旦定义但未被赋值时,VB就将自动为之设置初值而不像有些高级语言一样是一个随机数据,见表2.4。下一页返回上一页2.3常量与变量上面例题改为如下先定义再使用就不会出错,其正确结果如图2.2(b)所示。下一页返回上一页2.3常量与变量下一页返回上一页2.3常量与变量根据这样两个原则,在具体过程中说明的变量,只能在过程中使用,只能在该过程中起作用,窗体中的其他过程不能使用。在窗体程序代码“通用”项中说明的变量,就可以在窗体的所有过程中起作用了。注意,在同一行内进行多个变量说明时,可以运用逗号将多个变量独立说明,但不能像C语言等高级语言一样互相借用。例如,把x,y,z三个变量在一行上说明为Integer型,要写成:DimxAsInteger,yAsInteger,zAsInteger而不能写成:Dimx,y,zAsInteger下一页返回上一页2.3常量与变量后一种写法对VB来说,只把变量z视为是Integer型的,而变量x和y则成了Variant(变体)型的了。又如说明语句:DimaAsInteger,b,cAsCurrency其意为变量a为整型的,变量c为货币型的,变量b则为变体型的。下一页返回上一页2.3常量与变量2.3.3静态变量说明语句Static如前所述,过程变量说明位于过程内部,可以用Dim语句完成对变量的说明。用Dim说明的过程级变量的特点是在退出过程时,这个变量就被清除,因此再一次调用这个过程时,变量不会保留上一次调用时的值,是动态变量。如果希望一个过程级变量能保留上一次调用的值,再一次调用该过程,变量的值保留并可以继续使用,那么就应该在过程内部用Static语句来对这一变量进行说明。用Static对过程级变量进行说明的一般格式是:Static<变量名>As<数据类型>下一页返回上一页2.3常量与变量用Static语句说明的变量,通常称为静态变量。下面以窗体form1的Click事件过程为例,来理解Dim和Static说明语句的本质区别:下一页返回上一页2.3常量与变量在代码中,x用Dim语句说明是Integer型的,y用Static语句也说明是Integer型。在此过程里,对x,y都是做加1操作。运行工程,用鼠标单击窗体后,窗体上将立即显示:x的值是:1y的值是:1第1次用鼠标单击窗体后,x和y的值都是1(初始都取默认值o),第2次用鼠标单击窗体,结果将显示:x的值是:1y的值是:2下一页返回上一页2.3常量与变量由此可以看出用Dim和Static说明变量的不同。对于过程级变量x来说,在第1次单击窗体引发了Form_Click事件过程而在窗体上输出信息“x的值是:1"之后,变量x就不复存在了。因此在第2次单击窗体而又一次引发Form_Click事件过程时,x仍是取默认值0,因此它仍是在窗体上输出“x的值是:1"。但对于过程级变量y来说,在第1次单击窗体引发了Form_Click事件过程而在窗体上输出信息“y的值是:1”之后,虽然退出了该事件过程,但y却保存着原来的痕迹:1。因此在第2次单击窗体而又一次引发Form_Click事件过程,y是以1的姿态进入的,所以执行语句“y=y+1",y的值就是2,在窗体上输出的信息就成为“y的值是:2”了。下一页返回上一页2.3常量与变量2.3.4强制显式变量说明的语句OptionsExplicit在VB中,既允许用类型定义符或Dim等变量说明语句为变量进行显式说明,也允许在使用一个变量之前,先不对其说明(即隐式说明)。因为在编写程序代码时最难以察觉的错误之一就是拼错变量名,VB一旦遇到一个新的变量名,它无法分辨这是一个采用了隐式说明的新的变量,还是程序设计员把已有的一个变量名写错了,VB只能将其视为新变量名来对待。为了避免这种事情发生,VB提供了一个强制要求进行显式说明变量的语句:OptionsExplicit下一页返回上一页2.3常量与变量该语句的功能是在它的作用范围内强制程序员一定要先定义再使用,只要VB发现未经显式说明的变量,就发出错误警告信息,不得通过,从而强制对所有变量都进行显式说明。OptionsExplicit语句的使用方法是,如果把它写在某个过程里,只对此过程起检查作用。如果希望在应用程序开发过程中,总要求进行显式的变量说明,其做法是选菜单“工具|选项”命令,弹出“选项”对活框,在“编辑器”页签中选中“要求变量声明”项(默认是不选)。这样设置完毕,以后每次新建工程时,VB就会把OptionsExplicit自动写到模块级的变量声明部分,而无须再一次次输入该语句了。不过要注意的是,这一设置对正在进行设计的应用程序不起作用。下一页返回上一页2.3常量与变量2.3.5常量说明语句Const在编写程序代码过程中,经常会碰到需要反复使用同一个数值量。这时常用一个字符串来代替这个数值量,即我们说的符号常量。这至少有3个方面的好处:第一,记住一个有一定意义的同比记住一个很长的量要容易。例如,在程序里如要用到重量磅(pount)到公斤(kg)之间的换算,1公斤=2.2046磅,那么最好定义一个名字PountToKg来代表2.2046。这样,在程序里全部都用PountToKg来代替算值2.2046不容易把2.2046写错。第二,如果常数很长,出现频繁,那么一次次输入不但麻烦,且易出错。例如圆周率3.1415926,习惯上用名字PI代之,即PI=3.1415926,这样可以减少很多的输入麻烦。第三,使用符号常量可以提高程序的可移植性,当另有程序功能相似时,只需修改其数值即可以,而不要大量的修改程序。下一页返回上一页2.3常量与变量常量说明语句的一般格式是:Const<常量名>=<常量>就上面的例子而言,其对应的常量说明语句应该是:ConstPountToKg=2.2046ConstPI=3.1415926<常量名>的命名规则与变量名的规则相同,但习惯上用大写来表示符号常量。常量的作用范围也与变量相同,窗体模块级常量的说明应该在程序代码窗口对象框的“通用”和“声明”栏里进行。在说明了常量之后,就可以用这些常量名来代替具体的常量值了。例如在说明了ConstPI=3.1415926后,就可以用下面的语句来计算半径为5的圆面积:s=5*5*PI返回上一页2.4运算符与表达式表达式由常量、变量、运算符、函数和圆括号按一定的规则组成,通过运算后有一个结果,运算结果的类型由数据和运算符共同决定。本节主要介绍算术表达式、字符串表达式、关系表达式、逻辑表达式。数据的运算包括算术运算、关系运算、逻辑运算和连接运算。被运算的对象,如常量、常数、变量、函数等称为操作数,运算符是用来对操作数进行各种运行的操作符号,VB提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符和连接运算符4种。不同操作数通过运算符连接成一个整体,即为表达式。按照值的不同类型,可以把表达式分为算术表达式(得到数值)、字符串表达式(得到字符串)和逻辑表达式(得到逻辑值)3种。下一页返回2.4运算符与表达式2.4.1算术运算符算术运算符是最为常见和常用的运算符,VB提供了7个算术运算符,见表2.5。在进行算术运算时一般要遵循以下4个方面的问题。(1)每个符号占1个字符位置,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标。例如:23要写成2^3。(2)原来在数学表达式中省略的内容必须重新写上。例如:2x要写成2*x。(3)所有括号都用小括号(),括号必须配对。例如:3[x+2(y+z)]必须写成3*(x+2*(y+z))。(4)要把数学表达式中的有些符号,改成VB中可以表示的符号。例如:要把2лr:改为2*pi*r,其中字符常量pi要先定义。л下一页返回上一页2.4运算符与表达式1.求指数运算符“^”指数运算符可以计算一个数的乘方或开方。当指数大于1时做乘方运算,当指数小于1时做开方运算,下面的几个例子说明指数运算的过程。2^22的平方,即2*2,结果为42^32的立方,即2*2*2,结果为84^0.54的平方根,结果为2125^(1/3)125的立方根,结果为510^-210的平方的倒数,即1/100,结果为0.01下一页返回上一页2.4运算符与表达式2.浮点除法运算符“/”和整数除法运算符“\”浮点除法,就是通常意义下的除法,其结果为一个浮点数。所谓整数除法,即整除运算的结果只取整数,具体地说是先把有小数的操作数四舍五人后成为整型数或长整型数,然后执行除法运算,在结果中截取整数部分,不进行舍入处理。如下例所示。10/4=2.510/4=225.63/6.78=3.780235925.63\6.78=3下一页返回上一页2.4运算符与表达式3.取模运算符mod整数除法是在结果中取其整数部分,而取模运算同是取其余数部分,所以取模运算实际是先把带有小数的操作数四舍五人后执行整除运算,取余数作为结果。如下例所示。10/4结果为2(商为2)10.2Mod4结果为2(余数为2)7Mod4结果为325.68Mod6.45结果为2下一页返回上一页2.4运算符与表达式2.4.2关系运算符关系运算符又称比较运算符,用来对两个表达式的值进行比较,运算结果只可能取逻辑值True(-1)或False(0)。VB把任何非0值都认为是“真”,但一般以-1表示真,以0表示假。关系表达式成立时,取值True;不成立时,取值False。由于是根据所给关系的成立与否产生出逻辑值(真或假)结果,所以由关系运算符连接而成的式子是一个逻辑表达式。VB提供了6种常用的关系运算符,见表2.6。下一页返回上一页2.4运算符与表达式关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。(2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。例如,表达式”a”>“b”的结果是False,因为a的ASCII(97)小于b的ASCII(98)表达式”ABCDE“>”ABRA”的结果为False。(3)数值型与可转换为数值型的数据比较。例如,表达式29>“189”是按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型数据不能比较。例如,表达式77>”sdcd”不能比较,系统提示“类型不匹配”错误。由关系运算符构成的表达式经常用在选择结构的条件语句或循环结构的循环条件语句中。下一页返回上一页2.4运算符与表达式2.4.3逻辑运算符逻辑运算符也称布尔运算。用逻辑运算符连接两个或多个关系式,组成一个布尔表达式,结果为逻辑值:True或False。VB的逻辑运算符有以下6种,参见表2.7。逻辑非运算符Not为单目运算符(要求一个操作数),其他为双目运算符。由逻辑运算可以构造出复杂的条件运算。逻辑运算的一般原则如下。下一页返回上一页2.4运算符与表达式(1)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低于关系运算,Imp(逻辑蕴含)最低。(2)VB中常用的逻辑运算符是Not,And和Or。它们用于对多个关系表达式进行逻辑判断。例如,数学上表示某个数在某个区域时用表达式10≤X<20,在VB程序中应写成:X>=10AndX<20(3)参与逻辑运算的量一般都应是逻辑型数据,如果参与逻辑运算的两操作数是数值量,则以数值的二进制值逐位进行逻辑运算(0当False,1当True)。下一页返回上一页2.4运算符与表达式1.AND(逻辑与运算符)逻辑与运算是双目运算,只有两个表达式的值都为True时,运算结果才为True。设A和B代表两个逻辑表达式,那么AANDB是一个新的逻辑表达式,它的运算结果取值见表2.8。2.OR(或运算符)逻辑或也是双目运算符,只要这两个表达式中有一个取值为True,运算结果就为True。若以A和B代表两个逻辑表达式,那么AORB的运算结果取值见表2.8。下一页返回上一页2.4运算符与表达式3.NOT(逻辑非运算符)非运算是一个单目运算符,如果该表达式的值为True,那么运算结果为False;如果该表达式的值为False,那么运算结果为True。4.XOR(逻辑异或运算符)异或运算是一个双目运算符,习惯上叫做逻辑加法,当参与运算的两个表达式取不同值时,运算结果为False当参与运算的两个表达式取相同值时,运算结果为False。若以A和B代表两个逻辑表达式,那么AXORB的值见表2.8。下一页返回上一页2.4运算符与表达式5.EQV(逻辑等价运算符)逻辑等价运算也是一个双目运算符,如果这两个表达式取值相同,运行结果为True;否则为False。AEQVB的值见表2.8。6.TIMP(逻辑蕴含运算符)逻辑蕴含运算也是一个双目运算符,除了左侧逻辑表达式取真右侧逻辑表达式取假(False)值的情况外,运算结果总取值True。AIMPB的值见表2.8。下一页返回上一页2.4运算符与表达式2.4.4连接运算符字符串运算符有两个:“&”“+”,它们的作用都是将两个字符串连接起来,合并成一个字符串。但使用“+”进行字符串连接时,有时会出现混乱,因此在进行字符串连接时,建议尽量采用运算符“&”。如”stu"&"dent",运算结果为:"student","1"+"2”的运算结果为”12"。下一页返回上一页2.4运算符与表达式2.4.5运算符的优先级当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符。用括号可以改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。在实际书写表达式时要注意以下几点。(1)运算符不能相邻。例如,a+*b是错误的。(2)乘号不能省略。例如,x乘以y应写成:x*y。下一页返回上一页2.4运算符与表达式(3)括号必须成对出现,且均使用圆括号。例如,(-b+sqr(b*b-4*a*c))/(2*a)。(4)表达式从左到右在同一行上并排书写,不能出现上下标。(5)要注意各种运算符的优先级别,为保持运算顺序,在写VB表达式时需要适当添加括号(),若用到库函数必须按库函数要求书写。运算的优先顺序(从高到低)可以归纳如下。函数→算术运算(乘方→取负→乘/除→整除→求余→加/减)→字符串运算符→关系运算符→逻辑运算符(Not→And→Or)下一页返回上一页2.4运算符与表达式[例2.2]某校期末考试三门课,其中两门主课,按照学校规定,凡是满足下列条件之一者可当优秀学生:①三门总分在270分以上者;②两门主课均在95分以上者;③一门主课为100分,其他两门均在80分以上者。设三门课程分别为A,B,C,其中A,B为主课,优秀学生的逻辑表达式为
A+R+C>270orA>95andB>95orA=100andB>80andC>80orB=100andA>80andC>80下一页返回上一页2.4运算符与表达式[例2.3]求判断任一年份Y是不是闰年的逻辑表达式。解:判断闰年的3个条件如下。①年份不能被4整除,则必不是闰年;②年份能被4整除,但不能被100整除,则必是闰年③年份能被100整除,且能被400整除,是闰年。判断Y能否被4整除的方法:YMod4=0?Y/4=Y/4?Int(Y/4)=Y/4?是闰年的逻辑表达式为:YMod4=0AndYMod100<>0OrYMod400=0返回上一页2.5函数VB提供了大量的内部函数(也称VB库函数),内部函数是VB中预先设置好的完成某一特定功能的函数,通常带有一个或几个参数,并返回一个返回值。通过使用内部函数,可以方便地完成各种复杂运算。VB既为用户预定义了内部函数,供用户随时调用,同时也可以允许用户自定义函数过程。函数的一般调用格式为:<函数名>([<参数表>])VB提供的内部函数大致可分为如下几类:数学函数、字符串函数、转换函数、日期和时间函数及其他函数。下面分别做简单介绍。下一页返回2.5函数1.基本数学函数Sqr(x)求平方根,如Sqr(9)值为3;Log(x),x>0求自然对数,如Log(10)值为2.3;Exp(x)求以e为底的幂值,如Exp(3)值为20.086;Abs(x)求x的绝对值,如Abs(-2.5)值为2.5;Hex[$](x)求x的十六进制数,返回的是字符型值,如Hex}[$](28)值为”1C”;Oct[$](X)求X的八进制数,返回的是字符型值,如Oct[$](10)结果为”12”;Sgn(x)求x的符号,当x>0返回1;当x=0返回0;当x<0返回-1;下一页返回上一页2.5函数Sin(x)求x的正弦值,Cos(x)求x的余弦值,Tan(x)求x的正切值,x的单位是弧度;Atn(x)求x的反正切值,函数返回的是弧度值。Rnd[(x)]产牛一个在(0,1)均匀分布区间的随机数.每次的值都不同;若X=0,则给出的是上一次本函数产生的随机数;X<O,则返回相同的随机数X>O或者缺省,产生序列中的下一个随机数。如果要随机产生1~N的整数,可以用表达式Int(N*Rnd+1)来表达。例如,Int(10*Rnd+1),就会产生出1~10的随机整数。如果随机产生a~b的随机整数,可以用公式Int(Rnd*(b~a+1))+a来表达。例如,Int(Rnd*81)+10,就会产生出10~90的随机整数。下一页返回上一页2.5函数2.常用字符函数ASC(X)返回字符串X的第一个字符的字符码。如Asc(“A”)返回值为65。Chr(X)返回字符码等于X的字符。如Chr(65),返回值A。Len(X)计算字符串X的长度。如Len(“vb教程”),值为4。Mid(X,n,m)由X的第n个字符读起,读取后面的m个字符,如Mid(“abcdefg“,2,4)结果为”bcde”。下一页返回上一页2.5函数Replace(X,S,R)将字符串X中的字符串S替换为字符串R,然后返回。如X="VBisverygood",P=Replace(X,good,nice),计算后P=”VBisverynice"。StrReverse(X)返回X参数反转后的字符串。如X="abc",p=StrReverse(X),计算后P=“cba”Ucase(X)将X字符串中的小写字母转换成大写。Lcase(X)将X字符串中的大写字母转换成小写。InStr(n,X,Y)从X第n个字符起找出Y出现的位置。如InStr(“abe123def123”,“12”),那么返回值为4。下一页返回上一页2.5函数3.主要转换函数转换函数用于数据类型或形式的转换,包括整型、实型、字符串型之间以及ASCII码字符之间的转换。常用类型转换函数如下所示。Str(x)将数值数据x转换成字符串。Val(x)将字符串x中的数字转换成数值。Chr(x)返回以x为ASCII码的字符。如Chr(65)的计算结果为”A"Asc(x)给出字符x的ASCII码值,十进制数。Int(x)取小于等于x的最大整数。如Int(-3.5)的值为-4;Int(3.5)的值为3。下一页返回上一页2.5函数Fix(x)将数值型数据x的小数部分舍去。如Fix(-3.5)计算后结果为-3。CDate(x)将有效的日期字符串转换成日期。如CDate(#1990,2,23#)结果为:1990~2~23。CCur(x)将数值数据x转换成货币型。Round(x,N)在保留N位小数的情况下四舍五人取整。4.常用测试函数测试函数的返回值都是布尔值。常用测试函数如下。IsArray(变量)测试变量是否是一个数组。IsDate(日期或字符串的表达式)测试表达式值是否可以转换成日期。日期的范围介于公元100年1月1日与公元9999年12月31日之间。下一页返回上一页2.5函数IsEmpty(变量)测试变量是否已经被初始化。IsNull(变量)测试变量是否为有效的数据。IsNumeric(变量)测试变量是否为可计算的数字型。5.日期时间函数VB提供了处理日
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供电设施基础试题及答案解析
- 河南省驻马店市泌阳县2027届七上数学期末监测模拟试题含解析
- 2027届广东省汕头市龙湖实验中学数学八上期末学业质量监测试题含解析
- 值日与劳动主题班会教学设计
- 消防安全从这节班会课开始
- 垃圾分类知识竞赛题库及答案详解
- 2026年大副考试模拟题及答案详解
- 月嫂职业技能培训易错题库(含答案)
- 2026年武安电工考试题库(含答案)
- 2026年中国鹿皮巾市场调查与发展前景报告
- 2026年会计职称《中级财务会计》专项训练试题集
- 养老机构安全管理制度
- 《得体搭配服饰》教学课件 - 2026-2027 学年滇教版初中劳动技术七年级上册
- 《内容分析法》课件
- N1叉车司机作业模拟考试1000题及答案
- 九年级水的化学组成微课省公开课获奖课件说课比赛一等奖课件
- 福建漳州市国有资本运营集团有限公司招聘笔试题库2024
- 美发与形象设计-高级美发全套教学课件
- 余华读书分享名著导读《在细雨中呼喊》
- 制浆造纸设备安装现场管理
- IMU-GNSS辅助低空高光谱数据获取技术规范
评论
0/150
提交评论