VB程序设计教程_第1页
VB程序设计教程_第2页
VB程序设计教程_第3页
VB程序设计教程_第4页
VB程序设计教程_第5页
已阅读5页,还剩411页未读 继续免费阅读

下载本文档

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

文档简介

VisualBasic

程序设计教程

基于Windows的应用程序是如何开发的?目录第一章VisualBasic概述第二章基本控件第三章VB语言基础第四章程序结构第五章数组第六章过程第七章常用控件第八章界面设计第九章数据库应用第一章VisualBasic概述

第一节VisualBasic简介BASIC是20世纪60年代由美国达特茅斯大学的两位教授共同设计的计算机程序设计语言,是国际上广泛使用的一种计算机高级语言。Basic语言简单易学、人机交互容易、程序调试简便,目前仍是计算机程序设计初学者入门学习的主要语言之一。一、VisualBasic的发展发展过程1964、BASIC20世纪90年代、VISUALBASIC1.0(图形界面程序设计语言)VISUALBASIC3.0、强大的数据库管理功能VISUALBASIC6.0、,VisualBasic6.0在面向对象编程的等技术上做了许多扩展,VisualBasic已经成为一种真正专业化的开发语言,用户可以编写企业水平的客户/服务器程序和强大的数据库应用程序。二、VISUALBASIC的特点1.具有面向对象2.具有可视化编程特点3.强大的数据库处理功能4.可使用其他应用程序提供的功能5.支持internet程序开发功能6..exe应用程序三、VISUALBASIC6.0的新增功能1、新增功能

2、改进的功能第二节VISUALBASIC的安装与运行VisualBasic6.0中文版包括3种版本VisualBasic学习版(Learning)VisualBasic专业版(Professional)VisualBasic企业版(Enterprise)一、VisualBasic的安装二、VisualBasic的运行第三节VisualBasic的集成开发环境1.主窗口应用程序窗口,由标题栏、菜单栏和工具栏组成2.窗体(form)窗口设计vb程序的界面3.代码(code)窗口编辑窗体、标准模块中的代码4.属性(properties)窗口所有窗体或控件的属性设置5.工程资源管理器(projectexpror)窗口保存一个应用程序所有的文件6.工具箱(toolbox)窗口显示各种控件的制作工具,供用户在窗体上设计7.窗体布局窗口8.对象浏览器9.立即窗口、本地窗口和监视窗口第四节面向对象程序设计

程序设计方法的发展1.初期的程序设计高运行效率、少占用内存为目标2.结构化程序设计 程序的可读性、可维护性为目标程序=算法+数据结构的面向过程的程序设计3.面向对象的程序设计降低程序的复杂性、提高软件的开法效率和改善工作界面为目标程序=对象+消息的面向对象的程序设计一、对象和类1.类类是创建对象实例的模板,包含了创建对象的属性描述和行为特征的定义.2.对象是类的一个实例,继承了类的属性、方法。

Vb中常用的对象有:窗体、控件等。3.对象的建立和命名4.对象的三要素(1)属性

对象的性质,即用来描述和反映对象特征的参数。(2)方法

对象的行为,即将一些通用的过程编写好并封装起来,作为方法供用户直接调用。

(3)事件响应对象的动作称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。事件过程指附在该对象上的用户编写的程序代码,是事件的处理程序。事件驱动过程是图形用户界面的本质,由用户控制而代码作出响应。5.VB程序的执行步骤如下:1)启动应用程序,装载和显示窗体2)窗体(或窗体上的控件)等待事件的发生;3)事件发生时,执行对应的事件过程;4)重复执行步骤(2)和(3);5)直到遇到“END”结束语句结束程序的运行或按“结束”强行停止程序的运行。二、创建应用程序的步骤以例1.1为例1.建立用户界面的对象2.对象属性的设置3.对象事件过程及编程4.程序运行和调试5.保存文件三、VisualBasic程序开发中的两个重要特性1.事件驱动模型2.交互式开发第二章基本控件2.1控件概述2.1.1控件分类在VisualBasic中,控件可分成三类:

控件内部控件(标准控件)

:即控件工具栏中的控件,共20个。如CommandButton

控件、Text控件、Label控件等。ActiveX控件:是扩展名为.ocx的独立文件,其中包括VB提供的控件(如DataList

控件)和第三方提供的ActiveX控件。可插入的对象:MicrosoftExcel工作表对象MicrosoftProject日历对象2.1控件概述2.1.2使用标准ActiveX控件

VB包含部分ActiveX控件,即标准ActiveX控件),通过这些控件可以应用程序中引入高级功能。2.1.3添加和删除ActiveX控件1、在工具箱中添加ActiveX控件:1)在“工程”菜单中选择“部件”。2)选定.ocx控件名旁边的复选框,然后选择“确定”。将控件放入工具箱2、删除ActiveX控件:1)在工程的窗体上删除控件的所有实例,并删除工程代码中对控件的所有引用。若代码中还留有被删除控件的引用,则在编译应用程序时将显示出错信息。2.在“工程”菜单中选择“部件”,清除.ocx控件名旁边的复选框,然后选择“确定”。2.1控件概述2.1.4控件命名第一次创建对象时,VisualBasic将其Name属性设置为缺省值。为窗体和控件命名,必须遵循以下命名规则:1、必须以字母开头。2、只能包含字母、数字和下划线字符_;不允许有标点符号字符和空格。3、不能超过40个字符。2.1.5设置或获取控件属性值所有控件都有一个这样的属性:只需引用该控件对象名而无需使用属性名就可以设置该属性的值,称此属性为控件的默认属性值。如Text(文本框)控件的默认属性为Text属性、Label(标签)控件的默认属性为Caption属性。

Text1.Text=“VisualBasic”等价于Text1=“VisualBasic”Label1.Caption=“VisualBasic”等价于Label1=“VisualBasic”

