VB教程完整版课件_第1页
VB教程完整版课件_第2页
VB教程完整版课件_第3页
VB教程完整版课件_第4页
VB教程完整版课件_第5页
已阅读5页,还剩539页未读 继续免费阅读

下载本文档

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

文档简介

VisualBasic程序设计(6.0版)兰州理工大学计算机与通信学院VisualBasic兰州理工大学2第一章VisualBasic程序设计概述

1.1概述

1.2运行环境、安装和启动

1.3VB集成开发环境15八月2023兰州理工大学计算机与通信学院2第一章VisualBasic程序设计概述 1.131.1概述一、VB简介:

VisualBasic是基于Basic的可视化的程序设计语言。VisualBasic6.0中文版是Microsoft公司最新推出的可视化开发工具,是一种基于Windows操作系统的新型的现代程序设计语言,是一种易于学习、功能强、效率高的编程工具。任何具有初步程序设计基础的人,都能在很短的时间内掌握好VB,并有效地编写出各种Windows程序。

VB6.0包括三个版本:学习版、专业版、企业版15八月2023兰州理工大学计算机与通信学院31.1概述04八月2023兰州理工大学计算机与通信学4二、VB主要功能特点:1.具有面向对象的可视化设计工具2.事件驱动的编程机制3.提供了易学易用的应用程序集成开发环境4.结构化的程序设计语言5.支持多种数据库系统的访问6.OLE技术。VB核心就是其对对象的链接与嵌入(OLE)的支持。7.Active技术8.完备的help联机帮助功能三、VB6.0新功能特点15八月2023兰州理工大学计算机与通信学院4二、VB主要功能特点:04八月2023兰州理工大学计算51.2运行环境、安装和启动一、运行环境:二、安装:安装文件:setup.exe三、启动:方法:1、双击桌面VB快捷方式。2、“开始”|程序|MicrosoftVisualStudio6.0|MicrosoftVisualBasic6.03、“开始”|运行|C:\programfiles\MicrosoftVisualStudio\VB98\VB6.exe15八月2023兰州理工大学计算机与通信学院51.2运行环境、安装和启动04八月2023兰州理工大6进入VB6.0窗口15八月2023兰州理工大学计算机与通信学院6进入VB6.0窗口04八月2023兰州理工大学计算机与71.3VB集成开发环境15八月2023兰州理工大学计算机与通信学院71.3VB集成开发环境04八月2023兰州理工大学计81.主窗口应用程序窗口,由标题栏、菜单栏和工具栏组成VB的三种工作模式(标题栏总显示当前模式)

(1)设计模式:创建应用程序的大多数工作都是在设计时完成的。在设计时,可以设计窗体、绘制控件、编写代码并使用“属性”窗口来设置或查看属性设置值。

(2)运行模式:代码正在运行的时期,用户可与应用程序交流。可查看代码,但不能改动它。

(3)中断模式:程序在运行的中途被停止执行时。在中断模式下,用户可查看各变量及不是属性的当前值,从而了解程序执行是否正常。还可以修改程序代码,检查、调试、重置、单步执行或继续执行程序。15八月2023兰州理工大学计算机与通信学院81.主窗口VB的三种工作模式(标题栏总显示当前模式)0492.窗体(Form)设计窗口

窗体设计窗口是屏幕中央的主窗口,它可以作为自定义窗口用来设计应用程序的界面。用户可以在窗体中添加控件、图形和图片来创建所希望的外观。每个窗口必须有一个的窗体名字,建立窗体时缺省名为Form1,Form2,...。窗体网格点间距的设置:设计模式-”工具”–”选项”应注意窗体名(代码中使用的标识对象名称)和窗体文件名的区别15八月2023兰州理工大学计算机与通信学院92.窗体(Form)设计窗口窗体设计窗口是屏10窗体设计窗口窗体名窗体文件名15八月2023兰州理工大学计算机与通信学院10窗体设计窗口窗体名窗体文件名04八月2023兰州理工113.代码(code)窗口在设计模式中,通过双击窗体或窗体上任何对象或通过“工程资源管理器”窗口中的“查看代码”按钮来打开代码编辑器窗口。代码编辑器是输入应用程序代码的编辑器。

代码窗口主要包括:a.对象列表框b.过程列表框c.代码框d.过程查看按钮

e.全模块查看按钮15八月2023兰州理工大学计算机与通信学院113.代码(code)窗口在设计模式中,通1215八月2023兰州理工大学计算机与通信学院1204八月2023兰州理工大学计算机与通信学院134.属性(properties)窗口

属性是指对象的特征,如大小、标题或颜色等数据。在VisualBasic6.0设计模式中,属性窗口列出了当前选定窗体或控件的属性的值,用户可以对这些属性值进行设置。15八月2023兰州理工大学计算机与通信学院134.属性(properties)窗口14

工程是指用于创建一个应用程序的文件的集合。工程资源管理器列出了当前工程中的窗体和模块5.工程资源管理器(projectexplorer)窗口15八月2023兰州理工大学计算机与通信学院14工程是指用于创建一个应用程序的文件的集合。15工程文件的扩展名为.VBP工程资源管理器下面的列表窗口,以层次列表形式组成这个工程的所有文件。主要包括三种类型的文件:窗体文件(.FRM)存储窗体上使用的所有控件对象和有关的属性、对象相应的事件过程、程序代码。标准模块文件(.BAS)所有模块级变量和用户自定义的通用过程(可以被应用程序各处调用的过程)类模块文件(.CLS)包含用户对象的属性及方法。15八月2023兰州理工大学计算机与通信学院15工程文件的扩展名为.VBP04八月2023兰州理工大16工具箱提供一组工具,用于设计时在窗体中放置控件生成应用程序的用户接口。系统启动后缺省的General工具箱就会出现在屏幕左边,上面有常用“部件”6.工具箱(ToolBox)窗口15八月2023兰州理工大学计算机与通信学院16工具箱提供一组工具,用于设计时在窗体17定制工具箱添加选项卡:对添加的选项卡加控件的方法:

