1、兰州理工大学兰州理工大学计算机与通信学院计算机与通信学院2第一章第一章 Visual Basic程序设计概述程序设计概述1.1 概述1.2 运行环境、安装和启动1.3 VB集成开发环境2022年7月30日星期六兰州理工大学计算机与通信学院31.11.1概述概述一、一、VBVB简介:简介:Visual Basic是基于Basic的可视化的程序设计语言。Visual Basic 6.0中文版是Microsoft公司最新推出的可视化开发工具,是一种基于Windows操作系统的新型的现代程序设计语言,是一种易于学习、功能强、效率高的编程工具。任何具有初步程序设计基础的人,都能在很短的时间内掌握好VB,
2、并有效地编写出各种Windows程序。VB6.0VB6.0包括三个版本:学习版、专业版、企业版包括三个版本:学习版、专业版、企业版2022年7月30日星期六兰州理工大学计算机与通信学院4二、二、VB主要功能特点:主要功能特点:1.具有面向对象面向对象的可视化可视化设计工具2.事件驱动事件驱动的编程机制3.提供了易学易用易学易用的应用程序集成开发环境4.结构化结构化的程序设计语言5.支持多种数据库多种数据库系统的访问6.OLE技术。VB核心核心就是其对对象的链接与嵌入(OLE)的支持。7.Active技术8.完备的help联机帮助功能三、VB6.0新功能特点2022年7月30日星期六兰州理工大学
3、计算机与通信学院51.21.2运行环境、安装和启动运行环境、安装和启动一、运行环境:二、安装:安装文件:setup.exe三、启动:方法:方法:1、双击桌面VB快捷方式。2、“开始”程序Microsoft Visual Studio 6.0|Microsoft Visual Basic 6.0 3、“开始”运行C:program files Microsoft Visual Studio VB98VB6.exe2022年7月30日星期六兰州理工大学计算机与通信学院6进入进入VB6.0窗口窗口2022年7月30日星期六兰州理工大学计算机与通信学院71.3 VB集成开发环境工具箱工程窗口属性窗口窗
4、体布局立即窗口窗体窗口2022年年7月月30日星期六日星期六兰州理工大学计算机与通信学院81.主窗口主窗口 应用程序窗口应用程序窗口,由标题栏、菜单栏和工具栏组成由标题栏、菜单栏和工具栏组成VB的三种工作模式的三种工作模式(标题栏总显示当前模式)(标题栏总显示当前模式)(1)设计模式:)设计模式:创建应用程序的大多数工作都是在设计创建应用程序的大多数工作都是在设计时完成的。在设计时,可以设计窗体、绘制控件、编写代码时完成的。在设计时,可以设计窗体、绘制控件、编写代码并使用并使用“属性属性”窗口来设置或查看属性设置值。窗口来设置或查看属性设置值。(2)运行模式:)运行模式:代码正在运行的时期,用
5、户可与应用程代码正在运行的时期,用户可与应用程序交流。可查看代码,但不能改动它。序交流。可查看代码,但不能改动它。(3)中断模式:)中断模式:程序在运行的中途被停止执行时。在中程序在运行的中途被停止执行时。在中断模式下,用户可查看各变量及不是属性的当前值,从而了断模式下,用户可查看各变量及不是属性的当前值,从而了解程序执行是否正常。还可以修改程序代码,检查、调试、解程序执行是否正常。还可以修改程序代码,检查、调试、重置、单步执行或继续执行程序。重置、单步执行或继续执行程序。2022年7月30日星期六兰州理工大学计算机与通信学院92.窗体窗体(Form)设计窗口设计窗口 窗体设计窗口是屏幕中央的
6、主窗口,它可以作窗体设计窗口是屏幕中央的主窗口,它可以作为自定义窗口用来设计应用程序的界面。用户可以为自定义窗口用来设计应用程序的界面。用户可以在窗体中添加控件、图形和图片来创建所希望的外在窗体中添加控件、图形和图片来创建所希望的外观。每个窗口必须有一个的窗体名字,建立窗体时观。每个窗口必须有一个的窗体名字,建立窗体时缺省名为缺省名为Form1,Form2,.。窗体网格点间距的设置:设计模式窗体网格点间距的设置:设计模式-”工具工具”选项选项”应注意窗体名(代码中使用的标识对象名称)和窗应注意窗体名(代码中使用的标识对象名称)和窗体文件名的区别体文件名的区别 2022年7月30日星期六兰州理工
7、大学计算机与通信学院10窗体设计窗口窗体名窗体文件名2022年7月30日星期六兰州理工大学计算机与通信学院113.代码代码(code)窗口窗口 在设计模式中,通过双击窗体或窗体上任何对象或通过在设计模式中,通过双击窗体或窗体上任何对象或通过“工程资源管理器工程资源管理器”窗口中的窗口中的“查看代码查看代码”按钮来打开代码编按钮来打开代码编辑器窗口。代码编辑器是输入应用程序代码的编辑器。辑器窗口。代码编辑器是输入应用程序代码的编辑器。代码窗口主要包括:代码窗口主要包括:a.对象列表框对象列表框 b.过程列表框过程列表框 c.代码框代码框 d.过程查看按钮过程查看按钮 e.全模块查看按钮全模块查看
8、按钮2022年7月30日星期六兰州理工大学计算机与通信学院122022年7月30日星期六兰州理工大学计算机与通信学院134.属性属性(properties)窗口窗口 属性是指对象的特征,如大小、标题或颜色等属性是指对象的特征,如大小、标题或颜色等数据。在数据。在Visual Basic6.0设计模式中,属性窗口列出设计模式中,属性窗口列出了当前选定窗体或控件的属性的值,用户可以对这了当前选定窗体或控件的属性的值,用户可以对这些属性值进行设置。些属性值进行设置。2022年7月30日星期六兰州理工大学计算机与通信学院14 工程是指用于创建一个应用程序的文件的集合。工工程是指用于创建一个应用程序的文
9、件的集合。工程资源管理器列出了当前工程中的窗体和模块程资源管理器列出了当前工程中的窗体和模块 5.工程资源管理器工程资源管理器(project explorer)(project explorer)窗口窗口2022年7月30日星期六兰州理工大学计算机与通信学院15l工程文件的扩展名为.VBPl工程资源管理器下面的列表窗口,以层次列表形式组成这个工程的所有文件。l主要包括三种类型的文件:u窗体文件(窗体文件(.FRM)存储窗体上使用的所有控件对象和有关的属性、对象相应的事件过程、程序代码。u标准模块文件(标准模块文件(.BAS)所有模块级变量和用户自定义的通用过程(可以被应用程序各处调用的过程)
10、u类模块文件(类模块文件(.CLS)包含用户对象的属性及方法。2022年7月30日星期六兰州理工大学计算机与通信学院16 工具箱提供一组工具,工具箱提供一组工具,用于设计时在窗体中放置用于设计时在窗体中放置控件生成应用程序的用户控件生成应用程序的用户接口。系统启动后缺省的接口。系统启动后缺省的General工具箱就会出现工具箱就会出现在屏幕左边,上面有常用在屏幕左边,上面有常用“部件部件”6.工具箱工具箱(ToolBox)(ToolBox)窗口窗口2022年7月30日星期六兰州理工大学计算机与通信学院17l定制工具箱定制工具箱 添加选项卡:对添加的选项卡加控件的方法:(1)在已有的选项卡中拖动
11、所需控件 (2)激活选项卡-”工程”-“部件”2022年7月30日星期六兰州理工大学计算机与通信学院18 窗体布局窗口显示在屏幕右下角。用户可使窗体布局窗口显示在屏幕右下角。用户可使用表示屏幕的小图像来布置应用程序中各窗体的位用表示屏幕的小图像来布置应用程序中各窗体的位置。这个窗口在多窗体应用程序中很有用,因为这置。这个窗口在多窗体应用程序中很有用,因为这可以指定每个窗体相对于主窗体的位置。可以指定每个窗体相对于主窗体的位置。7 7窗体布局窗口窗体布局窗口2022年7月30日星期六兰州理工大学计算机与通信学院19l立即窗口:立即窗口:中断模式中调试应用程序。l对象浏览窗口:对象浏览窗口:可查看
12、工程定义的模块或过程,也可查看对象库、类型库、类、方法、属性及可在过程中使用的常数。2022年7月30日星期六兰州理工大学计算机与通信学院20第二章第二章 简单的简单的VB程序设计程序设计2.1 程序设计方法的发展2.2 对象的概念2.3 建立简单的应用程序2.4窗体和基本控件2.5工程的管理及环境设置 2.6制作成安装盘 2.7使用帮助系统 2022年7月30日星期六兰州理工大学计算机与通信学院212.1 2.1 程序设计方法的发展程序设计方法的发展1.1.初期的程序设计初期的程序设计 高运行效率、少占用内存为目标2.2.结构化程序设计结构化程序设计程序的可读性、可维护性为目标 程序=算法+
13、数据结构 的面向过程的程序设计3.3.面向对象的程序设计(面向对象的程序设计(OOP)降低程序的复杂性、提高软件的开法效率和改善工作界面为目标 程序=对象+消息 的面向对象的程序设计2022年7月30日星期六兰州理工大学计算机与通信学院22l结构化的分解突出过程(How to do?)l面向对象的分解突出真实世界和抽象的对象(What to do?)l目前常用的面向对象语言有:Visual Basic、Visual C+、Visual FoxPro等l优点 a.符合人们的思维方法 b.易于软件的维护和功能的增减 c.能用继承的方式减短程序开发时间 d.与可视化技术结合,改善了工作界面2022年
14、7月30日星期六兰州理工大学计算机与通信学院232.2 2.2 对象的概念对象的概念一、对象和类一、对象和类1 1、类、类:是创建对象实例的模板,是同种对象的集合与抽象,包含了创建对象的属性描述和行为特征的定义.2 2、对象、对象:是类的一个实例,继承了类的属性、方法。Vb中常用的对象有:窗体、控件等。3 3、控件:、控件:以图标的形式放在工具箱中。VB中的控件分为三类:内部控件(标准控件):如工具箱上的控件,20个ActiveX控件:“工程/部件”命令加载可插入对象:Windows应用程序的对象,如Excel工作表。二、对象的建立和编辑:二、对象的建立和编辑:1、对象的建立:两种方法 2、对
15、象的选定:单选、多选3、复制或删除对象 4、对象的命名2022年7月30日星期六兰州理工大学计算机与通信学院24三、对象的三要素:属性、事件和方法三、对象的三要素:属性、事件和方法(1 1)属性)属性 对象的性质,即用来描述和反映对象特征的参数。(2 2)事件)事件 对象的响应称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。l 事件过程 指附在该对象上的用户编写的程序代码,是事件的处理程序。l 事件驱动过程 是图形用户界面的本质,由用户控制而代码作出响应。2022年7月30日星期六兰州理工大学计算机与通信学院25VB程序执行步骤:程序执行步骤:l启动应用程序,装载和显
16、示窗体l窗体(或窗体上的控件)等待事件的发生l事件发生时,执行对应的事件过程l重复执行(2)和(3),直到遇到“END”结束语句结束程序的运行或单击“结束”按钮强制停止程序的运行 2022年7月30日星期六兰州理工大学计算机与通信学院26(3 3)方法)方法 对象的动作,即将一些通用的过程编写好并封装起来,作为方法供用户直接调用。l对象方法的调用格式:对象.方法参数名表例如:在窗体上显示一行文字。Form1.Print”欢迎使用Visual Basic6.0”2022年7月30日星期六兰州理工大学计算机与通信学院272.3 2.3 建立简单的应用程序建立简单的应用程序设计一个设计一个VBVB应
17、用程序的通用步骤:应用程序的通用步骤:1.设计用户界面的对象2.设置对象的属性3.编写对象事件代码4.保存文件5.程序运行和调试(解释执行:或 “运行|启动”或 按F5)6.建立可执行文件。(编译运行:“文件”|“生成exe”)2022年7月30日星期六兰州理工大学计算机与通信学院28例例2.1 编写一个对输入字符进行转换的程序编写一个对输入字符进行转换的程序l转换规则为:将其中的大写字母转换成小写字母,小写字母转换成大写字母,空格不转换,其余转换成“*”。l要求每输入一个字符,马上就进行判断和转换。2022年7月30日星期六兰州理工大学计算机与通信学院29l Private Sub Text
18、1_KeyPress(KeyAscii As Integer)l Dim aa As String*1l aa=Chr$(KeyAscii)l Select Case aal Case a To zl aa=Chr$(KeyAscii-32)l Case A To Zl aa=Chr$(KeyAscii+32)l Case l Case Elsel aa=*l End Selectl Text2.Text=Text2.Text&aal End Sub2022年7月30日星期六兰州理工大学计算机与通信学院30lPrivate Sub Command1_Click()l Text1.Text=l
19、Text2.Text=l lEnd SublPrivate Sub Command2_Click()l Endl lEnd Sub2022年7月30日星期六兰州理工大学计算机与通信学院312.3.4 保存和运行程序保存和运行程序l保存窗体文件l保存工程l程序的运行 (1)编译运行模式生成.exe (2)解释运行模式F52022年7月30日星期六兰州理工大学计算机与通信学院322.4 2.4 窗体和基本控件窗体和基本控件一、基本属性一、基本属性 1.Name1.Name名称属性名称属性 创建的对象名称,有默认的名.在程序中,控件名是作为对象的标识而引用,不会显示在窗体上。2.Caption2.C
20、aption标题属性标题属性该属性决定了控件上显示的内容。3.Height 3.Height、widthwidth、toptop和和leftleft属性属性 L e ft T o p H e igW id th 2022年7月30日星期六兰州理工大学计算机与通信学院334.Enabled4.Enabled属性属性 控件是否可操作.当设置为false时,呈暗淡色,禁止用户进行操作.5.Visible5.Visible属性属性 控件是否可见.当设置为false时,用户看不到,但控件本身存在。6.Font6.Font属性属性 Fontname 字体 Fontsize字体大小 Fontbold是否是粗
21、体 Fontitalic 是否斜体 Fontstrikethru是否加一删除线 Fontunderline是否带下划线 例2.2 在窗体上建立两个命令按钮 Command1和Command2,Command2 的Font通过属性窗口设置,其余属性 通过代码实现。2022年7月30日星期六兰州理工大学计算机与通信学院347.Forecolor7.Forecolor前景颜色属性前景颜色属性 设置控件的前景颜色(即正文颜色).其值是一个16进制常数,用户可以在调色板中直接选择所需颜色。8.Backcolor8.Backcolor背景颜色属性背景颜色属性9.Backstyle9.Backstyle背景
22、风格属性背景风格属性 0-transparent:透明显示,即控件背景颜色显示不出来10.BorderStyle10.BorderStyle边框风格属性边框风格属性 0-None:控件周围没有边框 1-Fixed Single:控件带有单边框。11.Alignment11.Alignment属性属性 控件上正文水平对齐方式 0:正文左对齐 1:右对齐2:居中12.AutoSize12.AutoSize属性属性 控件是否根据正文自动调整大小,False.2022年7月30日星期六兰州理工大学计算机与通信学院3513.MousePointer13.MousePointer属性属性 指示鼠标指针的类
23、型,当为99时为用户自定义类型。MouseIcon MouseIcon属性属性 设置鼠标的图标,当MousePointer为99时起作用。图标库在 Graphics目录下,扩展名一般为.ico或.cur14.WordWarp14.WordWarp属性属性为为TrueTrue时水平方向上下发生变化。时水平方向上下发生变化。15.TabIndex15.TabIndex属性属性 决定了按Tab键时,焦点在各个控件移动的顺序。各个控件默认的TabIndex值就是控件建立时的顺序,第一个为0.16.16.控件默认属性控件默认属性 反映该控件最重要的属性,使用时可省略属性名。如:Text1.text=“W
24、elcome”与Text1=“Welcome”是等价的。部份控件默认值部份控件默认值:文本框的为:Text 命令按钮为:Default 标签为:Caption 单选/复选按钮为:Value 图形/图像框为:Picture 注意注意:Command的Default为True,当按Enter键,该控件起作用。2022年7月30日星期六兰州理工大学计算机与通信学院36默认控件名Name 标题 Caption 有关属性设置 Form1 颜色、对齐、鼠标属性例 MousePointer=99,MouseIcon=Key04.ico Label1 左对齐 Alignment=0,BorderStyle=1
25、 Label2 居中 Alignment=1,BorderStyle=1 Label3 自动 AutoSize=True,WordWarp=False,BorderStyle=1 Label4 背景白 BackColor=&H00FFFFFF&,BorderStyle=0 Label5 前景红 ForeColor=&H000000FF&,BorderStyle=0 例:有关属性的综合应用。对象设置:效果:2022年7月30日星期六兰州理工大学计算机与通信学院37标题图标控制菜单框最小化按钮最小化按钮边框样式二、窗体二、窗体1.1.属性属性:P27:P27StartUpPosition、Icon
26、、ControlBoxMaxButton、MinButtonWhatsThisButton、WhatsThisHelpPicture、AutoRedrawBorderStyle(0 1 2 3 4 5 )WindowsState(0-正常、1-最小化、2-最大化)注注:1、Picture属性属性可在属性窗口设置,也可通过Loadpicture函数用代码来实现。函数格式为:对象.Picture=Loadpicture(“文件路径文件名”)对象可以是窗体、图片框、图像框,缺省时为窗体。VB可以识别的图形格式有:.bmp .gif .jpg .wmf .ico .cur等。2、两者的不同在于:属性设
27、置时设置的图片,会被保存起来并与窗体同时加载,而运行时加载的图片,不和应用程序一起保存。2022年7月30日星期六兰州理工大学计算机与通信学院382.2.事件:事件:P28P28 Click、DblClick、Load、UnLoad 等 Load 当装入窗体时激发,通常用于对属性和变量初始化3.3.方法:方法:P28P28 Print、Cls、Move、Show、Hide等 当在Form_Load事件中使用Print方法时,必须将该窗体的 AutoRedraw设置为True,否则Print方法无效。例上述属性、Click、DblClick和Load 事件演示。书上例子:P282022年7月30
28、日星期六兰州理工大学计算机与通信学院39三三.标签标签 Label Label1、功能:用于显示文本(输出)信息,不能作为输入信息的界面。2、属性:P29 3、事件:click、Dblclick、Change 例2.5.显示浮雕效果的文字,实现方法:字颜色、标签位置书上例子:P29四四.文本框文本框 TextBox TextBox 功能:是一个文本编辑区域,可以输入,编辑和显示正文内容。1 1、属性:、属性:P30P30 Text:正文内容 Maxlength:设置正文的最多字符个数,0任意长度值.MultiLine:是否为多行,默认一行.FALSE ScrollBars:当MultiLine
29、为True时,该属性才有效,表示滚动条的形式 0-None、1-Horizontal、2-Vertical、3-Both。Locked:是否可被编辑属性,False,表示为可编辑。PassWordchar:口令字符.Text属性返回输入的数据,屏幕显示该字符,SelStart,SelLength,SelText:选中文本的起始、长度、内容。例2.6 复制选中的文本2022年7月30日星期六兰州理工大学计算机与通信学院402.2.常用事件常用事件 Change:当改变文本框的Text属性时会引发该事件.KeyPress(KeyAscii As Integer):同上,并可返回一个KeyAscii
30、参数 KeyAscii 为13,按回车键;为0 去除刚输入的字符.LostFocus:当控件失去焦点时发生.GotFocus:当控件获得焦点时发生.3.3.常用方法常用方法 对象.SetFocus:是把光标移到指定的文本框对象中(即设置焦点)。4.4.文本框的应用文本框的应用 数据过滤数据过滤例例2.7 要求输入合法的数字数据。当输入结束时(按Tab键),对于输入正确的数据,显示正确信息;对输入的非数字数据,则响铃(Beep)、显示错误信息、清除文本框中的内容,并使焦点重新回到文本框。Text2_ LostFocus 当输入结束按Tab键时,该事件激发 IsNumeric(Text2):判断是
31、否输入非数字数据.Text2.SetFocus:使焦点重新回到文本框 书上例子:P322022年7月30日星期六兰州理工大学计算机与通信学院41五五.命令按钮命令按钮CommandButton功能:接受用户输入的命令。输入命令可以有三种方式:鼠标单击 Tab键焦点到该按钮 快捷键 1.属性:属性:P33l Caption:命令按钮显示的内容,可设置快捷键,例&Ok ,显示 Okl Value:检查该按钮是否按下.该属性在设计时无效.l Picture:按钮可显示图片文件(.bmp和.Ico),当Style为1时有效l Style:确定显示的形式.0 只能显示文字,1 文字、图形均可。l Too
32、lTipText:设置工具提示,和Picture结合使用。2.事件事件 Click2022年7月30日星期六兰州理工大学计算机与通信学院423.应用:应用:例例 2.8 建立一个允许剪切、复制和粘贴的简单便笺板程序。可增加内容:利用MouseMove事件决定命令按钮的有效性,即当选中内容,“剪切”、“复制”按钮有效,否则无效。2022年7月30日星期六兰州理工大学计算机与通信学院43l Dim st As Stringl Private Sub cmdcopy_Click()l st=txtnoteedit.SelTextl cmdcopy.Enabled=Falsel cmdcut.Enab
33、led=Falsel cmdpaste.Enabled=Truel End Subl Private Sub mdcut_Click()l st=txtnoteedit.SelTextl txtnoteedit.SelText=l cmdcopy.Enabled=Falsel cmdcut.Enabled=Falsel cmdpaste.Enabled=Truel End SubPrivate Sub cmdexit_Click()EndEnd SubPrivate Sub cmdpaste_Click()txtnoteedit.SelText=stEnd SubPrivate Sub For
34、m_Load()cmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=FalseEnd Sub2022年7月30日星期六兰州理工大学计算机与通信学院44l Sub txtnoteedit_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)l If txtnoteedit.SelText Thenl cmdcopy.Enabled=Truel cmdcut.Enabled=Truel cmdpaste.Enabled=Falsel Elsel cm
35、dcopy.Enabled=Falsel cmdcut.Enabled=Falsel cmdpaste.Enabled=Truel End Ifl End Sub2022年7月30日星期六兰州理工大学计算机与通信学院45六、常用方法六、常用方法lVb中使用方法的语法结构是相同的l对象.方法参数列表l1.print方法方法l 形式:对象.printspc(n)|tab(n)表达式列表l 作用:在对象上输出信息。l 对象:可以是窗体(form)、图形框(picturebox)、打印机。若省略,则在窗体上输出。2022年7月30日星期六兰州理工大学计算机与通信学院46l表达式列表开始位置是由对象的c
36、urrentx和currenty属性决定的,缺省为打印对象的左上角0,0。l例2-9:print方法输出图形。lPrivate Sub Form_Click()lForm1.CurrentX=200lForm1.CurrentY=550lFor i=1 To 5l Print Tab(i+5);String(6-i,);_l Spc(6);String(i,)l Next i lEnd Sub2022年7月30日星期六兰州理工大学计算机与通信学院472、cls方法l形式:对象.cls (如:picture.cls)l作用:用于清除运行时在窗体或图形框中显示的文本或图形。l注意:l(1)cls方
37、法只清除运行时在窗体或图形框中显示的文本或图形,不清除窗体在设计时的文本或图形。l(2)cls方法使用后,currentx和currenty属性被设置为0。2022年7月30日星期六兰州理工大学计算机与通信学院483、move方法l形式:l对象.move 左边距离,上边距离,宽度,高度l作用:用于移动窗体或控件,并可改变其大小。l对象:可以是窗体及除时钟、菜单外的所有控件,省略对象为窗体。如果对象是窗体,则“左边距离”和“上边距离”以屏幕左边界和上边界为准,否则以窗体的左边界和上边界为准,宽度和高度表示可改变其大小。2022年7月30日星期六兰州理工大学计算机与通信学院49例2-10l Pri
38、vate Sub Form_Load()l Image1.Top=0l Image1.Left=0l Image1.Picture=LoadPicture(App.Path+1.gif)l End Subl Private Sub Image1_Click()l Image1.Move(Form1.Left+Form1.Width)2-Form1.Left,(Form1.Top+Form1.Height)2-Form1.Top,Image1.Width 2,Image1.Height 2l End Sub2022年7月30日星期六兰州理工大学计算机与通信学院50七、应用举例l例2-11:根据房
39、产商提供的信息,购房者选择房型、面积、单价、按揭期等信息,编写计算每月支付贷款的程序。l程序由两个窗体构成,第一个窗体输入或选择买房的数据,该窗体由列表框选择数据、标签显示数据、文本框输入数据;第二个窗体显示房屋的平面图,该窗体仅有一个图形控件。2022年7月30日星期六兰州理工大学计算机与通信学院512.5 2.5 工程的管理工程的管理一、工程的组成一、工程的组成 工程文件包含了一个应用程序的所有文件:l 工程文件(.vbp):l 工程组文件(.vbg):l 窗体文件(.frm):控件及属性、事件过程和自定义过程l 窗体的二进制数据文件(.frx),自动产生同名.frx文件。l 标准模块文件
40、(.bas)l 类模块文件(.cls)l 资源文件(.res)l ActiveX控件的文件(.ocx)二、创建、打开和保存工程:二、创建、打开和保存工程:“文件文件”菜单菜单2022年7月30日星期六兰州理工大学计算机与通信学院52三三.添加、删除和保存文件:添加、删除和保存文件:可利用“文件”和“工程”菜单 1、窗体名和窗体文件名概念 窗体名窗体名:窗体的Name属性,在代码中用来引用该窗体,同一工程不能有相同的窗体名;窗体文件名窗体文件名:窗体存放在磁盘上的文件名,该文件包含了该窗体的所有控件属性和代码,同一文件夹不能有相同的文件名。2、在工程中添加添加现存的窗体时,只是对该窗体文件的引用
41、纳入工程。因此,如果更改窗体并保存它,会影响包含此窗体文件的任何工程。3、在工程中删除删除窗体时,仅将此窗体从工程里删除掉,但是窗体文件仍存在于磁盘上。但是,如果在VB之外删除一个窗体文件,VB不能更新此工程文件,当打开此工程时,将显示一个文件丢失的错误信息。窗体文件名窗体名2022年7月30日星期六兰州理工大学计算机与通信学院53四、环境设置l“工具”选项”l1.”编辑器”选项卡l2、“通用”选项卡4、对窗体文件改名改名方法:在“工程资源管理器”中-右击窗体文件-“Form另存为”5、保存保存窗体文件:若只想保存窗体文件而不保存工程文件,可直接在“工程资源管理器”中选定,然后执行“文件”菜单
42、中的相应选项。2022年7月30日星期六兰州理工大学计算机与通信学院542.6 制作成安装盘l 2.6.1 使用打包和展开向导l 打包:把工程中用到的各种类型的文件(包括工程自身的文件、必要的系统文件和安装主文件)进行打包压缩后,存放到特定的目录下。l 展开:把打包的文件展开到用户可以携带的用来安装的软盘、光盘等介质。l 管理脚本:记录打包或展开过程中的设置,便于以后做同样的操作。l 系统的压缩文件以.cab扩展名保存。l 2.6.2 检测安装程序2022年7月30日星期六兰州理工大学计算机与通信学院55 第三章第三章 VB语言基础语言基础3.1 编码基础3.2 数据类型3.3 常量与变量 3
43、.4 运算符和表达式 3.5 基本语句 3.6 数组 3.7 过程3.8 常用算法举例3.9 程序调试2022年7月30日星期六兰州理工大学计算机与通信学院56一、书写要求:一、书写要求:1.VB代码不区分字母的大小写代码不区分字母的大小写 系统关键字自动转换每个单词的首字母大写;用户自定义行以第一次为准2.语句书写自由语句书写自由 一行可书写几个语句,之间用冒号分隔;一行最多255个字符;一条语句可分若干行书写,用续行符(空格+下划线)连接3.注释有利于程序的维护和调试注释有利于程序的维护和调试 Rem 或 单撇号“”以及“编辑”工具栏的“设置注释块”;VB中注释语句会自动变为绿色4.保留行
44、号与标号保留行号与标号5.其他注意事项:其他注意事项:保留字与变量之间至少有一空格;字母“l”与数字“1”、字母“o”与数字“0”的使用。2022年7月30日星期六兰州理工大学计算机与通信学院573.2 数据类型数据类型 一、一、标准数据类型:标准数据类型:2022年7月30日星期六兰州理工大学计算机与通信学院581、数值数据类型:Integer Long Single Double Currency Byte(1)Integer和Long型用于保存整数(2)Single和Double型用于保存浮点实数(3)Currency型是定点实数或整数(4)Byte字节型用于存储二进制数2022年7月3
45、0日星期六兰州理工大学计算机与通信学院592、日期(Date)数据类型 按8字节浮点数来存储。日期范围:公元100年1月1日9999年12月31日 时间范围:0:00:00 23:59:59 表示方法:一般日期形式前后加来表示 另一种是以数字序列表示日期和时间(1)一般日期表示法:使用成对#将任何可被认作日期和时间的字符括起来。公元年份默认19年,因而填入1995年与填入95年效果一样,但年的部分输入029间的数字,则VB自动转换为20 年。例如:#5/25/24#与#5/25/2024#等价。而#5/25/95#,#May 25,95#,#May-25-95#,#25 May 1995#,#
46、1995 May 25#等均为合法日期格式。2022年7月30日星期六兰州理工大学计算机与通信学院60(2)数字序列表示法数字序列是双精度的浮点数,由VB自动解释。序号的整数部分表示日期,小数部分表示时间。在VB中,基准日期为公元1899年12月30日,这一天的整这一天的整数部分为数部分为0,比基准早的日期序号为负数,比其晚的日期序号,比基准早的日期序号为负数,比其晚的日期序号为正数为正数,其取值范围为657434(公元100年1月1日)到2958465(公元9999年12月31日)。小数部分:以某个时间点小数部分:以某个时间点占一天占一天24小时的比例表示。小时的比例表示。如:6:00 AM
47、会以0.25来表示。-2.5 表示1899-12-28 12:00:005.75表示1900-1-4 18:00:00366.05表示1900-12-31 1:12:00367.05表示1901-1-1 1:12:00-367.05表示1898-12-28 1:12:002022年7月30日星期六兰州理工大学计算机与通信学院613、逻辑(布尔型)数据型:Boolean 当逻辑型转换成整型数据时:true(-1)false(0)当其他类型数据转换成逻辑数据时:非0数转换为true,0转换为false4、字符串型:String “”5、对象数据类型:Object 作为32位(4个字节)地址来存储2
48、022年7月30日星期六兰州理工大学计算机与通信学院62l6、变体类型:Variantl 是所有未定义的变量的缺省数据类型,它可以包括标准数据类型,还包含四个特殊的数据:l empty(空)表示未指定确定的数据l null(无效)表示数据不合法l Error(出错)指出过程中出现了一个错误条件l Nothing(无指向)表示数据还没有指向一个具体对象l Vartype:检测变体型变量中保存的数值类型l 如:dim t l Vartype(t)l 或Vartype(667)2022年7月30日星期六兰州理工大学计算机与通信学院63二、自定义类型二、自定义类型让用户自己定义的数据类型,由若干个标准
49、数据类型组成。是一组不同类型变量的集合。相当于C语言中的结构类型;Pascal中的记录类型。1.1.自定义类型的定义自定义类型的定义 形式如下:Type 自定义类型名元素名(下标)As 类型名 元素名(下标)As 类型名 End Type其中:其中:元素名:表示自定义类型中的一个成员 下标:表示数组 类型名:为标准类型2022年7月30日星期六兰州理工大学计算机与通信学院64例如,以下定义了一个有关学生信息的自定义类型:Type StudType No As Integer 学号 Name As String*20 姓名 Sex As String*1 性别 Mark(1 To 4)As Si
50、ngle 4门课程成绩 Total As Single 总分 End Type注意:注意:(1)自定义类型一般在标准模块(.BAS)中定义,默认是Public;在窗体必须是Private。(2)自定义类型中的元素类型可以是字符串,但应是定长字符串。(3)不要将自定义类型名和该类型的变量名混淆,前者表示了如同Integer、Single等的类型名,后者VB根据变量的类型分配所需的内存空间,存贮数据。(4)自定义类型一般和数组结合使用,简化程序的编写。2022年7月30日星期六兰州理工大学计算机与通信学院652 2自定义类型变量的声明和使用自定义类型变量的声明和使用(1)声明形式:Dim 变量名