控件对象的属性值可以任意设置,也可以通过控件属性来获取其属性值。2.2对象的属性、事件和方法属性、事件和方法被称为对象的三要素。对象的三要素属性:反映对象的性质或特征的参数事件:预先设置好的、能够被对象识别的动作。如click(单击)、dblclick(双击)、load(装入)等。方法:一种特殊的被封装好的过程和函数(程序段)2.2对象的属性、事件和方法2.2.1属性属性的设置有两种方法:1、通过属性设置框直接设置对象的属性;2、在程序代码中通过赋值实现。格式:对象.属性=属性值例如:给一个对象名为label1的标签控件的Caption属性设置为“VB教程”,其在程序代码中的书写形式如下:

Label1.Caption="VB教程"2.2对象的属性、事件和方法2.2.2事件对于控件对象而言,事件就是发生在该对象上的事情。VB中的事件类型可以分为三类,即键盘事件,鼠标事件和程序事件。1、键盘事件指用户按键盘上的按键后产生的事件,最常见的键盘事件主要有以下三个:

KeyPress:按一个键之后触发事件

KeyDown:按下一个键时触发的事件

KeyUp:松开一个键时触发的事件2.2对象的属性、事件和方法事件一旦发生,VB就立即寻找相应的程序进行处理。响应一个事件的程序代码,在VB中称为一个事件过程。VB应用程序设计的主要工作就是为对象编写过程中的事件代码。事件过程的形式如下:Sub对象名_事件([参数列表])…事件过程代码EndSub例如:单击Command1命令按钮,使命令按钮的字体设置为“宋体”,则对应的事件过程如下:PrivateSubCommand1_Click()

Command1.Caption==“替换"EndSub2.2对象的属性、事件和方法2.2.3控件的方法方法是特定对象动作的过程,是一个对象对外提供的某些特定动作的接口。事实上,方法是对象本身内含的程序段,它可能是函数,可能是过程,但实现功能的步骤和细节,用户看不到。用户只能了解这个对象的功能和用法。按照约定直接去使用它。因为方法是面向对象的,所以在调用时一定要用对象,对象方法的调用格式为:

[对象.]方法[参数名表]

其中若省略了对象,表示为当前对象,一般指窗体。例如:

Form1.Print"2008北京奥运会欢迎您"

此语句用print方法在对象为Form1的窗体上显示"2008北京奥运会欢迎您"的字符串。2.3

基本控件2.3.1窗体窗体是一个可以包含其他对象的对象。在界面设计时,把窗体作为一个容器,通过“控件工具箱”往窗体中添加各种控件。用户根据需求在窗体上制作出用户界面,而在程序运行时,窗体就成为用户与应用程序进行交互操作的窗口。需要注意的是,很多时候界面设计时的窗体和所加控件的外观与程序运行时的外观是不完全相同的,因为有些控件在运行时是不显示的,如计时器控件等。窗体的构成2.3

基本控件一、窗体的属性对象表现出来的特征是由对象的各种属性决定的。对窗体的属性进行设置可以在界面设计时通过属性窗口设置窗体的各种属性值,也可以在运行时由代码段给窗体的属性赋值来实现。决定窗体特性的属性在属性窗口内可以查看和设置。2.3

基本控件下面介绍几个常用的属性:(1)Name属性该属性用于设置窗体的名称,在程序设计时区别不同的窗体对象,运行时为只读。(2)Appearance属性该属性值为0时,对象以平面效果显示;值为1时,对象以3D效果显示。(3)AutoRedraw属性值为True时,重画窗体内所有图形;值为False时,要调用一个事件过程才能完成重画工作。(4)BackColor属性和ForeColor属性窗体窗口的背景颜色由属性BackColor确定,窗体窗口的前景色由ForeColor属性确定。用户可以在右侧的属性窗口中找到它们并单击,出现黑色向下箭头时,单击这个箭头打开调色板,选择合适的颜色即可。2.3

基本控件(5)BorderStyle属性BorderStyle属性决定窗体的“边界风格”。它的值有4种选择:0:窗口无边界1:窗口边界为单线条,而且运行期间窗口的尺寸是固定的,不能改变大小。2:窗口边界为双线条,而且运行期间可以改变窗口的尺寸。3:窗口边界为双线条,运行期间不可以改变窗口的尺寸。(6)Caption属性该属性的值就是窗口标题栏中显示的内容。初学者一定要把它与Name属性分开,Name属性的值是在整个程序设计中对象唯一的名字,在程序运行中是只读的,Caption属性的值是显示在界面上的用户看到的文本信息。在程序运行中可以通过代码设计进行更改。(7)ClipControls属性该属性值设置Paint事件的绘图方法是重画整个对象,还是重画新显示的区域。2.3

基本控件(8)ControlBox属性属性值为True时,决定窗体左上角有控制菜单;值为False时窗体左上角没有控制菜单,同时自动将MaxButton与MinButton属性的值都设置为False。(9)Enabled属性该属性值为True和False。决定对象是否响应用户生成事件。若值为True时响应,为False时不响应。(10)Height、Wide、Left和Top属性Height、Wide属性值决定窗体的大小即用于设置窗体的高度和宽度值,Left、Top属性值决定窗体的位置即窗体离屏幕左边与上边的距离。(11)Font属性单击该属性右侧的按钮,在弹出的“字体”对话框中设置窗体上文字的字体、字号和字型等。2.3

基本控件(12)Icon属性该属性的值决定窗体图标,即返回运行时窗体最小化所显示的图标,单击Icon属性右侧的按钮,在打开的“加载图片”对话框中选择图标文件加载图标。(13)MaxButton与MinButton属性该属性的值可以是True和False,MaxButton属性的值决定在窗口上是否有最大化按钮,MinButton属性的值决定在窗口上是否有最小化按钮。(14)Picture属性该属性设置控件中显示的图形,单击属性窗口中的Picture属性右侧的按钮会弹出“加载图片”对话框,选择合适的图像文件,作为窗体背景中要显示的图片。2.3