(1)在已有的选项卡中拖动所需控件(2)激活选项卡-”工程”-“部件”

15八月2023兰州理工大学计算机与通信学院17定制工具箱04八月2023兰州理工大学计算机与通信学18窗体布局窗口显示在屏幕右下角。用户可使用表示屏幕的小图像来布置应用程序中各窗体的位置。这个窗口在多窗体应用程序中很有用,因为这可以指定每个窗体相对于主窗体的位置。

7.窗体布局窗口15八月2023兰州理工大学计算机与通信学院18窗体布局窗口显示在屏幕右下角。用19立即窗口:中断模式中调试应用程序。对象浏览窗口:可查看工程定义的模块或过程,也可查看对象库、类型库、类、方法、属性及可在过程中使用的常数。15八月2023兰州理工大学计算机与通信学院19立即窗口:中断模式中调试应用程序。04八月2023兰20第二章简单的VB程序设计

2.1程序设计方法的发展

2.2对象的概念

2.3建立简单的应用程序

2.4窗体和基本控件

2.5工程的管理及环境设置

2.6制作成安装盘

2.7使用帮助系统

15八月2023兰州理工大学计算机与通信学院20第二章简单的VB程序设计 2.1程序设计方法的发212.1程序设计方法的发展1.初期的程序设计

高运行效率、少占用内存为目标2.结构化程序设计

程序的可读性、可维护性为目标程序=算法+数据结构的面向过程的程序设计3.面向对象的程序设计(OOP)

降低程序的复杂性、提高软件的开法效率和改善工作界面为目标程序=对象+消息的面向对象的程序设计15八月2023兰州理工大学计算机与通信学院212.1程序设计方法的发展1.初期的程序设计04八月22结构化的分解突出过程(Howtodo?)面向对象的分解突出真实世界和抽象的对象(Whattodo?)目前常用的面向对象语言有:VisualBasic、VisualC++、VisualFoxPro等优点

a.符合人们的思维方法b.易于软件的维护和功能的增减c.能用继承的方式减短程序开发时间d.与可视化技术结合,改善了工作界面15八月2023兰州理工大学计算机与通信学院22结构化的分解突出过程(Howtodo?)04八月232.2对象的概念一、对象和类1、类:是创建对象实例的模板,是同种对象的集合与抽象,包含了创建对象的属性描述和行为特征的定义.2、对象:是类的一个实例,继承了类的属性、方法。Vb中常用的对象有:窗体、控件等。3、控件:以图标的形式放在工具箱中。VB中的控件分为三类:

内部控件(标准控件):如工具箱上的控件,20个

ActiveX控件:“工程/部件”命令加载

可插入对象:Windows应用程序的对象,如Excel工作表。二、对象的建立和编辑:

1、对象的建立:两种方法2、对象的选定:单选、多选3、复制或删除对象4、对象的命名15八月2023兰州理工大学计算机与通信学院232.2对象的概念一、对象和类04八月2023兰州理24三、对象的三要素:属性、事件和方法(1)属性

对象的性质,即用来描述和反映对象特征的参数。(2)事件对象的响应称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。事件过程指附在该对象上的用户编写的程序代码,是事件的处理程序。事件驱动过程是图形用户界面的本质,由用户控制而代码作出响应。15八月2023兰州理工大学计算机与通信学院24三、对象的三要素:属性、事件和方法04八月2023兰25VB程序执行步骤:启动应用程序,装载和显示窗体窗体(或窗体上的控件)等待事件的发生事件发生时,执行对应的事件过程重复执行(2)和(3),直到遇到“END”结束语句结束程序的运行或单击“结束”按钮强制停止程序的运行15八月2023兰州理工大学计算机与通信学院25VB程序执行步骤:启动应用程序,装载和显示窗体04八月26(3)方法

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

[对象.]方法[参数名表]例如:在窗体上显示一行文字。

Form1.Print”欢迎使用VisualBasic6.0”15八月2023兰州理工大学计算机与通信学院26(3)方法

对象的动作,即将一些通用的过272.3建立简单的应用程序设计一个VB应用程序的通用步骤:

