VB程序设计主讲:陈秀敏第1章VB程序设计开发环境1.1VB的特点和版本1.1.1VB的特点1、可视化编程传统程序设计是通过编写程序代码设计用户界面,VB提供可视化设计工具,界面不用编写代码设计。2、面向对象的程序设计把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。每个对象是以图形方式显示在界面上,都是可视的。3、结构化程序设计语言VB是在basic语言基础上发展起来,具有高级语言的语句结构,VB是解释语言,在输入时解释系统将高级语言翻译成机器指令。4、事件驱动编程机制通过事件来执行对象的操作,一个对象可产生多个操作。5、访问数据库1.1.2VB的版本1991年推出1.0版本,98年推出6.0。分三种版本(1)学习版。(2)专业版。(3)企业版。1.2VB的启动与退出1.3主窗口1.3.1标题栏和菜单栏1.3.2工具栏1.4其它窗口1.4.1窗体设计器和工程资源管理器1、窗体设计器窗口简称form。2、工程资源管理器(1)工程文件和工程组文件工程文件的扩展名为.vbp,每个工程对应一个工程文件,当一个程序有2个以上工程时构成工程组,工程组文件扩展名为.vbg,用文件菜单下的新建工程命令可以建立一个新的工程。(2)窗体文件扩展名为.frm,每个窗体对应一个文件,执行工程菜单中添加窗体或移除窗体对窗体进行操作。(3)标准模块文件扩展名为.bas,不属于任何一个窗体,通过工程菜单中的添加模块建立。(4)类模块文件扩展名为.cls。VB中有预定义的类,用户根据需要可定义自己的类。(5)资源文件扩展名为.res,同时存放文本,图片,声音等多种资源,是纯文本文件。1.4.2属性窗口和工具箱窗口1、属性窗口2、工具箱窗口分内部控件(标准控件)和activex控件。启动VB后,只有内部控件。第二章对象及其操作2.1对象2.1.1VB的对象1、什么是对象对象是系统运行中的实体。2、对象属性对象的特性,不同对象有不同的属性,如对象常见的标题(caption)、名称(name)、颜色(color)、字体大小(fontsize)是否可见(visible)等。对象属性可以设置,格式如下:对象名.属性名称=新设置属性值。例:有一对象,名称为FORM1,它有一属性caption,现把它的属性改为VB程序设计。FORM1.caption=“VB程序设计”3、对象事件所谓事件(EVENT),是由VB预先设置好的、能够被对象识别的动作,如CLICK(单击),DBLCLICK(双击)、(LOAD)装入等。不同对象能够被识别的事件不一样。事件过程的一般格式如下:Privatesub对象名称_事件名称()事件响应程序代码Endsub例:在窗体上建立一命令按钮,单击后把窗体的标题改为第一个VB代码。PrivateSubCommand1_Click()Form1.Caption=“第一个VB代码EndSub4、对象方法格式:对象名称.方法名称如:FORM1.print“goodmorning”含义:在窗体上打印goodmorning。有时如果对象是窗体,此时对象名称可省略。2.1.2、对象属性设置一、操作过程:用鼠标左键单击对象,则属性窗口中显示该对象的属性,如果属性窗口没出现则按右键选属性窗口。二、属性值的修改1、直接键入值2、通过下拉列表3、利用对话框(有三个…)4、也可以在程序中修改2.2窗体2.2.1窗体的结构与属性结构:属性:1、Autoredraw自动重画对象.Autoredraw[=BOOLEAN],BOOLEAN取值为TRUE或FALSE,为真时则当一个窗体被其它窗体覆盖、又回到该窗体时,将自动刷新或重画该窗体上的所有图形。为假时必须通过事件来设置这一操作。默认值为假。2、BACKCOLOR背景颜色3、Borderstyle边框类型4、caption标题5、Controlbox控制框设定标题栏状态。为真假两种状态,决定是否显示窗体系统菜单的右边按钮。6、Enabled允许框用于激活或禁止对象,每个对象都有,属性值为真假两个值。7、字形属性设置有字号、粗细、下划线等。8、forecolor前景色9、Height、Width(对象的高,宽)10、Icon(图标)设置最小化时的图标(就是窗体的图标),一般对应扩展名为.ico的图标文件。11、Maxbutton、Minbutton最大、最小化按钮单位是twip,具体换算是:1像素=15twip12磅=20twip1英寸=1440twip12、name名称对象的名称,用在对象代码中,一般不改动,如果改动代码中的名称也要做相应改动。13、Picture图形用来在对象中显示一个图形,该属性适应于窗体图像框等。14、Top、Left格式:对象.TOP[=y]对象.left[=x],设置对象距窗体顶边和左边的距离,如果对象为窗体,则设置窗体与屏幕的距离。15、Visible控制对象的可见性。16、Windowstate窗口状态取值0,1,2,决定窗口运行时正常状态,最小化,最大化。2.2.2窗体事件1、click事件单击窗体时触发的事件,当程序执行时,单击窗体时执行窗体事件过程Form_click。2、Dblclick事件双击窗体时执行窗体事件过程Form_dblclick。双击实际触发单击和双击两个事件。3、Load事件把窗体装入工作区的事件,自动执行。一般用来对属性或变量初始化。4、Unload事件关闭窗体或执行unload语句时触发的事件。Debug.Printfdsf5、Activate(活动)、Deactivate(非活动)事件当窗体变为活动窗口时触发Activate事件,而在另一个窗体变为活动窗口前触发Deactivate事件。6、Paint(绘画)事件(在autoredraw为FALSE时有效)窗体被移动或放大时,或窗口移动覆盖一个窗体时触发。2.3控件2.3.1标准控件(内部控件)启动VB后,工具栏中列出的是标准控件。另外VB还有Activate控件(扩展名为.ocx的文件)和可插入对象,如插入WORD对象的控件等。2.3.2控件的命名和控件值1、控件的命名窗体或控件的名字就是name值,一般情况下是默认值,如form1,command1,text1等。2、控件值一般情况下,通过控件.属性的格式设置一个控件的属性值。如:text1.text=“VB程序设计”。每个控件都有一个默认值,在书写代码时可省略,如:text1=“计算机”2.4控件的画法和基本操作2.4.1控件的画法1、单击工具箱中的工具按钮,该图标反相显示。2、把光标移到窗体上,按往鼠标左键拖动。2.4.2控件的基本操作1、控件的缩放和移动2、控件的复制和删除控件的复制:复制控件后形成控件数组,如复制三个命令按钮,表示第2个如下:Command1(1).Caption=“复制练习3、通过属性窗口改变对象的位置和大小4、选择控件下标,从0开始第3章简单程序设计3.1VB中的语句语句不分大小写,输入后系统会命令或函数中的第1个字母变为大写,其它为小写。一般一行一条语句,如果一行多条语句,语句之间用:隔开,如果本行后是下划线(_),表示下一行接本行。1、赋值语句格式:[let]目标操作符=源操作符如:lettotal=99+1‘把100给totalRe$=“string”‘把“string”给Re说明:(1)赋值语句兼有计算功能(2)“=”不是等号,如A=1:A=A+3。(3)目标操作符和源操作符类型必须一致。(4)LET可省略。2、注释语句格式:REM注释内容‘注释内容不执行,起解释作用。3、暂停语句格式:STOP暂停程序执行,一般在程序调试过程中使用。4、结束语句格式:END功能:结束程序的运行。3.2编写简单的VB应用程序3.2.1用VB开发应用程序的一般步骤1、建立用户界面用户界面由窗体和控件组成。启动VB后屏幕上将显示一个窗体,名称为form1。2、设置窗体和控件的属性3、编写代码如何编写代码,每个窗体和控件都可以编写代码。方法:双击窗体或控件,选对象和方法。3.2.2编写VB应用程序要求:在屏幕上开辟一个窗口,窗口的上有一个文本框,三个命令按钮,三个命令按钮的标题分别是:请单击此按钮,清屏,结束程序。设置合适的字体,字号。当程序运行单击第一个命令按钮时文本框的内容变为“欢迎使用VB中文版”,当单击第二个命令按钮时清空文本框,单击第三个命令按钮结束程序。设计过程:1、添加窗体及控件:新建一标准工程,在工程的form1窗体中添加一个文本框,三个命令按钮。2、修改属性:修改文本框的字体中的font属性,选择适当的字体、字号。分别设置三个命令按钮的caption的值分别改为:请单击此按钮,清屏,结束程序,并适当修改字体、字号。3、添加代码:双击第一个命令按钮,选单击过程(click)添加命令代码:TEXT1.FONTSIZE=20TEXT1.TEXT=“欢迎使用VB中文版”对每二个命令按钮的单击事件添加代码:PrivateSubCommand2_Click()Text1.Text=““‘此行由用户添加EndSub每三个命令按钮的单击事件代码:PrivateSubCommand3_Click()End‘此行由用户添加EndSub3.2.3代码编辑器从工具菜单中选“选项”。3.3程序的保存、装入和运行3.3.1保存程序一个工程中可以包括多个窗体,保存时系统要提示保存的窗体名字和工程名字。3.3.2程序的装入(打开)从文件菜单中选打开工程。或双击工程文件。3.3.3程序的运行1、解释运行通过“运行”菜单中的“启动”命令或工具栏中启动或F5。2、生成可执行文件过程如下:(1)执行“文件”菜单中的生成工程名.exe文件。(2)找到此文件运行。第四章VB程序设计基础4.1数据类型4.1.1基本数据类型字符串,数值型,字节,货币,对象,日期,布尔型和变体类型。1、字符串(String)用双引号括起来的字符序列,其中长度为0的字符串为空串。例:“计算机”,“AFFFDS1231”,””。2、数值分为整型和浮点型。整型分为整数和长整数,浮点型分为单精度和双精度。(1)整型数整型数是不带小数点和指数符号的数。。整数:integer,整数占两个字节,范围为-32768~32767。。长整数:long,占4个字节(2)浮点数实数,由三部分组成:符号,指数及尾数,单精度(single)和双精度(double)的指数形式分别用“E”,”e”和“D”,”d”表示。如:123.45e3相当于123.45乘以10的3次幂。。单精度型:占4个字节,符号位占1位,指数占8位,尾数23位,一个附加的隐含位,精度7位,如:-2.123456e12。。双精度:占8个字节,精度15~16位。3、货币(currency)用来表示货币,占8个字节,小数点后4位,小数点固定。4、变体(variant)可变,可以表示任何值。5、其他数据类型(1)字节(byte)占一个字节,值0~255。(2)布尔型(boolean)逻辑值,占2个字节,只取两个值true或false。(3)日期型(date)占8个字节,格式mm/dd/yy或mm-dd-yy,日期文字必须用#括起来,如:#january1,2002#。Print#10/20/19981:20:30PM#(4)对象型(object)占4个字节,表示图形或其他对象。(5)decimal数据类型占12个字节,无符号整型,只能给变体类型赋值,不能定义成此类型的变量。4.1.2用户定义的数据类型格式:TYPE数据类型名数据类型元素AS类型名……………………….ENDTYPE数据类型名是要定义的数据类型的名字,定义后可用此类型定义变量。此方法是定义含多个元素的一种类型。例:TYPEDARYEARASINTEGERRMONTHASSTRING*3‘字符型,由3个字符组成。RDAYASINTEGERENDTYPE说明:(1)记录类型中的元素可以是字符串,但必须是定长度。(2)记录类型的定义必须放在模块(包括标准模块和