基本控件(15)Visible属性该属性值为True时窗体可见,值为False时窗体隐藏不可见。(16)WindowsState属性该属性表示窗体执行时以什么状态显示,属性值为0(Normal)时,正常窗口状态,有窗口边界;属性值为1(Minimized)时,最小化状态,以图标方式显示;属性值为2(Maximized)时,最大化状态,无边框,充满整个屏幕。2.3

基本控件二、窗体的事件与方法1、事件VB应用程序是建立在事件驱动基础上的,不同的对象对应不同的事件发生,事件发生时执行相应的代码段的程序来响应该事件。窗体的事件较多,下面主要介绍窗体的常见事件及这些事件激发响应的时间。(1)Click(单击)事件与DblClick(双击)事件Click事件与DblClick事件发生在单击和双击窗体时,注意操作一定要发生在窗体上,而不是窗体中的控件上。(2)Load(装入)与Unload(卸载)事件在启动应用程序,窗体被装入内存中时,就会触发Load事件,而Unload事件发生在从内存中卸载该窗体时。2.3

基本控件(3)Activate(活动)事件与Deactivate(非活动的)事件Activate事件发生在当前窗体被激活时,Deactivate事件发生在非当前窗体被激活时。(4)QueryUnload事件关闭窗体时激发该事件。(5)Resize事件在启动窗体或改变窗体尺寸时激发该事件。2.3

基本控件2、方法方法是VB自身提供的一些特殊的过程,用来完成一定的操作。不同的对象可执行不同的操作,因此,对象调用的方法也有所不同。窗体上常用的方法有:(1)Show方法调用该方法可以将窗体显示在屏幕上。调用格式:[对象名].Show(2)Hide方法调用该方法可以隐藏窗体,但不会卸载窗体。调用格式:[对象名].Hide2.3

基本控件(3)Move方法可以将窗体移动到一定的坐标位置。调用格式:[对象名].MoveLeft,Top,Width,HeightPrivateSubForm1_Click'Form1窗体的Click事件过程

Form1.MoveLeft-10,Top+10,Width-10,Height-1'移动窗体EndSub程序运行时,用户每单击窗体一次,该窗体就会向屏幕的左边,下方各移动10Wip,同时将窗体的宽度高度都减少10Wip,窗体随着用户的单击越变越小,而且越来越靠近左下方。2.3

基本控件(4)Cls方法可以清除窗体内的文本和图形。调用格式:[对象名].Cls(5)Print方法在窗体上显示文字信息。调用格式:[对象名].Print图2-2窗体的运行界面PrivateSubForm_Click()'Form1窗体的Click事件过程Print"2008北京奥运会欢迎您!"

'隐藏窗体Form1EndSub(6)Refresh方法强制全部重绘窗体及控件。调用格式:[对象名].Refresh2.3

基本控件2.3.2命令按钮一、命令按钮的属性程序运行时,对应用程序进行交互控制最简单的方法,就是使用命令按钮。常用的属性有:(1)Name属性该属性用于设置命令按钮的名称,运行时为只读。(2)Style属性此属性设置命令按钮的外观。它的值有以下两种选择。0:Standard按钮以标准的形式显示。1:Graphical按钮以图形的方式显示。(3)Caption属性该属性主要是在按钮上显示文字,告诉用户该按钮的功能。2.3

基本控件(4)Enabled属性该属性用来控制命令按钮对象是否可用,值为True时表示该按钮对象可用,值为False时表示该按钮对象暂时不可用。(5)Default属性此属性将一个命令按钮设置为默认的“活动按钮”,它的值为True时表示该按钮被确定为默认的“活动按钮”,值为False时不是默认的“活动按钮”。(6)Cancel属性此属性设置命令按钮是否为默认的“取消按钮”,它的值为True时表示该按钮被确定为默认的“取消按钮”,值为False时不是默认的“取消按钮”。2.3

基本控件二、命令按钮的事件命令按钮的事件有Click,MouseDown事件和MouseUp等事件,当用鼠标单击命令按钮,触发该按钮的Click事件时,也将触发其他两个事件。三个事件发生的顺序为MouseDown事件,Click事件和MouseUp事件,命令按钮最主要的事件是Click事件。【例2.1】设计一个程序可以通过命令改变窗体大小。窗口界面如图:2.3

基本控件代码编写如下:PrivateSubCommand1_Click()

Form1.WindowState=vbMinimized‘最小化EndSubPrivateSubCommand2_Click()

Form1.WindowState=vbMaximized‘最大化EndSubPrivateSubCommand3_Click()

Form1.WindowState=Normal‘正常EndSub

PrivateSubCommand4_Click()End‘退出EndSub

2.3

基本控件2.3.3文本框控件一、文本框控件的属性文本框控件一般用来接收和显示输入输出信息,用于编辑文本。(1)Name属性此属性的值就是文本框的名字,文本框没有Caption属性。(2)Text属性Text属性既可以输入文本,又可以输出信息,是文本框控件最为重要的属性。2.3

基本控件(3)MaxLenght属性用于设置文本框中输入字符串的长度限制。默认值为0,表示该文本框中字符串的长度由系统限制。(4)Alignment属性设置文本框中文本内容的对齐方式。0为左对齐,1为右对齐,2为中间对齐。(5)MultiLine属性该属性决定文本框中的内容是否可以显示多行。默认值为False。在属性窗口中找到该属性,单击其右侧的下三角按钮,在下拉列表中选择True,,程序运行时就可以在界面上的文本框中输入多行信息。2.3

基本控件(6)FontName属性FontName属性设置字体的类型;FontSize属性设置字体的大小;FontItalic属性设置字体输出的形式是否为斜体;FontUnderline属性是指是否在输出的文本下加下划线,值为0时不加下划线,值为1时加下划线;FontBold属性设置字体是否为粗体。所有这些属性都是用于设置有关文本框输出时文本的文字样式的。例如,要求程序运行时文本框内输出的文字为粗体,字号为20,字体类型是宋体,斜体。(7)ScrollBars属性该属性设置文本框是否添加滚动条。它有以下4种选择。0:不加滚动条。1:只加水平滚动条,此时文本框自动换行功能被取消。2:只加垂直滚动条。3:既加水平滚动条又加垂直滚动条,此时文本框成为一个简单的编辑器。要注意的是,只有当MultiLine属性为True时,ScrollBars属性设置才有效。2.3