1.设计用户界面的对象2.设置对象的属性3.编写对象事件代码4.保存文件5.程序运行和调试(解释执行:

或“运行|启动”

按F5)6.建立可执行文件。(编译运行:“文件”|“生成…exe”)15八月2023兰州理工大学计算机与通信学院272.3建立简单的应用程序设计一个VB应用程序的通用步骤28例2.1编写一个对输入字符进行转换的程序转换规则为:将其中的大写字母转换成小写字母,小写字母转换成大写字母,空格不转换,其余转换成“*”。要求每输入一个字符,马上就进行判断和转换。15八月2023兰州理工大学计算机与通信学院28例2.1编写一个对输入字符进行转换的程序转换规则为:将29PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimaaAsString*1aa=Chr$(KeyAscii)SelectCaseaaCase"a"To"z"aa=Chr$(KeyAscii-32)Case"A"To"Z"aa=Chr$(KeyAscii+32)Case""CaseElseaa="*"EndSelectText2.Text=Text2.Text&aaEndSub15八月2023兰州理工大学计算机与通信学院29PrivateSubText1_KeyPress(K30PrivateSubCommand1_Click()Text1.Text=""Text2.Text=""

EndSubPrivateSubCommand2_Click()End

EndSub15八月2023兰州理工大学计算机与通信学院30PrivateSubCommand1_Click()312.3.4保存和运行程序保存窗体文件保存工程程序的运行(1)编译运行模式——生成.exe(2)解释运行模式——F515八月2023兰州理工大学计算机与通信学院312.3.4保存和运行程序保存窗体文件04八月202322.4窗体和基本控件一、基本属性

1.Name名称属性创建的对象名称,有默认的名.在程序中,控件名是作为对象的标识而引用,不会显示在窗体上。

2.Caption标题属性 该属性决定了控件上显示的内容。3.Height、width、top和left属性15八月2023兰州理工大学计算机与通信学院322.4窗体和基本控件一、基本属性04八月2023334.Enabled属性控件是否可操作.当设置为false时,呈暗淡色,禁止用户进行操作.5.Visible属性控件是否可见.当设置为false时,用户看不到,但控件本身存在。6.Font属性

Fontname字体Fontsize字体大小Fontbold是否是粗体 Fontitalic是否斜体Fontstrikethru是否加一删除线Fontunderline是否带下划线

例2.2在窗体上建立两个命令按钮Command1和Command2,Command2的Font通过属性窗口设置,其余属性通过代码实现。15八月2023兰州理工大学计算机与通信学院334.Enabled属性04八月2023兰州理工大学计347.Forecolor前景颜色属性设置控件的前景颜色(即正文颜色).其值是一个16进制常数,用户可以在调色板中直接选择所需颜色。8.Backcolor背景颜色属性9.Backstyle背景风格属性0-transparent:透明显示,即控件背景颜色显示不出来10.BorderStyle边框风格属性

0-None:控件周围没有边框1-FixedSingle:控件带有单边框。11.Alignment属性控件上正文水平对齐方式

0:正文左对齐

1:右对齐 2:居中12.AutoSize属性控件是否根据正文自动调整大小,False.15八月2023兰州理工大学计算机与通信学院347.Forecolor前景颜色属性04八月20233513.MousePointer属性

指示鼠标指针的类型,当为99时为用户自定义类型。MouseIcon属性

设置鼠标的图标,当MousePointer为99时起作用。图标库在Graphics目录下,扩展名一般为.ico或.cur14.WordWarp属性为True时水平方向上下发生变化。15.TabIndex属性决定了按Tab键时,焦点在各个控件移动的顺序。各个控件默认的TabIndex值就是控件建立时的顺序,第一个为0.16.控件默认属性

反映该控件最重要的属性,使用时可省略属性名。如:Text1.text=“Welcome”与Text1=“Welcome”是等价的。

部份控件默认值:文本框的为:Text命令按钮为:Default标签为:Caption单选/复选按钮为:Value图形/图像框为:Picture

注意:Command的Default为True,当按Enter键,该控件起作用。15八月2023兰州理工大学计算机与通信学院3513.MousePointer属性04八月2036例:有关属性的综合应用。对象设置:效果:15八月2023兰州理工大学计算机与通信学院36例:有关属性的综合应用。04八月2023兰州理工37二、窗体1.属性:P27StartUpPosition、Icon、ControlBoxMaxButton、MinButtonWhatsThisButton、WhatsThisHelpPicture、AutoRedrawBorderStyle(012345)WindowsState(0-正常、1-最小化、2-最大化)注:1、Picture属性可在属性窗口设置,也可通过Loadpicture函数用代码来实现。函数格式为:[对象].Picture=Loadpicture(“文件路径\文件名”)对象可以是窗体、图片框、图像框,缺省时为窗体。VB可以识别的图形格式有:.bmp.gif.jpg.wmf.ico.cur等。2、两者的不同在于:属性设置时设置的图片,会被保存起来并与窗体同时加载,而运行时加载的图片,不和应用程序一起保存。15八月2023兰州理工大学计算机与通信学院37二、窗体04八月2023兰州理工大学计算机与通信学院382.事件:P28

Click、DblClick、Load、UnLoad

等Load当装入窗体时激发,通常用于对属性和变量初始化3.方法:P28Print、Cls、Move、Show、Hide等

当在Form_Load事件中使用Print方法时,必须将该窗体的AutoRedraw设置为True,否则Print方法无效。

例上述属性、Click、DblClick和Load

事件演示。书上例子:P2815八月2023兰州理工大学计算机与通信学院382.事件:P2804八月2023兰州理工大学计算机与39三.标签Label1、功能:用于显示文本(输出)信息,不能作为输入信息的界面。2、属性:P293、事件:click、Dblclick、Change

例2.5.显示浮雕效果的文字,实现方法:字颜色、标签位置书上例子:P29四.文本框TextBox功能:是一个文本编辑区域,可以输入,编辑和显示正文内容。

1、属性:P30

Text:正文内容Maxlength:设置正文的最多字符个数,0任意长度值.

MultiLine:是否为多行,默认一行.FALSEScrollBars:当MultiLine为True时,该属性才有效,表示滚动条的形式0-None、1-Horizontal、2-Vertical、3-Both。Locked:是否可被编辑属性,False,表示为可编辑。PassWordchar:口令字符.Text属性返回输入的数据,屏幕显示该字符,SelStart,SelLength,SelText:选中文本的起始、长度、内容。

例2.6复制选中的文本15八月2023兰州理工大学计算机与通信学院39三.标签Label04八月2023兰州理工大学计402.常用事件

Change:当改变文本框的Text属性时会引发该事件.KeyPress(KeyAsciiAsInteger):同上,并可返回一个KeyAscii参数KeyAscii为13,按回车键;为0去除刚输入的字符.LostFocus:当控件失去焦点时发生.GotFocus:当控件获得焦点时发生.3.常用方法

[对象.]SetFocus:是把光标移到指定的文本框对象中(即设置焦点)。4.文本框的应用数据过滤例2.7要求输入合法的数字数据。当输入结束时(按Tab键),对于输入正确的数据,显示正确信息;对输入的非数字数据,则响铃(Beep)、显示错误信息、清除文本框中的内容,并使焦点重新回到文本框。

Text2_LostFocus当输入结束按Tab键时,该事件激发IsNumeric(Text2):判断是否输入非数字数据.Text2.SetFocus:使焦点重新回到文本框

书上例子:P3215八月2023兰州理工大学计算机与通信学院402.常用事件04八月2023兰州理工大学计算机与通41五.命令按钮CommandButton

功能:接受用户输入的命令。

输入命令可以有三种方式:鼠标单击Tab键焦点到该按钮快捷键

1.属性:P33Caption:命令按钮显示的内容,可设置快捷键,例&Ok,显示OkValue:检查该按钮是否按下.该属性在设计时无效.Picture:按钮可显示图片文件(.bmp和.Ico),当Style为1时有效Style:确定显示的形式.0只能显示文字,1文字、图形均可。ToolTipText:设置工具提示,和Picture结合使用。2.事件

Click15八月2023兰州理工大学计算机与通信学院41五.命令按钮CommandButton04八月202423.应用:例2.8建立一个允许剪切、复制和粘贴的简单便笺板程序。可增加内容:利用MouseMove事件决定命令按钮的有效性,即当选中内容,“剪切”、“复制”按钮有效,否则无效。15八月2023兰州理工大学计算机与通信学院423.应用:例2.804八月2023兰州理工大学计算43DimstAsStringPrivateSubcmdcopy_Click()st=txtnoteedit.SelTextcmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=TrueEndSubPrivateSubmdcut_Click()st=txtnoteedit.SelTexttxtnoteedit.SelText=""cmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=TrueEndSubPrivateSubcmdexit_Click()EndEndSubPrivateSubcmdpaste_Click()txtnoteedit.SelText=stEndSubPrivateSubForm_Load()cmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=FalseEndSub15八月2023兰州理工大学计算机与通信学院43DimstAsStringPrivateSub44Subtxtnoteedit_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Iftxtnoteedit.SelText<>""Thencmdcopy.Enabled=Truecmdcut.Enabled=Truecmdpaste.Enabled=FalseElsecmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=TrueEndIfEndSub15八月2023兰州理工大学计算机与通信学院4404八月2023兰州理工大学计算机与通信学院45六、常用方法Vb中使用方法的语法结构是相同的[对象.]方法[参数列表]1.print方法形式:[对象.]print[{spc(n)|tab(n)}][表达式列表]作用:在对象上输出信息。对象:可以是窗体(form)、图形框(picturebox)、打印机。若省略,则在窗体上输出。15八月2023兰州理工大学计算机与通信学院45六、常用方法Vb中使用方法的语法结构是相同的04八月46表达式列表开始位置是由对象的currentx和currenty属性决定的,缺省为打印对象的左上角0,0。例2-9:print方法输出图形。PrivateSubForm_Click()Form1.CurrentX=200Form1.CurrentY=550Fori=1To5PrintTab(i+5);String(6-i,"▼");_Spc(6);String(i,"▲")NextiEndSub15八月2023兰州理工大学计算机与通信学院46表达式列表开始位置是由对象的currentx和curre472、cls方法形式:[对象.]cls(如:picture.cls)作用:用于清除运行时在窗体或图形框中显示的文本或图形。注意:(1)cls方法只清除运行时在窗体或图形框中显示的文本或图形,不清除窗体在设计时的文本或图形。(2)cls方法使用后,currentx和currenty属性被设置为0。15八月2023兰州理工大学计算机与通信学院472、cls方法形式:[对象.]cls(如:p483、move方法形式:[对象.]move左边距离[,上边距离[,宽度[,高度]]]作用:用于移动窗体或控件,并可改变其大小。对象:可以是窗体及除时钟、菜单外的所有控件,省略对象为窗体。如果对象是窗体,则“左边距离”和“上边距离”以屏幕左边界和上边界为准,否则以窗体的左边界和上边界为准,宽度和高度表示可改变其大小。15八月2023兰州理工大学计算机与通信学院483、move方法形式:04八月2023兰州理工大学计49例2-10

PrivateSubForm_Load()Image1.Top=0Image1.Left=0Image1.Picture=LoadPicture(App.Path+"\1.gif")EndSubPrivateSubImage1_Click()Image1.Move(Form1.Left+Form1.Width)\2-Form1.Left,(Form1.Top+Form1.Height)\2-Form1.Top,Image1.Width\2,Image1.Height\2EndSub15八月2023兰州理工大学计算机与通信学院49例2-10

PrivateSubForm_Load(50七、应用举例例2-11:根据房产商提供的信息,购房者选择房型、面积、单价、按揭期等信息,编写计算每月支付贷款的程序。程序由两个窗体构成,第一个窗体输入或选择买房的数据,该窗体由列表框选择数据、标签显示数据、文本框输入数据;第二个窗体显示房屋的平面图,该窗体仅有一个图形控件。15八月2023兰州理工大学计算机与通信学院50七、应用举例例2-11:根据房产商提供的信息,购房者选择512.5工程的管理一、工程的组成

工程文件包含了一个应用程序的所有文件:工程文件(.vbp):工程组文件(.vbg):窗体文件(.frm):控件及属性、事件过程和自定义过程 窗体的二进制数据文件(.frx),自动产生同名.frx文件。标准模块文件(.bas)类模块文件(.cls) 资源文件(.res) ActiveX控件的文件(.ocx)二、创建、打开和保存工程:“文件”菜单15八月2023兰州理工大学计算机与通信学院512.5工程的管理一、工程的组成04八月2023兰州52三.添加、删除和保存文件:可利用“文件”和“工程”菜单

1、窗体名和窗体文件名概念

窗体名:窗体的Name属性,在代码中用来引用该窗体,同一工程不能有相同的窗体名;

窗体文件名:窗体存放在磁盘上的文件名,该文件包含了该窗体的所有控件属性和代码,同一文件夹不能有相同的文件名。

2、在工程中添加现存的窗体时,只是对该窗体文件的引用纳入工程。因此,如果更改窗体并保存它,会影响包含此窗体文件的任何工程。

3、在工程中删除窗体时,仅将此窗体从工程里删除掉,但是窗体文件仍存在于磁盘上。但是,如果在VB之外删除一个窗体文件,VB不能更新此工程文件,当打开此工程时,将显示一个文件丢失的错误信息。

窗体文件名窗体名15八月2023兰州理工大学计算机与通信学院52三.添加、删除和保存文件:可利用“文件”和“工程”菜单窗53四、环境设置“工具”——”选项”1.”编辑器”选项卡2、“通用”选项卡4、对窗体文件改名方法:在“工程资源管理器”中--右击窗体文件--“Form另存为…”

5、保存窗体文件:若只想保存窗体文件而不保存工程文件,可直接在“工程资源管理器”中选定,然后执行“文件”菜单中的相应选项。15八月2023兰州理工大学计算机与通信学院53四、环境设置“工具”——”选项”4、对窗体文件改名方法:542.6制作成安装盘2.6.1使用打包和展开向导打包:把工程中用到的各种类型的文件(包括工程自身的文件、必要的系统文件和安装主文件)进行打包压缩后,存放到特定的目录下。展开:把打包的文件展开到用户可以携带的用来安装的软盘、光盘等介质。管理脚本:记录打包或展开过程中的设置,便于以后做同样的操作。系统的压缩文件以.cab扩展名保存。2.6.2检测安装程序15八月2023兰州理工大学计算机与通信学院542.6制作成安装盘2.6.1使用打包和展开向导0455第三章VB语言基础

3.1编码基础

3.2数据类型

3.3常量与变量

3.4运算符和表达式

3.5基本语句

3.6数组

3.7过程

3.8常用算法举例

3.9程序调试

15八月2023兰州理工大学计算机与通信学院55第三章VB语言基础

563.1编码基础一、书写要求:1.VB代码不区分字母的大小写

系统关键字自动转换每个单词的首字母大写;用户自定义行以第一次为准2.语句书写自由

一行可书写几个语句,之间用冒号分隔;一行最多255个字符;一条语句可分若干行书写,用续行符

(空格+下划线)连接3.注释有利于程序的维护和调试

Rem或单撇号“‘”以及“编辑”工具栏的“设置注释块”;

VB中注释语句会自动变为绿色4.保留行号与标号5.其他注意事项:保留字与变量之间至少有一空格;字母“l”与数字“1”、字母“o”与数字“0”的使用。15八月2023兰州理工大学计算机与通信学院563.1编码基础一、书写要求:04八月2023兰州理573.2数据类型

一、标准数据类型:

15八月2023兰州理工大学计算机与通信学院573.2数据类型一、标准数据类型:04八月20581、数值数据类型:IntegerLongSingleDoubleCurrencyByte(1)Integer和Long型用于保存整数(2)Single和Double型用于保存浮点实数(3)Currency型是定点实数或整数(4)Byte字节型用于存储二进制数15八月2023兰州理工大学计算机与通信学院581、数值数据类型:(1)Integer和Long型用于保592、日期(Date)数据类型

按8字节浮点数来存储。日期范围:公元100年1月1日~9999年12月31日时间范围:0:00:00~23:59:59表示方法:一般日期形式前后加#来表示另一种是以数字序列表示日期和时间(1)一般日期表示法:使用成对#将任何可被认作日期和时间的字符括起来。公元年份默认19年,因而填入1995年与填入95年效果一样,但年的部分输入0~29间的数字,则VB自动转换为20年。例如:#5/25/24#与#5/25/2024#等价。而#5/25/95#,#May25,95#,#May-25-95#,#25May1995#,#1995May25#等均为合法日期格式。15八月2023兰州理工大学计算机与通信学院592、日期(Date)数据类型04八月260(2)数字序列表示法数字序列是双精度的浮点数,由VB自动解释。序号的整数部分表示日期,小数部分表示时间。在VB中,基准日期为公元1899年12月30日,这一天的整数部分为0,比基准早的日期序号为负数,比其晚的日期序号为正数,其取值范围为657434(公元100年1月1日)到2958465(公元9999年12月31日)。小数部分:以某个时间点占一天24小时的比例表示。如:6:00AM会以0.25来表示。-2.5表示1899-12-2812:00:005.75表示1900-1-418:00:00366.05表示1900-12-311:12:00367.05表示1901-1-11:12:00-367.05表示1898-12-281:12:0015八月2023兰州理工大学计算机与通信学院60(2)数字序列表示法04八月2023兰州理工大学计算613、逻辑(布尔型)数据型:Boolean当逻辑型转换成整型数据时:true–(-1)false—(0)

当其他类型数据转换成逻辑数据时:非0数转换为true,0转换为false4、字符串型:String“”

5、对象数据类型:Object作为32位(4个字节)地址来存储15八月2023兰州理工大学计算机与通信学院613、逻辑(布尔型)数据型:Boolean04八月20626、变体类型:Variant

是所有未定义的变量的缺省数据类型,它可以包括标准数据类型,还包含四个特殊的数据:

empty(空)表示未指定确定的数据null(无效)表示数据不合法Error(出错)指出过程中出现了一个错误条件Nothing(无指向)表示数据还没有指向一个具体对象Vartype:检测变体型变量中保存的数值类型如:dimtVartype(t)或Vartype(667)15八月2023兰州理工大学计算机与通信学院626、变体类型:Variant04八月2023兰州理工63二、自定义类型让用户自己定义的数据类型,由若干个标准数据类型组成。是一组不同类型变量的集合。相当于C语言中的结构类型;Pascal中的记录类型。1.自定义类型的定义

形式如下:

Type自定义类型名 元素名[(下标)]As类型名

… [元素名[(下标)]As类型名]

EndType其中:元素名:表示自定义类型中的一个成员下标:表示数组类型名:为标准类型15八月2023兰州理工大学计算机与通信学院63二、自定义类型04八月2023兰州理工大学计算机与通64例如,以下定义了一个有关学生信息的自定义类型:TypeStudType NoAsInteger '学号 NameAsString*20 '姓名 SexAsString*1 '性别 Mark(1To4)AsSingle '4门课程成绩 TotalAsSingle '总分EndType注意:

(1)自定义类型一般在标准模块(.BAS)中定义,默认是Public;在窗体必须是Private。(2)自定义类型中的元素类型可以是字符串,但应是定长字符串。

(3)不要将自定义类型名和该类型的变量名混淆,前者表示了如同Integer、Single等的类型名,后者VB根据变量的类型分配所需的内存空间,存贮数据。(4)自定义类型一般和数组结合使用,简化程序的编写。15八月2023兰州理工大学计算机与通信学院64例如,以下定义了一个有关学生信息的自定义类型:04八月652.自定义类型变量的声明和使用(1)声明形式:Dim变量名As自定义类型名例DimStudentAsStudType(2)引用:形式:变量名.元素名例表示Student变量中的姓名,第4门课程的成绩,则表示如下: Student.Name,Student.Mark(4)(3)赋值:

如:Student.Name=“王刚”Student.Mark(4)=9815八月2023兰州理工大学计算机与通信学院652.自定义类型变量的声明和使用04八月2023兰州理663.3常量与变量一.常量和变量的命名规则常量:在程序运行中其值不可以改变。变量:在程序运行中其存储的值可以改变。

命名规则:1.以字母或汉字开头,后可跟汉字、字母、数字或下划线组合,长度小于等于255个字符;2.不能使用VB中的关键字;3.VB中不区分变量名的大小写.4.为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。如:strMystring、intCount15八月2023兰州理工大学计算机与通信学院663.3常量与变量一.常量和变量的命名规则04八67VB6.0的关键字有:AsBinaryByRefByValDateElseEmptyErrorFalseForFriendGetInputIsLenLetLockMeMidNewNextNothingNullOnOptionOptionalParamArrayPrintPrivatePropertyPublicResumeSeekSetStaticStepStringThenTimeToTrueWithEvents15八月2023兰州理工大学计算机与通信学院6704八月2023兰州理工大学计算机与通信学院68二.常量

(一)直接常量有数值常量(整数、长整数、定点数和浮点数)、字符串常量、布尔常量、日期常量(二)符号常量1.系统提供的常量系统定义常量位于对象库中,可通过“对象浏览器”查看.例:vbNormal、vbMinimized、vbMaximized、vbblue等form1.windowsstate=vbmaximized‘将窗口极大化

form1.windowsstate=2‘与上面的语句等价的15八月2023兰州理工大学计算机与通信学院68二.常量04八月2023兰州理工大学计算机与通信692.用户声明常量

形式:

Const常量名[AS类型]=表达式省略[AS类型],常量的类型由表达式值的类型决定,也可在常量后加类型符。

表达式:可以是数值常数、字符串常数以及由运算符组成的表达式。对于数值常数除了可用十进制表示外,还可以使用十六进制数(数值前加&H)和八进制数(数值前加&O)。

为使与变量名区分,一般常量名使用大写字母例ConstMAX=100ConstPI=3.14159ConstPI#=3.14159ConstMAXasinteger=&O14415八月2023兰州理工大学计算机与通信学院692.用户声明常量04八月2023兰州理工大学计算机70三.变量1.用Dim语句显式声明变量

形式:Dim变量名[AS类型]Dim变量名类型符例DimiCountAsinteger,sAllsumAssingle等价于DimiCount%,sAllsum!

对于字符串变量,根据其长度是否固定,有两种方法:

Dim字符串变量名AsStringDim字符串变量名AsString*字符数2.隐式声明

未进行上述的声明而直接使用,其类型为Variant类型。建议不使用。注意:在通用声明处加OptionExplicit语句可强制显式声明变量。15八月2023兰州理工大学计算机与通信学院70三.变量04八月2023兰州理工大学计算机与通信学院713.4运算符和表达式一.运算符

1.算术运算符例:5+10mod10\9/3+2^2结果:10取ia=315八月2023兰州理工大学计算机与通信学院713.4运算符和表达式一.运算符取ia=304八722.字符串运算符:

&、+

“&”和

+”,都是将两个字符串拼接起来。

"123"+"456"结果"123456""123"&"456"结果"123456"

区别:若+的两旁的操作数均为数值型则进行算术加;若一个为数字字符型,另一个为数值型,则自动将数字字符转换为数值,然后进行算术加;若一个为非数字字符型,另一个为数值型,则出错。&则不管什么类型,强制转换为字符型进行拼接。

例如:"abcdef"&12345'结果为"abcdef12345""abcdef"+12345'出错"123"&456'结果为"123456""123"+456'结果为579

12000+“123”&100‘结果为“12123100”Val(left$(“12345678”,4)+mid$(“12345678”,4,2))‘结果为123445注意:(1)"123"+True'结果为122True转换为数值-1,False转换为数值0(2)使用“&”时,最好在两侧的操作数间加入一个空格。因为Long类型变量的类型符以及八进制、十六进制数值表示法的起始字符也为“&”。15八月2023兰州理工大学计算机与通信学院722.字符串运算符:&、+04八月2023兰州理733.关系运算符

将两个操作数进行大小比较,结果为逻辑量。

(1)关系运算符的优先级相同;(2)“Like”运算符与通配符:“?”、“*”、“#”、“[字符列表]”、“[!字符列表]”结合使用,常用于模糊查询。其中“?”表示任何单一字符,“*”表示零个或多个字符,“#”表示任何一个数字(0~9),[字符列表]表示字符列表中的任何单一字符,[!字符列表]表示不在字符列表中的任何单一字符。例如,找姓名变量中姓张的学生,则表达式为:姓名Like“张*”,又如找没有张字的学生,表达式为:姓名Like“[!张]”15八月2023兰州理工大学计算机与通信学院733.关系运算符(1)关系运算符的优先级相同;04八月744.逻辑运算符说明:1、Not:进行取反运算;2、And:操作数均为真时,结果才为真;3、Or:操作数中有一个为真时,结果为真;4、Xor:操作数相反时,结果才为真;5、Eqv:操作数相同时,结果才为真;6、Imp:第1个操作数为真,第2个为假时,结果才为假,其余结果均为真。7、优先级:Not>And>OR>Xor>Eqv>Imp15八月2023兰州理工大学计算机与通信学院744.逻辑运算符说明:1、Not:进行取反运算;04八75如果逻辑运算符对数值进行运算,则以数字的二进制值逐位进行逻辑运算。(1)And运算符常用于屏蔽某些位。(2)Or运算符常用于把某些位置1。(3)连续两次进行Xor运算,可恢复原值。例:10and710or715八月2023兰州理工大学计算机与通信学院75如果逻辑运算符对数值进行运算,则以数字的二进制值逐位进行76二.表达式

1.表达式组成

变量、常量、函数、运算符和圆括号

2.书写规则

(1)运算符不能相邻。例a+-b是错误的。(2)乘号不能省略。例x乘以y应写成:x*y(3)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准上书写,无高低、大小。3.不同数据类型的转换运算结果的数据类型向精度高的数据类型靠.Integer<Long<Single<Double<Currency4.优先级算术运算符>字符运算符>关系运算符>逻辑运算15八月2023兰州理工大学计算机与通信学院76二.表达式04八月2023兰州理工大学计算机与通信77表达式书写举例sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)a*b*c*d/e/f/g或a*b*c*d/(e*f*g)15八月2023兰州理工大学计算机与通信学院77表达式书写举例sin(45*3.14/180)+(exp78例:用人单位招聘秘书:年龄小于40岁的女性,学历专科或本科年龄<40性别=“女”(学历=“专科”学历=“本科”)

And

And

Or比a小,比b大用Ora小数b大数a小数b大数比a大,比b小用And例:表示算术表达式:正确的VB表达式:3<=xAndx<=7错误的VB表达式:3<=x<=7或3<=xOrx<=7考虑:若分别写成:年龄<40And性别=“女”And(学历=“专科”And学历=“本科”)年龄<40Or性别=“女”Or(学历=“专科”Or学历=“本科”)15八月2023兰州理工大学计算机与通信学院78例:用人单位招聘秘书:年龄小于40岁的女性,学历专科或本1.数学函数:Rnd函数返回0和1(包括0但不包括1)之间的双精度随机数.例:产生1~100的随机整数:Int(Rnd*100)+1产生100~3000的随机整数:Int(Rnd*2901)+100随机产生“A”~“Z”的字符:Chr(Int(Rnd*26+65))

注意:

(1)产生一定范围内的随机整数通常表示为:

Int(Rnd*范围)+基数或Int(Rnd*范围+基数)(2)每次运行时,要产生不同序列的随机数,执行Randomize语句。

Randomize[number]

注:函数名后有$符号,表示函数返回值为字符串。三、常用内部函数15八月2023兰州理工大学计算机与通信学院791.数学函数:三、常用内部函数04八月2023兰州理工2.转换函数

Chr(66)"B" Asc("B")66Asc(Chr(99))99Chr(Asc("K"))"K"Ucase$("abcdefg")"ABCDEFG“3.日期函数:Date返回系统日期Time返回系统时间Now返回系统日期和时间Year返回年份(1)DateAdd增减日期函数(2)DateDiff间隔日期函数三、常用内部函数15八月2023兰州理工大学计算机与通信学院802.转换函数三、常用内部函数04八月2023兰州理工大4.字符串编码及操作函数

(1)字符串编码Windows系统对字符采用了DBCS编码,中文2字节,西文1字节VB中字符Unicode编码,任何字符2字节.Len(“中国good”)为6LenB(“中国good”)为12StrConv()进行DBCS与Unicode之间转换.(2)字符串函数

Mid$("ABCDEFG",2,3)"BCD"InStr(2,“EFABCDEFG","EF") 7

注:函数的自变量中有M,表示M=0区分大小写,M=1不区分,省略M区分大小写。15八月2023兰州理工大学计算机与通信学院814.字符串编码及操作函数04八月2023兰州理工大学计5.格式输出函数Format()

功能:Format()可以使数值、日期或字符串按指定的格式输出。格式:Format(表达式[,格式字符串])其中,表达式:为要格式化的数值、日期和字符串类型表达式。格式字符串:表示按其指定的格式输出表达式的值。格式字符串有三类:

(1)数值格式化:将数值表达式的值按“格式字符串”指定的格式输出。(2)日期和时间格式化(3)字符串格式化格式字符串要加双引号15八月2023兰州理工大学计算机与通信学院825.格式输出函数Format()04八月2023兰州15八月2023兰州理工大学计算机与通信学院8304八月2023兰州理工大学计算机与通信学院836.Shell函数

功能:Shell函数负责执行一个可执行文件(扩展名为.exe、.com、.bat),返回一个Variant,如果成功,代表这个程序的进程ID,若不成功,则会返回0。

形式:Shell(命令字符串[,窗口类型])缺省窗口类型最小化为图标。

15八月2023兰州理工大学计算机与通信学院846.Shell函数04八月2023兰州理工大学计算机与X=shell(“c:\windows\pbrush.exe”,1)Y=shell(“c:\windows\write.exe”,1)Z=shell(“C:\ProgramFiles\MicrosoftOffice\Office\winword.exe”,1)提示:如果不知道应用程序的路径名,可用Start命令启动程序

i=Shell(start&"calc.exe");i=Shell(start&“vb6.exe“)举例:i=Shell("c:\windows\calc.exe",1)

j=Shell("c:\",1)15八月2023兰州理工大学计算机与通信学院85X=shell(“c:\windows\pbrush.exe863.5基本语句3.5.1赋值语句

形式:[LET]变量名=表达式

作用:将表达式的值赋值给变量名.一般用于给变量赋值或对控件设定属性值.例:sRate!=0.1Text1.Text="欢迎使用VisualBasic6.0”注意:

1、当表达式的类型与变量的类型不一致时,强制转换成左边的精度。如:iA%=10/3iA中的结果为32、虽然赋值号与关系运算符等于号都用“=”表示,VB系统会根据所处的位置自动判断是何种意义的符号。3、赋值号左边只能是变量,不能是常量或表达式。4、不能在一句赋值语句中,同时给多个变量赋值。

15八月2023兰州理工大学计算机与通信学院863.5基本语句3.5.1赋值语句04八月2023873.5.2人机交互函数和过程

VB与用户之间的直接交互是通过InputBox()函数、MsgBox()函数和MsgBox过程进行的。

1.InputBox函数

InputBox(提示[,标题][,缺省][,x坐标位置][,y坐标位置])

其中:提示提示信息,标题对话框标题,缺省输入区缺省值函数返回字符类型.例要在屏幕上显示图示的对话框:15八月2023兰州理工大学计算机与通信学院873.5.2人机交互函数和过程04八月2023兰州理88相应的语句如下:DimstrNameAsString*40strName=InputBox(“请输入你的姓名”+vbCrLf+“然后单击确定”,“输入框”)也可以使用如下语句:DimstrNameAsString*40,strS1AsString*40strS1=“请输入你的姓名”+Chr(13)+Chr(10)+“然后单击确定”strName=InputBox(strS1,“输入框”,,100,100)当键盘输入“王晓明”后,变量strName获得键盘输入的值.15八月2023兰州理工大学计算机与通信学院88相应的语句如下:04八月2023兰州理工大学计算机与892.MsgBox函数和MsgBox过程

函数形式:变量[%]=MsgBox(提示[,按钮][,标题])过程形式:MsgBox提示[,按钮][,标题]

按钮值如下:函数返回所选按钮整数值:15八月2023兰州理工大学计算机与通信学院892.MsgBox函数和MsgBox过程04八月2090例3.2编一帐号和密码检验程序。要求:

帐号不超过6位数字,有错,清除原内容再输入.密码输入时在屏幕上以“*”代替;若密码错,显示有关信息,选择“重试”按钮,清除原内容再输入,选择“取消”按钮,停止运行。分析:帐号6位,MaxLength为6,LostFocus判断数字IsNumeric函数密码PassWordChar为“*”,MsgBox函数设置密码错对话框.15八月2023兰州理工大学计算机与通信学院90例3.2编一帐号和密码检验程序。04八月2023913.5.3选择结构

1.If…Then语句(单分支结构)

If<表达式>Then语句块EndIf

If<表达式>Then<语句>

例:已知两个数x和y,比较它们的大小,使得x大于y.

Ifx<yThent=xx=yy=tEndIf

或Ifx<yThent=x:x=y:y=t15八月2023兰州理工大学计算机与通信学院913.5.3选择结构例:已知两个数x和y,比较它922.If…Then…Else语句(双分支结构)(1)If<表达式>Then<语句块1>Else<语句块2>EndIf(2)If<表达式>Then<语句1>Else<语句2>

计算分段函数单分支结构实现:[ifx=0then]y=cos(x)-x^3+3*xIfx<>0Theny=sin(x)+sqr(x*x+1)

双分支结构实现:

Ifx<>0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)-x^3+3*xEndIf15八月2023兰州理工大学计算机与通信学院922.If…Then…Else语句(双分支结构)单分支结933.If…Then…ElseIf语句(多分支结构)

形式:

If<表达式1>Then <语句块1>ElseIf<表达式2>Then <语句块2> … [Else语句块n+1]EndIf15八月2023兰州理工大学计算机与通信学院933.If…Then…ElseIf语句(多分支结构)0494例

已知变量strC中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。用多分支结构实现:

IfUcase(strC)>="A"AndUcase(strC)<="Z"Then

PrintstrC+"是字母字符"ElseIfstrC>="0"AndstrC<="9"Then PrintstrC+"是数字字符"Else PrintstrC+"

温馨提示

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

评论

0/150

提交评论