《Visual-Basic-程序设计教程》_第1页
《Visual-Basic-程序设计教程》_第2页
《Visual-Basic-程序设计教程》_第3页
《Visual-Basic-程序设计教程》_第4页
《Visual-Basic-程序设计教程》_第5页
已阅读5页,还剩615页未读 继续免费阅读

下载本文档

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

文档简介

VisualBasic6.0程序设计教程,主讲人:袁红兵,南京理工大学机械工程学院工业工程系,江苏省南京市孝陵卫200号Telmal:hbyuan,第1章:概述,第2章:数据与表达式,第3章:简单的VB程序设计,第4章:选择结构,第5章:循环结构,第6章:常用控件与多窗体,目录,第1章概述,VisualBasic(简称VB)是一种功能强大的新一代高级程序设计语言。本章介绍程序设计语言的基础知识;VisualBasic集成开发环境;通过一个简单的实例说明设计VisualBasic应用程序的步骤;最后阐述面向对象程序设计的一些重要概念。,1.1程序设计语言与程序设计1.2VisualBasic简介1.3VisualBasic集成开发环境1.4通过一个简单的应用程序快速入门1.5设计VB应用程序的一般步骤1.6对象、事件与事件过程,1.1程序设计语言与程序设计,人们想用计算机解决一个问题,必须事先设计好计算机处理信息的步骤,把这些步骤用计算机能够识别的指令编写出来并送入计算机执行,计算机才能按照人的意图完成指定的工作。我们把计算机能执行的指令序列称为程序,而编写程序的过程称为程序设计。,人与计算机交流使用的是“程序设计语言”。同人类语言一样,程序设计语言也是由字、词和语法规则构成的一个系统。从计算机执行的角度来看,程序设计语言通常分为机器语言、汇编语言和高级语言3种。,1.2VisualBasic简介,要介绍VisualBasic,不能不提到BASIC语言。BASIC是英文BeginnersAll-purposeSymbolicInstructionCode(初学者通用符号指令代码)的缩写,它是专门为初学者设计的高级语言。,VisualBasic是Microsoft公司于1991年推出的基于窗口的可视化程序设计语言。“Visual”是“可视化的”、“形象化的”的意思。VisualBasic的语法与BASIC语言的语法基本相同,因此VisualBasic也具有易学易用的特点,此外它还提供了一套可视化设计工具,大大简化了Windows程序界面的设计工作,同时其编程系统采用了面向对象、事件驱动机制,与传统BASIC有很大的不同。目前VisualBasic的最新版本是VisualBasic6.0(简称VB6.0),其功能十分强大,应用VisualBasic可以方便地完成从小的应用程序,到大型的数据库管理系统、多媒体信息处理、功能强大的Internet应用程序等各项任务。,VB6.0有三种版本,可以满足不同的开发需要。学习版。专业版。企业版。本书以VB6.0企业版为背景讲授。VB6.0安装完成后,“MicrosoftVisualBasic6.0中文版”菜单选项即加入到“开始”菜单的“程序”组中。单击其中的“MicrosoftVisualBasic6.0中文版”即可启动VB6.0。,“开始”菜单的组成,“开始”按钮,“开始”菜单,“程序”子菜单,“VB”子菜单,1.3VisualBasic集成开发环境,VB启动后,首先显示“新建工程”对话框,如图1-1所示。缺省状态下“新建工程”对话框的选项为“标准EXE”,标准EXE程序是典型的应用程序。本书绝大多数应用程序都属于标准EXE程序。,直接单击“打开”按钮,创建“标准EXE”类型应用程序,进入集成开发环境主界面,如图1-2所示。在集成开发环境中可以进行程序设计、编辑、编译和调试等工作。集成开发环境的顶部有标题栏、主菜单和工具栏。下部有几个子窗口:工具箱、窗体窗口、工程窗口、属性窗口及窗体布局窗口,根据需要,这些子窗口可以被关闭或打开。,工具箱,工程窗口,属性窗口,窗体布局窗口,空窗体,对象窗口,VB集成开发环境,下面对集成开发环境中的各元素作简要介绍。1标题栏用来显示窗口的标题。2主菜单主菜单栏中含了使用VB6.0所需要的命令。主菜单中共有13个菜单项,每个菜单项都有一个下拉菜单,内含若干个菜单命令,单击某个菜单项,即可打开该菜单,单击某个菜单中的某一条,就执行相应的命令。,3上下文菜单上下文菜单没有显式地出现在集成开发环境中。在对象上单击鼠标右键即可打开上下文菜单。在上下文菜单中列出的操作选项清单取决于单击鼠标右键所在环境。4工具栏它以图标按钮的形式提供了常用的菜单命令。单击工具栏上的按钮,则执行该按钮所代表的操作。按照缺省规定,启动VB之后显示“标准”工具栏。“标准”工具栏各按钮的作用,如图1-5所示。,5工具箱工具箱提供了一组在设计时可以使用的常用工具,这些工具以图标的形式排列在工具箱中,如图1-6所示。这些工具就像制作机械零件的模具一样。利用模具可以做出零件,利用工具箱中工具可以做出控件。双击工具箱中的某个工具图标,或单击工具图标后按住鼠标左键在窗体上拖动,即可在窗体上做出一个这种控件。设计人员在设计阶段可以利用这些工具在窗体上构造出所需要的应用程序界面。除了系统提供的这些标准工具外,VB还允许用户添加新的控件工具。,VB工具箱,PictureBox控件,TextBox控件,CommandButton控件,OptionButton控件,ListBox控件,VScrollBar控件,DriveListBox控件,FileListBox控件,Line控件,Data控件,Image控件,Shape控件,DirListBox控件,Timer控件,HScrollBar控件,ComboBox控件,CheckBox控件,Frame控件,Label控件,基于对话框的应用程序窗口,按钮CommandButton,图片PictureorImage,选项卡TabStrip,微调器Spinner(up-down),单选框OptionButton,复选框CheckBox,文本框TextBox,按钮CommandButton,列表框ListBox,对话框(DialogBox),选项卡TapStrip,组合框ComboBox,框架Frame,按钮CommandButton,标签Label,缺省按钮DefaultButton,6窗体窗口“窗体窗口”也称为“对象窗口”,主要用来在窗体上设计应用程序的界面,用户可以在窗体上添加控件来创建所希望的界面外观。例如,当新建一个工程时,VB自动建立一个新窗体,并命名为Form1,如图1-7所示。,最小化按钮MinimizeButton,边框Border,控制框ControlBox,标题Caption,最大化按钮MaximizeButton,关闭按钮CloseButton,窗体的组成,客户区,7工程窗口首先说明一下“工程”的概念。VB把一个应用程序称为一个工程(Project),而一个工程又是各种类型的文件的集合,这些文件包括工程文件(.vbp)、窗体文件(.frm)、标准模块文件(.bas)、类模块文件(.cls)、资源文件(.res)、ActiveX文档(.dob)、ActiveX控件(.ocx)、用户控件文件(.ctl)、属性页文件(.pag)。,需要指出的是,并不是每一个工程都要包括上述所有文件,VB要求一个工程至少包含两个文件,即工程文件(.vbp)和窗体文件(.frm)。至于一个工程要包括多少种文件,由程序设计的复杂程度而定。一个工程可以通过“工程窗口”来显示,工程窗口列出了当前工程所包含的文件清单。如图1-8所示是启动VB后建立的一个最简单工程的结构。,8属性窗口属性是指对象(窗体或控件)的特征,如大小、名称、标题、颜色、位置等。属性窗口列出了被选定的一个对象的所有属性。如图1-9所示,属性窗口包含对象下拉列表框、属性列表和属性说明栏。,9窗体布局窗口如图1-10所示,窗体布局窗口中有一个表示显示器屏幕的图像,屏幕图像上又有表示窗体的图像,它们标示了程序运行时窗体在屏幕中的位置。用户可拖动窗体图像调整其位置。,1.4通过一个简单的应用程序快速入门,学习VB最好的方法是实践,现在我们动手设计一个简单的应用程序。【例1.1】制作一个如图1-11所示的一个简单的应用程序的运行界面。它由一个窗体、一个文本框和一个命令按钮组成。当用户单击命令按钮“显示”时,文本框中出现“欢迎使用VB”。,下面简单叙述其设计步骤。1新建工程2添加文本框(1)双击工具箱中的文本框图标,一个文本框控件就出现在窗体的中心位置上了,如图1-12所示。,3添加命令按钮添加命令按钮的方法与绘制文本框的方法类似。,4设置属性5编写事件过程代码前面的工作把应用程序的界面设计好了,属性也设置完毕,如图1-17所示。但现在应用程序并不能实现实际的功能。为了使它具有一定的功能,还必须为对象编写实现某一功能的事件过程代码。因为题目要求单击命令按钮后,文本框中显示文字串,所以我们要对命令按钮这个对象的单击事件编写一段程序,以指定用户单击命令按钮后要执行的操作。现在开始编写事件过程代码。(1)双击窗体上的“显示”按钮,屏幕上出现代码窗口,程序代码就在这里编写,如图1-18所示。,编写如下事件过程:PrivateSubCommand1_Click()Text1.Text=欢迎使用VBEndSubVB程序代码由一条一条的语句构成。本实例程序很简单,只有3条语句。第1行是过程的起始语句,第2行的作用是在文本框中显示“欢迎使用VB”,最后一行是过程的结束语句。至此,程序代码编写完毕,现在可以运行程序了。6运行应用程序,7保存应用程序VB应用程序至少有两种文件需要保存:窗体文件(.frm)工程文件(.vbp)8生成EXE文件程序一旦设计完成,且测试成功,还可以将它编译成可直接执行的EXE文件,这样用户就可以在Windows环境中直接执行它们,而不必再进入VB环境了。,1.5设计VB应用程序的一般步骤,本节介绍设计VB应用程序的一般步骤。设计VB应用程序主要有以下4个步骤:(1)设计用户界面。(2)设置属性。(3)编写代码。(4)保存和运行调试程序,生成EXE文件。,1.5.1设计用户界面1向窗体上添加控件向窗体上添加控件有两种方法:双击工具箱中的控件图标,该控件即自动添加到了窗体的中央。单击工具箱中的控件图标,然后将鼠标指针移到窗体上,鼠标指针变成十字型,在窗体上需要放控件的位置拖动鼠标画出想要的尺寸,然后释放鼠标,即可在窗体上画出该控件。2对窗体上的控件进行调整对窗体上的控件进行调整的基本操作如下:(1)选中控件(2)调整控件大小及位置,1.5.2设置属性利用属性窗口,可为界面中的对象(窗体或控件)设置相应的属性。打开属性窗口可用以下4种方法:(1)选“视图”菜单中的“属性窗口”。(2)按F4键。(3)单击工具栏上的“属性”按钮。(4)使用对象的上下文菜单。在属性窗口中所进行的是属性初始值的设置,用户也可在程序中对他们进行设置和修改。,1.5.3编写代码为了使应用程序具有一定的功能,还必须为对象编写实现某一功能的程序代码,编写程序代码要在“代码窗口”进行。打开代码窗口可用以下4种方法:(1)双击对象。(2)选“视图”菜单中的“代码窗口”。(3)使用对象的上下文菜单。(4)在工程窗口单击查看代码图标。,编写程序代码是创建VB应用程序的主要工作环节,用户需要的运算、处理,都要通过编写代码来实现。一个好的程序具有以下特点:(1)正确性。能运行通过,并达到预期目的。(2)易读性。结构清晰,便于查错、修改。(3)运行效率高。程序运行时间较短,占用的存储空间较少。,VB代码书写格式比较自由。代码不区分字母的大小写,一行允许多达255个字符。通常一行写一条语句,这样程序看起来比较清晰。在同一行上也可写多个语句,这时语句间用冒号“:”分隔。例如,a=4:b=5:c=6。单行语句也可分若干行书写,要使用一个空格后跟一个下划线作续行符,如下所示:dimaassingle,bassingle,cassingle_dassingle,eassingle,VisualBasic程序书写规范,1分行书写:程序以语句为单位,一条语句占一行。如果语句太长,可以分为连续的多行书写,这时,未完的行要以空格与下划线(称为续行符)结尾。注意分行时要避开关键字、对象名、过程名。如:lblMyFirst.Caption=lblMyFirst.Caption_+123132一行中写多条语句:要在一行中定多条语句,可在一行中的多条语句之间插入冒号作为分隔。如:txtFirst.Text=“Hello”:frmOpen.Top=1000:frmOpen.Left=12003注释:可在程序中加入以单引号开头的解释性的文字,单引号为注释符号,这些文字为注释。注释不是代码的一部分,是不被执行的。注意:在续行符后不能写注释。Rem是专门的注释关键字,用法同单引号。如:这是1999年3月11日编写的txtMy.Text=“您好!”在文本框中向用户问好,1.5.4保存和运行调试工程、生成EXE文件1保存工程选“文件”菜单中的“保存工程”或单击工具栏中的“保存”按钮即可。,2运行调试工程运行工程,尽可能地发现程序中存在的错误和问题,排除错误、解决问题。运行工程可用以下3种方法:(1)选择“运行”菜单中的“启动”。(2)单击工具栏中的“启动”按钮。(3)按F5键。一般来讲,程序很少能一次运行通过,这是因为程序中有这样那样的错误,这是由它反映的实际问题的复杂性,及程序本身逻辑结构的复杂性决定的。,程序中的错误可分为3类:(1)编译错误。(2)运行错误。(3)逻辑错误。3生成EXE文件,练习:,判断下列语句的正误:1PrivateSubfrmFirst_Click()2txt1.Text+txt2.Text=txt3.Text3cmdAdd.Name=cmdSub4lbl1.Text=txt1.Text5frm.First.Move,1000,1000,2000,12006lbl1.Caption=txt1.Text17lbl1.Caption=你好812Label.Caption=1234,左边全部错误,正确应为:1PrivateSubForm_Click()2txt3.Text=txt1.Text+txt2.Text3Name为只读属性。4标签控件无Text属性5frmFirst.Move1000,1000,2000,12006lbl1.Caption=txt1.Text7lbl1.Caption=“你好“8对象名不正确。,在VisualBasic中,开发一个应用程序有如下主要步骤:1预备工作。明确任务,进行结构与算法设计;2建立界面。包括窗体及控件;3设置属性。设置窗体及控件的属性;4编写代码。编写各事件过程,不断调试、改错,实现程序预计的功能;5编译为可执行文件。,开发应用程序的主要步骤:,VisualBasic中的工程:,VisualBasic将用来构造一个应用程序的所有文件称为一个工程。一个工程通常包括以下几种文件。1一个工程文件(.vbp),用来管理该工程的所有部件。2窗体文件(.frm),与工程中的每一个窗体相对应。3.frx文件,与每一个包含图形属性的.frm文件相对应。4类模块文件(.cls),对应于工程中建立的新的类。5标准模块文件(.bas),用来存放标准模块代码。6包含ActiveX的(.ocx)文件7资源文件(.res),1.6对象、事件与事件过程,VB是面向对象的程序设计语言。面向对象程序设计是一种以对象为基础,以事件来驱动对象的程序设计方法。它将一个应用程序划分成多个对象,并且建立与这些对象相关联的事件过程。通过对象对所发生的事件产生响应,来执行相应的事件过程,以引发对象状态的改变,从而达到处理的目的。,1对象对象是VB应用程序的基础构件。窗体和控件都是对象,被称作对象的还有数据库、图表等,对象具有属性和方法,并响应外部事件。在开发一个应用程序时,必须先建立各种对象,然后围绕对象进行程序设计。2对象的属性属性是指对象的特征。每一种对象都有一组特定的属性,这在属性窗口中可以看到。每个属性都有一个缺省值,如果不改变该值,应用程序就使用该缺省值,如果缺省值不能满足要求,就要对它重新设置。,特征,名字=毛毛品种=狼狗身长=1.4米颜色=白色年龄=5岁,行为,跑叫吃食摇尾巴伸舌头.,可识别的外部事件,见到生人天热,面向对象编程的概念,特征,姓名=张三性别=男身高=1.7米国藉=中国年龄=25岁,行为,跑步学习笑唱歌,对外界的反映,遇到高兴的事情下课了.,属性Property,方法Method,事件Event,3对象的方法4对象的事件5事件过程对象感应到某一事件发生时所执行的程序称为事件过程。事件过程的形式如下:PrivateSub对象名_事件名()(VB程序代码)EndSub,VB程序的执行是由事件来驱动的,以下是事件驱动应用程序的典型工作过程:(1)启动应用程序,装载和显示窗体。(2)对象等待事件的发生。(3)事件发生后,如果在相应的事件过程中存在代码,就执行代码。(4)应用程序等待下一次事件。,窗体(Form)对象的常用属性,Name:对象名。必须以字母开头,不能多于40个字符,可以包含字母、数字和下划线,不能包括标点和空格。不能与其它公共对象重名,可以与关键字相同,但应避免。建议为窗体对象名加上“frm”前缀。,Caption:显示在窗体标题栏上的文字。,BorderStyle:边框类型。决定窗体是否可缩放、标题栏是正常还是窄、是否在任务栏上出现等。该属性对MinButton、MaxButton属性的设置有影响。,ControlBox:窗体是否有图标、系统菜单和最大化、最小化与关闭按钮。,Icon:窗体图标。与一图标文件相联系。如为“无”则使用默认图标。,Visible:窗体是否可见,True或False。,窗体(Form)对象的常用属性,MaxButton与MinButton:是否显示最大化与最小化按钮,值为True或False。只有二者均为False时才不显示,否则设为False者只以无效显示。,Left、Top:窗体相对于屏幕的位置。坐标值的默认单位是缇(twip),1缇等于1/567厘米。,Width、Height:窗体的宽度与高度。默认单位也是缇twips。,对象的每个属性反映了该对象某个方面的特性。同一个对象的不同属性之间可能相互影响。程序设计阶段可以在属性窗口中对属性的值进行设置,(有些属性不能在设计时设置;有些属性的设置只有在运行时才反映出来)。在程序进行过程中,程序代码可以读取或重新设置属性的值。有一些属性的值只能在设计阶段设置,程序运行过程中这些属性是只读的。在程序中对对象的属性进行存取要以如下格式:“对象名.属性名”。如:frmFirst.Height=1200,窗体(Form)对象的常用方法,Move方法,语法为:object.Moveleft,top,width,height该方法将object对象移动到以left,top定义的新位置。同时可以改变该对象的大小(以width,height为新的宽与高)。其中left参数必须给定。但是,要给定任何其它的参数,必须先给定出现在语法中该参数前面的全部参数。,例:设frmFirst为一窗体对象名。frmFirst.Move1000,1000,1200,2000既移动位置,又改变大小frmFirst.Move1000,1000只移动frmFirst.Move1000只左右移动frmFirst.Move1000,1200错误,缺少参数,窗体(Form)对象的常用方法,Move方法同时改变了Left,Top,Width与Heigth属性的值。效果与分别设置这些属性的值等效。,Hide方法,语法为:object.Hide此方法将object对象隐藏,并将其Visible属性设置为False。窗体被隐藏之后,就不能响应用户的操作。该方法无参数。,某些方法的执行改变一些属性的值,有些方法的执行结果可能受一些属性的影响。方法的执行可能等效于对一些属性的修改。,窗体(Form)常用的事件,事件是对象能够识别的外部刺激,该刺激既可能来自于用户,也可能来自于操作系统。,Click事件:当用户在窗体上(除标题栏和边框)单击鼠标左键或右键时引发。,Click事件过程:当对象接收到Click事件时所执行的代码。窗体的Click事件语法:PrivateSubForm_Click()(语句)EndSub用户可以把想让对象对该事件所做的反应以VB语句的形式写在事件过程中。,窗体(Form)常用的事件,DblClick事件:当用户在窗体上(除标题栏和边框)快速双击鼠标键时引发。DblClick事件过程:接收到DblClick事件时执行的代码,DblClick过程语法格式:PrivateSubForm_DblClick()(语句)EndSub,VB编程是面向对象的,同时也是以事件驱动的。,Resize事件:当窗体因任何原因大小发生变化时(或第一次显示窗体时)引发引事件。在拖动边框窗体改变大小时,会连续引发多个Resize事件。,命令按钮控件(CommandButton)的常用属性,Left、Top:命令按钮在窗体上的位置。坐标值的默认单位是缇。,Width、Height:按钮的宽度与高度。默认单位也是缇。,Caption:显示在按钮表面上的文字。可以使用“&”字符与其后的字母组成快捷键。,Visible:该按钮是否可见。True或False。,Enabled:该按钮是否可用。True或False。,Name:对象名。要符合VB对对象名的要求。建议为按钮对象名加上“cmd”前缀。,Value:将该属性设为True可以触发按钮对象的Click事件。只能在运行时设置。,Default:若该属性为True,则按钮对象为默认按钮。不管焦点在哪个控件上,用户按回车键,均触发按钮的Click事件。默认按钮有较粗的边框。一个窗体上只能有一个按钮的Default属性为True。,Cancel:若该属性为True,则按钮对象为默认的“取消”按钮。不管焦点在哪个控件上,用户按“ESC”键,均触发按钮的Click事件。,命令按钮控件(CommandButton)的常用方法与事件,Move方法,语法为:object.Moveleft,top,width,height该方法将object对象移动到以left,top定义的新位置。同时可以改变该对象的大小(以width,height为新的宽与高)。其中left参数必须给定。但是,要给定任何其它的参数,必须先给定出现在语法中该参数前面的全部参数。,命令按钮控件(CommandButton)的常用方法与事件,Click事件:当用户在按钮表面上单击鼠标左键产生Click事件。另外下列方法也能触发按钮的Click事件:1用Tab键把焦点移动到该按钮上,然后按空格或回车键。2按快捷键(Alt+具有下划线的字母)3如为窗体的缺省按钮,按回车键。4如为窗体的默认“取消”按钮,按ESC键。5在运行阶段设置属性:object.Value=True,Click事件过程:当对象接收到Click事件时所执行的代码。按钮的Click事件语法:PrivateSubobject_Click()(语句)EndSub命令按钮对象不支持鼠标双击事件。,文本框(TextBox)的常用属性,Left、Top、Width、Height、Visible、Enabled属性与命令按钮的意义相同。,Name:对象名。要符合VB对对象名的要求。建议为文本框对象名加上“txt”前缀。,Text:显示在文本框中的文本内容。,MaxLength:限制文本框中的文本的最大长度(字符数)。一个汉字为一个字符。如果为0,则长度只受系统限制。,MultiLine:为True时,文本框中可以显示多行内容,最多可包含32K个字符。False时,忽略换行符,最多可包含2048。PasswordChar属性设置口令字符。,ScrollBars:设置文本框的滚动条,有四个值。当窗体上有默认按钮时,Ctrl-Enter在文本框中插入回车符。只有MultiLine属性为True时,此属性才有意义。,SelLength、SelStart、SelText:分别为当前选定文本的长度、选定文本的起始位置(以0为起点)与选定文本的内容。这三属性只在运行时使用。,Appearance:文本框是平面的还是立体的。,Alignment:文本框中文本相对与文本框的对齐方式。MultiLine应设为True。,文本框(TextBox)的常用方法与事件,Move方法、Click事件:与命令按钮控件相同。DblClick事件:与窗体相同。,Change事件:当文本框的内容发生改变时所执行的代码。文本框Change事件语法:PrivateSubobject_Change()(语句)EndSub,标签(Label)的常用属性,Left、Top、Width、Height、Visible、Enabled属性与命令按钮的意义相同。,Name:对象名。要符合VB对对象名的要求。建议为标签对象名加上“lbl”前缀。,AutoSize:标签大小是否随显示的内容变化。,WordWrap:当AutoSize属性设为True时,当标签显示的内容增加时,它是如何扩展。True:垂直扩展,文字换行。False:水平扩展。BorderStyle:当此属性为True时,标签有边框。默认值为False,即无边框。,Caption:标签上显示的文字内容。可以使用“&”来为标签创建快捷键。标签本身并不能拥有输入焦点。当用户按快捷键时,会把焦点传递给Tab键次序中下一个可拥有焦点的控件。标签控件Caption属性的值不能由用户直接修改,可以由程序修改。,标签(Label)的常用方法和事件,Move方法、Click事件、DblClick事件与Change事件。,标签可以用来对其它没有标题的控件(如文本框)进行说明,也可用来显示一些程序运行过程中的提示信息。标签对象显示的内容不能由用户直接修改,但由程序代码修改。标签对象能响应Click、DblClick事件,也能响应通过程序修改其内容而引发的Change事件。,例子:,第2章数据与表达式,本章将介绍在编写代码时用到的一些最基础的知识,包括VB的基本字符集和词汇集、VB的基本数据类型、常量与变量、运算符与表达式及常用内部函数。,2.1VB的基本字符集和词汇集2.2VB的基本数据类型2.3常量与变量2.4运算符与表达式2.5常用内部函数,2.1VB的基本字符集和词汇集,2.1.1字符集2.1.2词汇集1关键字关键字又称保留字,是在语法上有固定意义的字母组合。主要包括:命令名、函数名、数据类型名、运算符、VB系统提供的标准过程等。2标识符标识符是用户自己定义的名字,包括自定义常量名、变量名、控件名、自定义的过程名和函数名等。用户通过标识符对相应的对象进行操作。,2.2VB的基本数据类型,数据是信息的物理表示形式,是程序处理的对象。在VB中,对不同类型的数据有不同的操作方式和不同的取值范围。在程序设计中,要随时注意所用数据的类型。VB的数据类型有系统定义和自定义两种,系统定义的数据类型称为标准类型,自定义数据类型是由若干标准类型组合成的某种结构。表2-1列出了VB中的标准数据类型。,2.2.1字符串型(String)字符串包括除双引号和回车以外可打印的所有字符,双引号作为字符串的定界符号。例如:1234和张三都是字符型。注意字符串中空格是有效字符。2.2.2数值型VB中的数值型数据分为整型和实型两大类。1整型整型数是不带小数点和指数符号的数。包括整型、长整型和字节型整数。,(1)整型(Integer,类型符%)整型数用两个字节存储,取值范围是-32768到+32767。例如:15,-345,654%都是整数型。而45678%则会发生溢出错误。(2)长整型(Long,类型符&)长整型用4个字节存储,取值范围是-2147483648到+2147483647。例如:123456,45678&都是长整数型。(3)字节型(Byte)用一个字节存储,取值范围是0到255。,2实型实型数据主要分为单精度、双精度和货币型3种。(1)单精度浮点数(Single,类型符!)单精度数用4个字节存储,有7位有效数字,取值范围1.401298E-45=4True3=5False=2=4False4=4True45True44False,比较运算符用来对两个值进行比较,如果满足运算符的定义,则结果为True,否则结果为False。在比较运算中,只要有一个值为Null,则结果为Null。,比较运算,上述比较运算符除了能比较数值,还可以比较字符串。在默认状态下,字符串的大小是按数字与字母的ASCII码顺序,汉字是按区位码顺字。“ab”abc”(结果False)“ab”ac”(结果False)“ab”人”(结果False)“ab”AB”(结果True)当比较运算符用于不同类型的值时,会进行一定的转换才进行比较,参见68页。,2.4.4逻辑运算符逻辑运算符对逻辑量进行逻辑运算,除Not外都是对两个逻辑量运算。结果为逻辑值。表2-4列出了VB中的逻辑运算符。,逻辑运算符,1And逻辑“与”运算符:exp1Andexp2如果exp1与exp2是逻辑表达式(True或False),只要有一个为False,则运算结果为False。二者全为True时,结果才为True。注意当Null值参与运算时,与True结果为Null,与False结果为False。NullAndNull结果为Null。如果exp1为exp2整数,则计算结果为两个数按位进行“与”操作的值。如:DimA,B,C,D,MyCheckA=10:B=8:C=6:D=Null设置变量初值。MyCheck=ABAndBC返回True。MyCheck=BAAndBC返回False。MyCheck=ABAndBD返回Null。MyCheck=AAndB返回8(位比较的结果)。上式中:A=10D=00001010BB=8D=00001000BAnd8D=00001000BMycheck=10And5返回0,2Eqv逻辑“相等”运算符:exp1Eqvexp2如果exp1与exp2是逻辑表达式(True或False),如二者值不同结果为False,二者相同则运算结果为True。注意当Null值参与运算时,结果为Null。如果exp1为exp2整数,则计算结果为两个数按位进行“相等”操作的值。如:DimA,B,C,D,MyCheckA=10:B=8:C=6:D=Null设置变量初值。MyCheck=ABEqvBC返回True。MyCheck=BAEqvBC返回False。MyCheck=ABEqvBD返回Null。MyCheck=AEqvB返回-3(位比较的结果)。上式中:A=10D=00001010BB=8D=00001000BEqv-3D=11111101B(补码取反加1),3Imp逻辑“隐含”运算符:exp1Impexp2如果exp1与exp2是逻辑表达式(True或False),如exp1隐含于exp2结果为True,否则结果为False。(True隐含于True,False既隐含于False也隐含于True)。注意当Null值参与运算时的情况。如果exp1为exp2整数,则计算结果为两个数按位进行“隐含”操作的值。如:DimA,B,C,D,MyCheckA=10:B=8:C=6:D=Null设置变量初值。MyCheck=ABImpBC返回True。MyCheck=ABImpCB返回False。MyCheck=BAImpCB返回True。MyCheck=BAImpCD返回True。MyCheck=CDImpBA返回Null。MyCheck=BImpA返回-1(位比较的结果)。上式中:B=8D=00001000BA=10D=00001010BImp-1D=11111111B(补码取反加1)MyCheck=AImpB返回-3,4Or逻辑“或”运算符:exp1Orexp2如果exp1与exp2是逻辑表达式(True或False),只要有一个为True,则运算结果为True。二者全为False时,结果才为False。注意当Null值参与运算时,与True结果为True,与False结果为Null。NullAndNull结果仍为Null。如果exp1为exp2整数,则计算结果为两个数按位进行“或”操作的值。如:DimA,B,C,D,MyCheckA=10:B=8:C=6:D=Null设置变量初值。MyCheck=ABOrBC返回True。MyCheck=BAOrBC返回True。MyCheck=ABOrBD返回True。MyCheck=BDOrBA返回Null。MyCheck=AOrB返回10(位比较的结果)。上式中:A=10D=00001010BB=8D=00001000BOr10D=00001010B,5Not逻辑“非”运算符:Notexp1Not为单目运算符,如果exp1为True,则结果为False,如果exp1为False,则结果为True。如果exp1为Null值结果仍为Null。如果exp1为exp2整数,则计算结果为两个数按位进行“非”操作的值。如:DimA,B,C,D,MyCheckA=10:B=8:C=6:D=Null设置变量初值。MyCheck=Not(AB)返回False。MyCheck=Not(BA)返回True。MyCheck=Not(CD)返回Null。MyCheck=NotA返回-11(位比较的结果)。上式中:A=10D=00001010BNot-11D=11110101B(补码取反加一),6Xor逻辑“异或”运算符:exp1Xorexp2如果exp1与exp2是逻辑表达式(True或False),二者不同,则运算结果为True。二者相同,结果为False。二中有一个为Null,则结果为Null。如果exp1为exp2整数,则计算结果为两个数按位进行“异或”操作的值。如:DimA,B,C,D,MyCheckA=10:B=8:C=6:D=Null设置变量初值。MyCheck=ABXorBC返回False。MyCheck=BAXorBC返回True。MyCheck=BAXorCB返回False。MyCheck=BDXorAB返回Null。MyCheck=AXorB返回2(位比较的结果)。上式中:A=10D=00001010BB=8D=00001000BXor2D=00000010B,2.4.5表达式1表达式的组成表达式由常量、变量、函数、运算符以及圆括号、(),按照一定的规则组成,不管表达式的形式如何,都会计算出一个结果,该结果的类型由参与运算的数据和运算符决定。,2表达式的书写规则(1)表达式中的每个字符没有高低、大小的区别。(2)只能使用圆括号,可以多重使用,圆括号必须成对出现。(3)VB表达式中的乘号“*”不能省略。(4)能用内部函数的地方尽量使用内部函数。例如:数学式写成VB表达式为:(-b+sqr(b2-4*a*c)/(2*a),3关系表达式和逻辑表达式当使用关系运算符或逻辑运算符时,表达式又称为关系表达式或逻辑表达式。关系运算一般表示一个简单的条件。例如:age20、score80、x+yz等。逻辑表达式表示较复杂的条件。例如:数学中的0x5,写成VB表达式应为0关系运算符逻辑运算符。,在表达式中,当运算符不止一种时,要先处理算术运算符,接着处理比较运算符,然后再处理逻辑运算符。所有比较运算符的优先顺序都相同;也就是说,要按它们出现的顺序从左到右进行处理。而算术运算符和逻辑运算符则必须按下列优先顺序进行处理:算术比较逻辑指数运算()相等(=)Not负数(-)不等()And乘法和除法(*、/)小于()Xor求模运算(Mod)小于或相等(=)Imp字符串连接(&)LikeIs,运算符的优先级,当优先级相同的运算符出现在表达式中时,每个运算都按照它们从左到右出现的顺序进行计算。可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。但是,在括号之内,运算符的优先顺序不变。字符串连接运算符(&)不是算术运算符,但是,就其优先顺序而言,它在所有算术运算符之后,而在所有比较运算符之前。Like的优先顺序与所有比较运算符都相同,实际上是模式匹配运算符。Is运算符是对象引用的比较运算符。它并不将对象或对象的值进行比较,而只确定两个对象引用是否参照了相同的对象。,运算符的优先级,2.5常用内部函数,VB提供了大量的内部函数供用户调用。本节将分类介绍一些常用的内部函数。函数的一般调用格式:格式:函数名(参数表)说明:参数表可以有一个参数或逗号隔开的多个参数,多数参数都可以使用表达式。函数一般作为表达式的组成部分调用。,2.5.1数学函数VB提供了大量的数学函数。常用数学函数有三角函数、算术平方根函数、对数函数、指数函数及绝对值函数等。2.5.2转换函数转换函数用于各种类型数据之间的转换。2.5.3字符串函数VB具有很强的字符串处理能力。2.5.4日期与时间函数日期与时间函数提供时间和日期信息。,常用内部函数,一、数学函数:1Sin(expN)、Cos(expN)、Tan(expN):expN为表示弧度的表达式。返回值为Double类型。2Atn(expN):Tan的反函数,返回值为Double类型,范围在-pi/2和pi/2弧度之间。其他三角函数可以用上面的函数推导得出。3Sqr(expN):返回expN的算术平方根,Double型。expN要不小于零。4Exp(expN):返回e的expN次方,Double型。expN大于709会产生溢出。5Log(expN):返回expN的自然对数的值,返回值为Double型。expN要大于0;6Abs(expN):求expN的绝对值。7Sgn(expN):当expN0返回1,当expN0返回-1,当expN=0返回0;8Int(expN)、Fix(expN):返回expN的整数部分。当expNstr2,则返回1;如果str1=str2,则返回0;如果str1int2,1,10)返回值为10,而IIF(int1sng2,sng1,sng2),第3章简单VB程序设计,众所周知,VB应用程序的执行是由事件驱动的,当用户触发某一事件时,执行相应的事件过程,这些事件过程之间并没有特定的执行次序。但在每一个事件过程内部,是有一定的执行控制流程的,这就是通常所说的三种基本结构:顺序结构、分支结构、循环结构。顺序结构是最简单的一种结构,该结构按语句排列的先后顺序执行。本章的主要内容有:VB最基本的几个对象,与顺序结构有关的语句和方法。通过本章的学习,可以进行简单VB程序设计。,3.1窗体3.2命令按钮3.3标签3.4文本框3.5赋值语句3.6Print方法3.7输入框3.8消息框3.9注释语句、结束语句3.10程序调试,3.1窗体,创建VB应用程序的第一步是创建用户界面。用户界面的基础是窗体,各种控件对象必须建立在窗体上。启动VB后,即在屏幕上显示一个窗体,如图3-1所示。,3.1.1窗体的主要属性窗体的属性决定了窗体的外观和操作。窗体的大部分属性可用两种方法来设置:通过属性窗口设置和通过程序代码设置。有少量的属性不能在程序代码中设置。(1)Caption属性设置窗体的标题内容。标题内容应概括说明本窗体作用。(2)MaxButton属性和MinButton属性MaxButton属性为True,窗体右上角有最大化按钮;为False时,无最大化按钮。MinButton属性为True,窗体右上角有最小化按钮;为False时,无最小化按钮。,(3)BorderStyle属性决定窗体边框式样及窗体是否能调整大小。(4)BackColor属性和ForeColor属性BackColor属性设置窗体的背景颜色,ForColor属性设置窗体的前景颜色。窗体的前景颜色是执行Print方法时所显示文本的颜色。(5)Height属性和Width属性设置窗体的初始高度和宽度。其单位为Twip。1Twip=1/20点=1/1440英寸=1/567cm。,(6)Left属性和Top属性用于设置窗体左边框距屏幕左边界的距离和窗体顶边距屏幕顶端的距离。其单位为Twip。(7)Name(名称)属性设置窗体的名称,在程序代码中用这个名称引用该窗体。新建工程时,窗体的名称缺省为Form1;添加第二个窗体,其名称缺省为Form2,依次类推。为了便于识别,用户通常给Name属性设置一个有实际意义的名称。,(8)Enabled属性属性值为True或False,设置对象是否能够对用户产生的事件做出反应。一般在程序中设置,用于临时屏蔽对窗体或其它控件的的控制。(9)Moveable属性属性值为True或False,设置是否可以移动窗体。(10)Visible属性属性值为True或False,设置窗体是否被显示。用户可用该属性在程序代码中控制窗体的隐现。,(11)Picture属性设置在窗体中显示的图片。单击Picture属性右边的按钮,弹出“加载图片”对话框,用户可选择一个图片文件作为窗体的背景图片。若在程序中设置该属性的值,需要使用LoadPicture函数。(12)WindowState属性设置窗体启动后的大小状态。在VB中,虽然不同的对象有不同的属性集合,但有一些属性,如Name、Enabled、Visible、Height、Width、Left、Top等,其它控件也有,且具有相似的作用。在后续的章节中,主要介绍各种控件常用的特殊属性。,3.1.2事件窗体最常用的事件有3种:Click(单击)、DbClick(双击)、Load(装入)。1Click事件程序运行后,单击窗体触发该事件。2DbClick事件程序运行后,双击窗体触发该事件。,3Load事件Load事件是窗体被装入内存工作区时触发的事件。如果这个事件过程存在,就马上执行它。Load事件过程通常用于启动程序时,对属性、变量的初始化以及装载数据等。【例3.1】窗体上无最大化、最小化按钮,程序运行后,在窗体上装入一幅图片作为背景,当单击窗体时,窗体变宽;当双击窗体时,则退出。程序运行界面如图3-2所示。,事件过程如下:PrivateSubForm_Load()装入图片Form1.Picture=LoadPicture(c:picChangcheng.wmf)EndSubPrivateSubForm_click()单击窗体Form1.Width=Form1.Width+1000EndSubPrivateSubForm_DblClick()双击窗体EndEndSub说明:上机时,可通过查找文件的方法找一个图片文件,参照本例中的格式输入即可。,3.2命令按钮,在VB应用程序中,命令按钮是使用最多的对象之一,常常用它接受用户的操作信息,

温馨提示

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

评论

0/150

提交评论