基本控件(8)Locked属性设置文本框内容是否可以编辑。取值为True时,可以滚动显示文本框中的内容,但不能更改;取值为False时,可以滚动显示并修改文本框中的内容。(9)PasswordChar属性此属性的值决定程序运行时,用户从键盘上输入字符后,该文本框中显示出来的对应字符,它的默认字符为空字符串。例如,一个文本框Text1,设置它的PasswordChar属性值为“*”,程序运行时,不管利用键盘给界面上的文本框Text1中输入任何字符,它都会将输入的每一个字符在屏幕上显示为“*”。这一属性经常被用在设置密码的情况中,以保证输入密码的安全性。2.3

基本控件(10)SelStart、SelLength和SelText属性在程序运行中,对文本内容进行选择操作时,这三个属性用来标识用户选中的正文。SelStart:选定正文的开始位置,第一个字符的位置是0,依次类推。SelLength:选定的正文长度。SelText:选定的正文内容。设置了SelStart和SelLength属性后,VB会自动将设定的正文送入SelText存放,这些属性一般用于在文本编辑中设置插入点及范围,选择字符串,清除文本等,并且常与剪贴板一起使用,完成文本信息的剪切、拷贝和粘贴等功能。2.3

基本控件【例2.2】设计一个程序可检查密码是否正确,密码为“1234”。代码设计。PrivateSubCommand1_Click()'Command1按钮的Click事件过程Pass=Text1.Text'将文本框Text1内输入的内容赋给变量passIfPass="1234"Then'pass的值与密码"1234"比较

Label2.Caption="密码正确!"'相等,显示正确ElseLabel2.Caption="密码错,请重新输入!"‘不相等,显示错误提示EndIfEndSub2.3

基本控件二、文本框的事件与方法

在文本框所能响应的事件中Change、KeyPress、LostFocus和GotFocus是最重要的事件。(1)Change事件当用户在文本框中输入新的内容或当程序将文本框的Text属性设置新值,从而改变文本框的Text属性时会引发该事件。当用户在文本框中输入一个字符时,就会引发一次Change事件。例如,用户在文本框中输入“hello”一词时,会引发5次Change事件。(2)KeyPress事件当用户按下并释放键盘上的一个键位时,就会引发焦点所在控件的KeyPress事件。此时会返回一个KeyAscii参数到该事件过程中。2.3

基本控件(3)

LostFocus事件此事件是对一个对象失去焦点时发生,移动(Tab)制表键或单击另一个对象都会发生LostFocus事件。该事件过程主要是用来对数据更新进行验证和确认。(4)GotFocus事件该事件与LostFocus事件相反,当一个对象获得焦点时发生。2.3

基本控件文本框中最有用的方法是SetFocus方法,该方法是把光标移动到指定的文本框中,在MicrosoftWindows环境下,任何时候都仅有一个窗口为激活状态,窗体或控件能接收鼠标单击或键盘输入。当对象的标题或标题栏被突出(蓝色)显示时,说明该对象“具有焦点”。焦点能由用户或应用程序设置。利用文本档的SetFocus方法可以设置焦点。其形式如下:

[对象.]SetFocus此方法还可以用于CheckBox、CommandButton和ListBox等控件。2.3

基本控件2.3.4标签控件标签控件在工具箱中的图标为,主要用来显示文本信息。文本框控件没有Caption属性,后面章节要学到的列表框,组合框等控件也没有此属性。常用标签来对以上这些控件进行标注,还可以用标签为窗体添加说明文字,向用户提供操作提示信息等。2.3

基本控件一、标签的属性与事件标签的属性中涉及更多的是标签的外观样式。(1)Name属性用于设置标签的名称。(2)Caption属性用于设置标签中所要显示的内容。(3)BorderStyle属性用于设置标签有无边框。值为0时标签没有边框,值为1时标签有单线边框。(4)AutoSize属性设置标签控件能否自动调整大小来显示所有的内容。值为True时标签控件大小随文本的改变而改变;默认值为False,标签控件大小不会随文本的改变而改变。2.3

基本控件(5)Alignment属性用于设置定在标签框上显示信息的位置,取值为0时为左边对齐,取值为1时为右边对齐。(6)WordWrap属性用于设置标签中所显示的内容是否能够自动换行。(7)Top属性用于设置标签与窗体上边界之间的距离。(8)Left属性用于设置标签与窗体左边界之间的距离。(9)BackColor属性用于设置标签的背景色。(10)ForeColor属性用于设置标签的前景色。2.3

基本控件2.标签事件标签控件可以有Click事件,DblClick事件和Change等事件,但它的主要作用是显示文本,一般不需要编写事件过程代码。2.4综合应用VB程序设计主要有4个基本步骤:界面设计,属性设置,事件代码编写和调试运行程序。【例2.3】求两数之和。(1)界面设计。设计界面如下图所示。窗体上有2个标签,3个文本框和1个命令按钮。其中,两个文本框接收数据,一个文本框显示求和结果。2.4综合应用(3)代码编写PrivateSubCommand1_ClickDimaAs

Integer,

bAsIntegera=Text1.Textb=Text2.TextText3.Text=a+bEndSub(4)调试运行对象名称属性值Label1Caption+Label2Caption=Text1Text空值Text2Text空值Text3Text空值Command1Caption求和(2)属性设置本章小结通过本章的讲述可以看到,窗体,命令按钮,文本框和标签这些VB最基本的对象的属性,事件和方法有其共同的地方,又各自有其特殊的地方。窗体常常是其他控件的载体,它有单击Click,装入Load和卸载Unload事件;文本框主要是用Text属性来完成信息的输入输出的;标签主要用来显示信息,触发事件用的少;命令按钮最常用的事件是单击事件,通过它可以实现与程序的交互操作。第三章VB语言基础本章主要内容

本章主要介绍VB的基础知识、基本语法规则,包括字符集、数据类型、常量、变量、命名规则、运算符、表达式以及常用内部函数。第一节数据类型一、基本数据类型计算机语言都规定了各自的数据类型,VB也不例外。其实,在一个最简单的程序中数据类型是可以不作规定的,但为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,定义合适的数据类型将有节省内存空间的作用。

VB的数据类型比较丰富,主要可以分为两大类:基本数据类型和用户自定义类型。数据类型关键字类型符前缀字节范围数值型整型Integer%int2-32768~32767长整型Long&lng4-2147483648~2147483647单精度型Single!sng4负数:-3.402823E38~1.401298E-45正数:1.401298E-45~3.402823E38双精度型Double#dbl8负数:-1.79769313486232D308~-4.94065645841247D-324正数:4.94065645841247D-324~1.79769313486232D308货币型Currency@cur8-922337203685477.5808~922337203685477.5807字节型Byte无byt10~255日期型Date(time)无dtm801,01,100~12,31,9999(00:00:00~23:59:59)逻辑型Boolean无bln2True与False字符型String

$str0~65535个字符对象型Object无obj4任何对象引用变体型Variant无vnt上述有效范围之一VB的数据类型表第一节数据类型(一)数值型数据数值型数据分为整型和实型两类。整型数据分为整数和长整数,实型数据分为单精度和双精度数据。有时把货币型和字节型数据也归为数值型数据。1.整型(Interger)整数是不带小数点,范围在-32768~32767之间,在机器内使用2个字节存储的整数。在VB中数尾常加“%”表示整型数据,也可省略。如-34,78%。2.长整型(Long)长整数可以超过整数-32768~32767范围,在机器内用4个字节存储。例如:369、-369、+369均表示整数,而369.0就不是整数;-9993977、12345678均表示长整数,而123,456则是非法数。整型数的运算速度快、精确,且占用存储空间较小,但表示数的范围也较小。第一节数据类型3.单精度数(Single)单精度数是带小数点的实数,有效数字为7位,在机器内用4个字节存储。单精度数有多种表示形式:±n.n(小数形式)、±nE±m(指数形式)、±n.nE±m(指数形式)。例如:123.45、0.12345E+3、123.45!都是同值的单精度数。如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。4.双精度数(Double)双精度数也是带小数点的实数,有效数字为15或16位,在机器内用8个字节存储。通常以指数形式表示,指数部分用“D”或“d”表示。在VB中数尾常加“#”表示双精度数据,也可省略。如-374.778#,5.678D+2,-2.67e+3#。第一节数据类型5.货币型数据(Currency)货币型数据是为是一种专门为处理货币而设计的数据类型,是一种特殊的小数。它的精度要求较高,用8个字节存储,保留小数点右边4位和小数点左边15位,如果数据定义为货币型,且其小数点后超过4位,那么超过的部分自动四舍五入。在VB中数尾常加“@”表示货币型数据。如3.4@,565@。6.字节型数据(Byte)字节型数据用来存储二进制数,是范围在0~255之间的无符号整数,不能表示负数,在机器内用一个字节存储。Byte是从0-255的无符号类型。第一节数据类型(二)日期型数据(Date)日期型数据是为表示日期设置的,在机器内用8个字节存储。表示方法是以“#”括起来的字面上被认为是日期和时间的字符,例如:#04/10/2008#、#2004-08-10#、#September1,2004#、#2004-9-1013:30:15#。(三)逻辑型数据(Boolean)逻辑型数据是用来表示逻辑判断结果的,只有真(True)和假(False)两个值,在机器内用2个字节存储。逻辑数据转换成整型数据时,真转换为-1,假转换为0;其他类型数据转换为逻辑数据时,非0数转换为真,0转换为假。第一节数据类型(四)字符型数据字符型数据是用双引号括起来的一串字符,用来定义一个计算机字符组成的序列。例如:“VisualBasic”、“赣南师院”、“123.456”、“everyone”、“”(空字符串)。注意:“”表示空字符串,而“”表示的是有一个空格的字符串;如字符串中本身含有双引号,则用两个连续的双引号表示。例:表示字符串计算机”ABC,正确的表示形式为:“计算机”、”ABC”(五)对象型数据(Object)对象型数据主要以变量形式存在,可以引用应用程序中或某些其他应用程序中的对象。例如:DimobjDbAsObjectSetobjDb=OpenDatabase("c:\Vb6\student.mdb")第一节数据类型(六)变体型数据(Variant)变体型是一种通用的,可变的数据类型,它可以表示以上任何一种数据类型。它是声明变量时的默认类型。Variant数据类型能够存储所有系统定义类型的数据。假设定义a为变体型变量,在变量a中可以存放任何类型的数据,例如:

a=“-BASIC”--‘存放一个字符串

a=10-‘存放一个整数

a=20.5-‘存放一个实数

a=#08/15/2003#‘存放一个日期型数据第一节数据类型二、自定义数据类型

VB不仅提供了系统定义的以上基本数据类型,也允许用户自己定义数据类型,它由若干个基本数据类型组成。自定义类型必须通过Type语句来声明。格式:

Type数据类型名元素名As类型名元素名As类型名元素名As类型名

…EndType第一节数据类型例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。

TypeStudent

XhAsSting

XmAsString*10‘长度为10

XbAsString

NlAsIntegerScoreAsSingle

EndType第二节常量与变量在VB程序中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。常量:在程序运行过程中值始终保持不变的量;变量:在程序运行过程中其值可以改变的量。第二节常量与变量一、常量程序运行过程中,其值始终不变的量称为常量。在VB中常量有直接常量和符号常量两类。

(一)直接常量直接常量是在程序代码中,以明显的方式给出的数据,可直接反映其数据类型;也可在常数值后紧跟类型符表明常数的数据类型。例如:字符串常量:“vb”、“9823”

数值常量:123、332&、11.35、1.23E3

逻辑常量:True、False

日期常量:#03/22/2008##10:12:30#

在VB中还可以使用八进制和十六进制形式表示直接常量。八进制数以&O打头,十六进制数已&H打头,如&O67,&H9AB4等。第二节常量与变量

(二)符号常量符号常量又分为两种:系统内部定义常量和用户定义常量。

1.系统内部定义常量内部或系统定义的常量是VB和控件提供的。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们,如:

Text1.ForeColor=vbRed2.用户定义常量有时用户需要创建自己的符号常量。用户定义常量使用Const语句来给常量分配名字、值和类型。语法为:

[Public|Private]Const<常量名>[As<数据类型>]=<表达式>…

其中,<表达式>由数值常量、字符串等常量及运算符组成,可以包含前面定义过的常量,但不能使用函数调用。第二节常量与变量例如,以下都是正确的用户定义常量:

ConstPI=3.14159265358979PublicConstAMaxAsInteger=9ConstYDate=#4/30/2008#

二、变量在程序运行过程中,其值可以改变的量称为变量。变量由名字和数据类型确定。

(一)声明变量用语句声明,格式如下:

Dim/Public/Private/Static变量名[As数据类型][,变量名[As数据类型]…]第二节常量与变量变量可被声明为在不同范围内使用,如下所示:(1)普通局部变量:声明此类变量的格式如下:Dim变量名[As数据类型名](2)静态局部变量:声明此类变量的格式如下:Static变量名[As数据类型名](3)模块变量:一般在声明此类变量时,使用如下格式:Private变量名[As数据类型名](4)全局变量:一般在声明此类变量时,使用如下格式:Public变量名[As数据类型名]第二节常量与变量

(二)变量赋值在声明一个变量后,要先给变量赋上一个合适的值才能够使用。给变量赋值的格式如下:

变量名=表达式可以使用一个表达式的数值来给某个变量赋值。一个普通的常量、变量均属于简单的表达式。例如,给一个变量X,可以使用如下几种表达式进行赋值:

X=5X=YX=X+1第二节常量与变量(三)引用变量在需要使用变量中的值时,必须引用变量的名字来取出其中存放的数值。例如,将变量Y的值赋给变量X,就必须引用变量Y,将其中的数值取出赋给X,也即将变量Y的值存放在变量X的内存空间中。使用代码如下:

X=Y第三节运算符和表达式运算符是代表VB某种运算功能的符号。VB程序会按运算符的含义和运算规则执行实际的运算操作。由运算符将相关的常量、变量、函数等连接起来的式子即为表达式。

一、运算符

VB程序会按运算符的含义和运算规则执行实际的运算操作。VB中的运算符包括:赋值运算符、算术运算符、连接运算符、关系运算符、逻辑运算符。第三节运算符和表达式

(一)赋值运算符赋值运算符是用于给变量设置值,数组或对象的属性赋值的,用“=”表示。格式:Variable=表达式其中:Variable可以是变量,数组或对象的属性。表达式可以是常量,变量或表达式,但必须有确定的值。例如:

DimaAsString*5a=”China”‘将”China”赋给字符型变量a第三节运算符和表达式(二)算术运算符算术运算符主要用于算术运算。VB中有8个算术运算符,见下表:运算符含义示例结果优先级^乘方5^2251-负号-7-72*乘3*7213/除2/50.43\整除(直接取整)2\504Mod取模(求余)7Mod215+加4+8126-减2.3-11.36第三节运算符和表达式(三)连接运算符连接运算符主要用于两个字符串的连接,见下表:运算符含义示例结果&连接两个字符串“China”&”jiangxi”“Chinajiangxi”+计算和,也可连接字符串“12”+”34”“1234”第三节运算符和表达式(四)关系运算符关系运算符用来确定两个表达式之间的关系。关系运算符含义示例结果=等于“abc”=”ABD”False>大于(13+5)>2True>=大于等于“abc”>=”abd”False<小于“abc”<”abd”True<=小于等于“123”<=”4”True<>不等于“a”<>”A”TrueLike字符串匹配“abcde”Like”*cd*”TrueIs对象引用比较第三节运算符和表达式(五)逻辑运算符逻辑运算符主要用于逻辑运算,其操作数经常是关系表达式或逻辑型数据。运算符含义说明示例结果优先级Not取反操作数为真时,结果为假,否则为真Not(3>5)True1And与两个操作数都为真时,结果为真,否则为假(“a”>”b”)And(3<5)False2Or或两个操作数之一或全为真时,结果为真,否则为假(2<>3)Or(“x”>”y”)True3Xor异或两个操作数为一真一假时,结果为真,否则为假(6=7)Xor(7>2)True3Eqv等价两个操作数相同时,结果为真,否则为假(3>5)Eqv(“a”<”b”)False4Imp蕴涵第一操作数为真,第二操作数为假时,结果为假,否则为真(5=5)Imp(10>20)False5第三节运算符和表达式二、表达式由运算符将常量、变量、函数等连接起来的有意义的式子即为表达式。(一)表达式书写规则在VB中书写表达式时,应遵循下列规则:1.乘号不能省略。2.不能使用方括号或花括号,只能用圆括号。圆括号可以出现多个,但要配对。3.表达式从左至右在同一基准上写,无高低、大小之分。第三节运算符和表达式(二)运算符优先级当一个表达式中出现多种不同类型的运算符时,不同类型的运算符优先级别如下:函数运算优先于括号算术运算符字符运算符关系运算符逻辑运算符优先于优先于优先于优先于第四节常用内部函数内部函数是语言系统本身把一些常用的操作事先编写成一段程序代码并封装起来,用户通过函数名调用这段程序并返回一个函数值。在VB6.0中,有两类函数:内部函数(标准函数)和自定义函数。对于VB的内部函数,按其功能可分为数学函数、字符串函数、转换函数、判断函数、日期时间函数等。第四节常用内部函数一、数学函数:数学函数主要用于各种数学运算函数含义示例结果Abs返回数的绝对值Abs(-3.2)3.2Atn返回弧度的反正切值Atn(1).785398163397448Cos返回弧度的余弦值Cos(1).54030230586814Exp返回e的指定次幂Exp(1)2.71828182845905Fix返回数的整数部分(直接取整)Fix(-50.6)-50Int返回不大于给定数的最大整数Int(-50.6)-51Log返回数的自然对数Log(1)0Rnd返回0~1之间的随机数Rnd0~1之间的随机数Sgn返回数的符号值Sgn(-2)-1Sin返回弧度的正弦值Sin(1).841470984807897Sqr返回数的平方根值Sqr(9)3Tan返回弧度的正切值Tan(1)1.5574077246549第四节常用内部函数二、字符串函数:用于处理字符串信息。若函数的返回值为字符型数据,则常在函数名后加"$"字符。函数含义示例结果Instr([N1,]C1,C2[,M])返回C2在C1中首次出现的位置(从N1开始)Instr(4,”xxpxxpXp”,“p”)6*InstrRev(C1,C2[,N1][,M])与Instr类似,只从尾部查找Instr(“ASDFDFDFSDSF”)5*Lcase(C)将C从大写字母变为小写字母LCASE(“Hello”)“hello”Left$(C,N)将C中左边起取N个字符Left$(“World”,2)“Wo”Len(C)返回C的长度Len(“name”)4Ltrim$(C)删除C左端的空格Ltrim$(“name”)“name”*Replace(C,C1,C2[,N1][,N2][,M])在C中从1或N1开始C2替换C1共N2次Replace(“asabababsadb”,“ab”,“*”,2)“as***sadb”第四节常用内部函数Right$(C,N)从C中右边起取N个字符Right$(“World”,2)“1d”Rtrim$(C)删除C右端的空格Rtrim$(“name”)“name”Space$(N)返回N个空组成的字符串Space$(3)“”StrComp(C1,C2[,M])返回C1,C2比较的结果,相等时为0,小于时为-1,大于时为1StrComp(“AB”,“ab”)-1String$(N,C)返回N个C中第一个字符组成的字符串String$(2,“xyz”)“xx”*StrReverse(C)将C逆序排列StrReverse(“xyz”)“zyx”Trim(C)删除C的左右空格Trim(“na”)“na”*Ucase(C)从C中小写字母改为大写字母Ucase(“xyz”)“XYZ”第四节常用内部函数三、转换函数转换函数主要用于转换。分类型转换函数和数制转换函数两类。(一)类型转换函数类型转换函数主要用来实现不同类型数据之间的转换。分为强制类型转换函数,ASCII码转换函数和直接类型转换函数。1.强制类型转换函数:是将一个表达式的数据类型强制转换成要求的数据类型。2.ASCII码转换函数:是用于ASCII码值和字符之间转换的函数。函数功能示例结果Asc返回字符串首字符的ASCII码值Asc(“China”)67Chr返回一个值对应的ASCII码字符Chr(100)“d”第四节常用内部函数3.直接类型转换函数:是实现字符型和数值型之间类型转换的函数。函数功能示例结果Str将数值型转换为字符型Str(323.1)“323.1”Val返回包含于字符串之内的数字(忽略非数字开始的字符,但可识别进位制符&O和&H)Val(“3231-56”)Val(“&HFFFF”)3231-1第四节常用内部函数(二)数制转换函数数制转换函数是将一个数值表达式或字符型表达式转换为八进制或十六进制数值的函数。四、判断函数判断函数主要用于判断,其结果必为逻辑型数据。函数功能示例结果IsDate(表达式)判断表达式是否为日期型IsDate(#1985-3-21#)TrueIsEmpty(变量)判断变量是否被初始化IsEmpty(Null)FalseIsNumeric(表达式)判断表达式是否为数值型IsNumeric(45.23)TrueIif(表达式,N1,N2)判断表达式的真假,如为真,返回N1的值,否则返回N2的值Iif(X>=60,“合格”,“不合格”)取决于X的值,X>=60时,返回“合格”,否则返回”不合格”第四节常用内部函数五、日期和时间函数日期函数用于进行日期和时间的处理。函数名功能实例结果Date[()]返回系统日期Date$()2008-4-28Day(C|N)返回日期代号(1~31)Day(“08,04,28”)28Hour(C|N)返回小时(0~24)Hour(#1:12:20PM#)13(下午)Minute(C|N)返回分钟(0~59)Minute(#1:12:20PM#)12Month(C|N)返回月份(1~12)Month(“08,04,28”)4Second(C|N)返回秒(0~59)Second(#1:12:20PM#)20Now()返回系统日期和时间Now2008/4/2810:40:01PMTime[()]返回系统时间Time10:40:01PMWeekDay(C|N)返回星期数(1~7)星期日为1,星期一为2WeekDay(“08,04,28”)2Year(C|N)返回年代号(1753~2078)Year(365)返回相对于1899/12/30后365天的年代号1900年第四节常用内部函数六、其他函数(一)格式输出函数Format()(二)Shell()函数(三)Dir[(路径[,属性])]第五节编码规则一、VB的语言元素(一)字符集VB的字符集包括:数字,英文字母和特殊符号。数字

:0—9英文字母:26个英文字母的大小写

a—z和

A—Z特殊字符:!#$%&@^'()*+,-./\?<=>[]_{}︱~:;〞space注:在代码窗口输入程序时,除汉字外,其余符号不能以全角或中文方式输入,而只能以英文方式键入作为语言成分的字符。第五节编码规则(二)词汇集词汇符号是程序设计语言中具有独立意义的最基本结构。词汇符号包括:运算符、界符、关键字、标识符、各类型常数。1.运算符和界符算术运算符:

+

-

*

/

\

MOD

^字符运算符:

&

+比较运算符:

>

>=

<

<=

=

<>逻辑运算符:

NOT

AND

OR

XOR

EQV

IMP其它界符

:!#

$%

@(

)

,

.

'

?

[

]_{

}︱~

:;〞space2.关键字又称保留字,是VB保留下来的作为程序中有固定含义的标识符3.标识符标识符是程序员为变量、常量、数据类型、过程、函数、类等定义的名字。利用标识符可以完成对它们的引用。第五节编码规则二、编码规则(一)VB代码书写规则1.程序中不区分字母的大小写,Ab

与AB等效;2.系统对用户程序代码进行自动转换:对于VB中的关键字,首字母被转换成大写,其余转换成小写若关键字由多个英文单词组成,则将每个单词的首字母转换成大写对于用户定义的变量、过程名,以第一次定义的为准,以后输入的自动转换成首次定义的形式第五节编码规则(二)语句书写规则1.在同一行上可以书写多行语句,语句间用冒号(:)分隔2.单行语句可以分多行书写,在本行后加续行符:空格和下划线

3.一行允许多达255个字符第六节综合应用例3.1使用数学函数的事例。编写的窗体click事件过程代码如下:PrivateSubform_click()x=-123y=456.789a=Abs(x)-Sgn(x)*xb=Int(y/100)'求百位数

c=y-Int(y/100)*100'剔除百位数

d=Int(y*10+0.5)/10'舍入到小数后第一位

Printa,b,c,dEndSub运行程序后单击窗体,如图所示:第六节综合应用例3.2使用字符串函数示例。先从字符串a中找出某个指定字符(本例为空格),再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下:

PrivateSubForm_click()DimaAsString,bAsString,cAsString

DimnAsStringa="visualbasic"n=InStr(a,"")'查找空格位置

b=Left(a,n-1)'取左边部分

c=Mid(a,n+1)'取右边部分

PrintbPrintcEndSub第六节综合应用例3.3使用转换函数的示例。编写的窗体click事件过程代码如下:PrivateSubForm_click()x="123":y=123a=Chr(Asc(x)+5)b=Str(Val(x)+5)c=Val(Str(y)+"5")printaprintbprintcEndSub第六节综合应用例3.4给定一个两位正整数(如36),要求交换个位数和十位数的位置,把处理后的数显示在窗体上。编写的窗体单击事件过程代码如下:

PrivateSubForm_Click()DimxAsInteger,aAsIntegerDimbAsInteger,cAsIntegerx=36a=Int(x/10)'求十位数

b=xMod10'求个位数

c=b*10+a'生成新的数

Print"处理后的数:";cEndSub本章小结1.VB的数据类型比较丰富,可以分为两大类:基本数据类型和用户自定义类型。本章详细阐述了VB使用的基本数据类型。2.在VB程序中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。还详细阐述了变量的作用域,即变量并不是在任何地方都可以使用的,要注意它的有效范围。3.VB程序会按运算符的含义和运算规则执行实际的运算操作。本结详细阐述了VB使用的常用运算符及表达式的组成。4.在VB6.0中,有两类函数:内部函数(标准函数)和自定义函数。函数是运算中必不可少的工具,正如数学中提到的函数一样,在VB6.0中有可以直接使用的内部函数,也可以根据需要自己定义,本章主要学会内部函数的使用。回顾数据类型1常量与变量2运算符与表达式3常用内部函数4第四章程序结构程序结构第一节顺序结构第二节选择结构第三节循环结构本章目录1、掌握数据的输入输出,使用顺序结构开发程序;2、使用选择结构开发程序;3、使用循环结构开发程序。教学目标

选择结构及循环结构的实现及其应用。重点

选择结构的嵌套及多重循环结构

难点多用,多练,举一反三,学以致用学习方法算法的概念为解决一个问题而采取的方法和步骤,就称为“算法”。方法1:1+2,+3,+4,一直加到100加99次方法2:100+(1+99)+(2+98)+…+(49+51)+50=100+49×100+50加51次对同一个问题,可有不同的解题方法和步骤例:求

2.3算法的特性有穷性:包含有限的操作步骤。确定性:算法中的每一个步骤都应当是确定的。

有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息。有一个或多个输出:算法的目的是为了求解,“解”就是输出。

有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。1.一个算法应该具有以下特点:2.三种基本结构

Bohra和Jacopini提出了以下三种基本结构:

顺序结构、选择结构、循环结构用这三种基本结构作为表示一个良好算法的基本单元。第一节顺序结构在VB中,有三种结构可以控制程序的流程,分别是顺序结构,分支结构和循环结构。它们是结构化程序设计的基本结构。顺序结构是最简单的一种程序结构,按照语句的书写顺序执行的结构,只有一个入口和一个出口。ABC一、几种基本语句

一.赋值语句形式:[LET]变量名=表达式作用:将表达式的值赋值给变量名.

一般用于给变量赋值或对控件设定属性值.

例:sRate!=0.1Text1.Text="欢迎使用VisualBasic6.0”

当表达式的类型与变量的类型不一致时,强制转换成左边的精度

iA%=10/3iA中的结果为3

注意:虽然赋值号与关系运算符等于号都用“=”表示,VB系统会根据所处的位置自动判断是何种意义的符号。下面看几个例子:DimAl,A2,A3,A4A1="您好,"'给AI赋常量A2=Al'给A2赋变量的值A3=A2&"同志"'给A3赋表达式的值,“您好,同志”Al=10:A2=8:A3=-4A4=Sqr(A2*A2-4*Al*A3)'给A4赋函数值'给文本框Text1的文本属性赋值,在文本框中显示字符串Text1.text="您好!"‘给按钮Command1的显示属性赋值,使其不可见Command1.Visible=FalseDimstrNameAsString*40,strS1AsString*40相应的语句如下:strName=

InputBox(“请输入你的姓名”+vbCrLf+“然后单击确定”,“输入框”)也可以:strS1=“请输入你的姓名”+Chr(13)+Chr(10)+“然后单击确定”strName=

InputBox(strS1,“输入框”,,100,100)当键盘输入“王晓明”后,变量

温馨提示

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

评论

0/150

提交评论