vb编程入门简单易懂.ppt
VB编程入门,Visual Basic 程序设计教程,Visual Basic程序设计教程,2,本章将介绍有关VB程序的构成和数据类型以及变量的定义和使用、表达式以及基本的输入输出操作。这些知识是编程的基础。我们将通过简单示例的分析,帮助理解如何进行VB编程。,Visual Basic程序设计教程,3,本章主要内容:确定数据的性质:数据类型两种数据表达:常量和变量算术运算符和表达式VB编程的开始:使用窗体赋值和输入输出,Visual Basic程序设计教程,4,所谓编程就是针对要解决的任务,设计解决问题的步骤,使用计算机程序设计语言进行描述,最后通过编码、测试、修改等过程实现编程的目的。编程有两个方面的要求:一 需要理解编程的任务并给出算法二 要使用特定的计算机语言具体地表示这些算法。,2.1 概 述,Visual Basic程序设计教程,5,1加法器界面设计,2.2 一个简单的加法器程序,Visual Basic程序设计教程,6,2编写程序代码,Visual Basic程序设计教程,7,Private Sub CmdAdd_Click()计算”按钮代码 Dim Temp As Long TxtNum1.Text=TxtNum2.Text=TxtSum.Text=TxtNum1.Text=InputBox(请输入第一个数)TxtNum2.Text=InputBox(请输入第二个数)Temp=Val(TxtNum1)+Val(TxtNum2)TxtSum.Text=TempEnd SubPrivate Sub CmdExit_Click()“退出”按钮代码 FrmAdder1.Hide MsgBox(加法器程序运行结束,谢谢使用)EndEnd Sub,Visual Basic程序设计教程,8,数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型,数据类型定义了值的范围并确定了它能够进行的操作。,2.3 确定数据的性质:数据类型,Visual Basic程序设计教程,9,Visual Basic程序设计教程,10,使用数值类型,1.字节型(Byte)字节型数可以表示无符号的整数,0255 2.整型(Integer)和长整型(Long)不带小数部分的数,表示正整数、负整数和零 整型数:-3276832767 98、98 长整型数:-21474836482147483647 45678、45678&,Visual Basic程序设计教程,11,3.单精度型(Single)和双精度型(Double)浮点数。表示带有小数部分的数 表示数的范围大,但有误差。如超出某个表示范围,则用科学记数法 例如:4.53E8(4.53108),8.173E-14,3.14D23 Single保留7位十进制有效位,Double保留15位4.货币型(Currency)专门为处理货币而设计的数据类型 它可最多保留小数点右边4位和小数点左边15位,Visual Basic程序设计教程,12,字符型(String)用双引号括起来的一串字符。例如Canton”、”1+2=?”、”Good Morning”等“”称为起止界限符。字符串长度。分变长字符串(长度不固定)和定长字符串(长度固定)在VB中,把汉字作为一个字符来处理。例如:“浙江大学 浙江杭州 中国”该字符串长度为12,含空格,使用字符型(String),Visual Basic程序设计教程,13,逻辑型与日期型,逻辑型(Boolean)逻辑型又称布尔型,其数据只有True(真)和False(假)两个值逻辑值和数值类型进行转换的时候,它们是非对称的:(1)数值数据转换为布尔值时,0对应False,非0对应为True(2)布尔值转换为数值数据时,False对应0,True对应为-1。,Visual Basic程序设计教程,14,日期型(Date)表示日期和时间 用两个“#”符号把日期和时间的值括起来 如:#08/20/2001#、#2001-08-20#12/12/2005 11:35:35 PM#,Visual Basic程序设计教程,15,变体型和对象引用型,变体型(Variant)变体型数据是一种可变的数据类型,可以存放任何类型的数据 当指定变量为Variant变量时,VB会自动完成必要的转换,Visual Basic程序设计教程,16,在程序中不特别说明时,VB会自动将该变量默认为Variant型变量。例:Temp=“22”字符串 Temp=22 数值 Temp=#01/01/2002#日期对象引用型型(Object)对象引用型型数据可用来表示应用程序中的对象,Visual Basic程序设计教程,17,自定义数据类型,VB为用户了提供自定义数据类型,以满足用户的需求。实际上自定义数据只是把VB已有的数据类型重新组合或者构造为一个新类型。例如我们要给员工设计一个工资数据类型,这个类型中有姓名、工号和工资数,可以使用以下方法定义:Type Pay 姓名 As String*8 工号 AsLong 工资 AsSingle End Type,Visual Basic程序设计教程,18,Visual Basic 6.0的常用数据类型,2.3确定数据的性质:数据类型,Visual Basic程序设计教程,19,Visual Basic 6.0的其他数据类型,Visual Basic程序设计教程,20,说明:(1)不同类型的数据,所占的存储空间不一样。(2)数据的类型可在数据之后加上一个类型符来表示,例如,413&,86!,104.67#等。,Visual Basic程序设计教程,21,2.4 常量与变量,2.4.1 常量 在程序运行期间其值始终保持不变的量 两种形式的常量:文字常量和符号常量 文字常量又分为数值常量、字符串、逻辑值和日期等 1数值常量 例如2,35.567,它们直接出现在程序中。,Visual Basic程序设计教程,22,2字符串常量 它是用双引号括起来的各种有效字符串组成的,如“123“,“AbcD“,“程序设计“等。字符串可以为空。字符串常量的长度为两个引号之间所有的字符数,包括空格。VB规定定长字符串最大长度为32767。,Visual Basic程序设计教程,23,3逻辑常量 就是逻辑值,True和False。4日期常量 表示日期和时间的常量,例如:#12-12-2005#,Visual Basic程序设计教程,24,2.4.2 符号常量 符号常量是在程序中用符号表示的常量。符号常量定义一个符号(字符串)代表一个文字常量 格式:PublicPrivate Const常量名 As 数据类型=表达式 例如:Const PI=3.14159 As Single 使用符号常量主要是为提高程序的可读性。另外,如果需要进行常数的调整,只需要在定义的地方一次性修改就可以了。,Visual Basic程序设计教程,25,2.4.3 变量和声明变量1变量是什么 变量是在程序运行期间其值可以发生变化的量。在程序运行时,数据是存放在内存中的。因此变量就是指示程序将到哪个内存单元去存取数据,即变量与内存单元有关。使用变量名标识不同的变量,同时要给出变量数据的类型。因此,VB变量由数据类型和变量名组成。程序中选择使用常量还是变量,是根据它们是否需要变化而决定的。,Visual Basic程序设计教程,26,2VB变量的特点(1)可变性。向变量存数据,会改变变量原来的值。(2)从变量中取数据,变量中原来的值不会改变,因此在程序中,一个变量的值可以被反复取用而不会导致数据的改变,“取之不尽”。这是变量的可复制性。(3)变量的取值和它的类型有关,但VB能够进行自动转换。,Visual Basic程序设计教程,27,3给VB变量命名 应遵守一些规则:(1)变量名必须以字母开头;(2)只能由字母、数字和下划线组成。不能含有小数点、空格等字符;(3)字符个数不得超过255个;,Visual Basic程序设计教程,28,(4)不能使用VB的关键字(如语句名、函数名等)。例如,Print、Sub、End等(5)变量名在一个程序区域内不能同名。(6)不区分变量名中字母的大小写,一般情况下变量的第一个字母以大写表示。变量取名应使用能够望名知义的单词或者缩写等,提高程序的可读性。,Visual Basic程序设计教程,29,4.变量的声明 变量的声明就是向程序说明要使用的变量。有以下2种方法(显式声明与隐式声明)(1)声明变量(显式声明)用Dim、Public、Private或Static语句来声明变量 例如:Dim sum As Integer 把sum定义为整型变量,Visual Basic程序设计教程,30,(2)隐式声明 不加说明就直接使用变量,此时默认的变量类型为变体类型(Variant)也允许使用类型符来声明变量的类型,如Num%,Sum!(3)定义多个变量,Visual Basic程序设计教程,31,2.4.4 强制要求必须声明变量:Option Explicit Option Explicit 一般情况下,该语句放置在程序模块的外部开始部分,强制要求所有变量必须显式声明后才能使用。Option Explicit Private Sub CmdAdd_Click()End Sub,Visual Basic程序设计教程,32,2.4.5 VB的关键字 VB有许多关键字,也叫做保留字,它们为VB系统本身所用,具有特定的含义。这些已经被VB使用了的单词或者缩写就是“关键字”。关键字不能被使用作为用户定义的变量名,也不能被编程者重新定义使用。如我们已知的:As,Dim,Private,Sub,End,Integer,Long,String,Option Explicit,Date,Const,等等。,Visual Basic程序设计教程,33,VB有五类表达式:算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式,2.5算术运算符和表达式,算术运算符,Visual Basic程序设计教程,34,1除法 计算机使用“/”和“”代表数学中的除号。“/”用于浮点数除,它将产生一个有小数部分的商。而“”则是整数除法,它在进行除之前先将运算数四舍五入,结果为丢掉小数部分取其整数部分。注意下面的几个例子:3/2结果为1.532结果为13.52结果为2,Visual Basic程序设计教程,35,2取模运算Mod 取模运算是取整除后余数的整数部分。VB支持整数和带小数的数的取模运算。如果是带小数的,则在运算前进行四舍五入操作。注意下面的例子:13 Mod 3 结果为1,即余数为13.5 Mod 2 结果为0。先将3.5四舍五入为4,除2的余数为07 Mod 2.6 结果为15 Mod 0.49除数为0错误(如果你把0.49改为0.5和0.51,试试看会发生什么?),Visual Basic程序设计教程,36,2.5.2 算术表达式 算术表达式也称数值表达式,是用算术运算符把数值型常量、变量、函数连接起来的式子。表达式的运算结果是一个数值 例如:(A1B1/3X0.5)*Sin(X),Visual Basic程序设计教程,37,2.5.3 算术运算符的优先规则运算符优先级(乘方)-(求负)*/Mod+-同级左到右,Visual Basic程序设计教程,38,说明:(1)/和的区别:1/2=0.5,12=0(2)Mod用来求整型数除法的余数。例如:9 Mod 7 结果为 2(3)在表达式中乘号不能省略,如a*b不能写成ab(或ab)(4)括号不分大、中、小,一律采用圆括号。可以嵌套使用 例如,xx(x+1)+1 x*(x*(x+1)+1),Visual Basic程序设计教程,39,窗体是我们进入VB编程所遇到的第一个对象,它是进行程序界面设计的基础平台。在程序运行时它就是程序的实际窗口。使用窗体的“属性”定义窗体的外观使用窗体的“方法”定义窗体的行为使用窗体的“事件”定义与用户之间的交互因此了解窗体(包括后续的控件等对象),就是围绕它的属性、方法和事件展开。这也是学习VB对象编程的主要思路。,2.6 VB编程的开始:使用窗体,Visual Basic程序设计教程,40,2.6.1 一个使用窗体显示文本的例子,Visual Basic程序设计教程,41,窗体的绝大多数属性可以在属性窗口中设置,也可以在程序代码中设置,在程序中输入窗体对象名称和“.”分割后会自动跳出窗体的属性和方法,在这里可以区分属性和方法。,2.6.2 窗体的属性,Visual Basic程序设计教程,42,窗体的常用属性,Visual Basic程序设计教程,43,Visual Basic程序设计教程,44,Visual Basic程序设计教程,45,Visual Basic程序设计教程,46,2.6.3 窗体的方法 窗体方法就是对窗体的操作行为。方法使用格式为:Object.方法名 可选参数 Object为窗体对象的名称(Name),如果在当前活动窗体,可省略Object或者用关键字Me。,Visual Basic程序设计教程,47,1显示窗体方法(Show)功能:显示窗体对象。Show方法的使用格式为:Object.Show Style 使用Show方法如果没有指定窗体名称,则默认当前活动窗体。参数Style是一个整数,决定窗体的模式,取值0为无模式,1为有模式,Visual Basic程序设计教程,48,2隐藏窗体方法(Hide)功能:隐藏窗体。注意这只是不显示窗体而不是卸载。要再次显示窗体,使用Show方法即可。Hide方法的格式为:Object.Hide 如果Object没有被指定,则当前活动窗体被隐藏。,Visual Basic程序设计教程,49,3移动窗体方法(Move)Move方法可以移动或者改变窗体的大小。使用格式为:Object.Move Left,Top,Width,Height 其中,Left是必选参数,Top是可选参数,分别代表窗体的x,y方向的坐标。Width和Height为窗体移动到新位置后的高度和宽度。坐标参数的单位默认为缇(Twip,1/1440英寸)。可在窗体属性ScaleMode中选择参数单位。,Visual Basic程序设计教程,50,4清除窗体方法(Cls)Cls(Clear Screen)是清除窗体上的显示的文本和图形。如Me.Cls为清除当前窗体的显示。5打印方法(Print)Print是在窗体上输出文本。6打印窗体方法(PrintForm)把整个窗体作为位图图像输出到打印机。该方法使用的格式为:Object.PrintForm。,Visual Basic程序设计教程,51,2.6.4 窗体识别的动作:事件 在窗体中使用某种事件触发一个过程,以便完成某个任务,因此我们也叫它为事件过程。例如:Private Sub Form_Load()End Sub,Visual Basic程序设计教程,52,这里程序就是窗体的装载事件过程,称为Load过程,Load就是窗体的一个事件。窗体事件过程的一般格式为:Private Sub Form_事件名(参数表)我们在这里编写处理事件的程序代码End Sub,Visual Basic程序设计教程,53,窗体常用事件:1.装载事件(Load)程序运行时,通过Load事件把窗体装载到内存。2.卸载事件(Unload)窗体卸载时触发Unload事件,使窗体从内存中退出并从屏幕 上消失。Private Sub Form_Unload(Cancel As Integer),Visual Basic程序设计教程,54,3.活动/非活动事件(Activate/Deactivate)Private Sub Form_Activate()Private Sub Form_Deactivate()使用Show可触发这个活动过程,使用Hide触发非活动过程。,Visual Basic程序设计教程,55,4.重绘窗体事件(Paint/Resize)当窗体被移动或者改变大小时,触发Paint事件。如果在窗体上有图形输出,则可以使用Paint事件过程重绘图形。窗体改变了大小,原来窗体上的控件的布局比例发生了改变,为此可以进入Resize事件过程重新调整控件的布局,使之适合新的窗体大小。,Visual Basic程序设计教程,56,2.6.6 Tab键和焦点焦点对象的活动状态。改变对象焦点的方法:1.使用鼠标点击或者使用Tab键 使用Tab键焦点的移动次序与对象的Tabindex属性有关。,Visual Basic程序设计教程,57,2.程序中改变 对象.SetFocus 对象.LostFocus一个对象能否得到焦点还与对象本身、对象的其他属性(Enabled)有关。,Visual Basic程序设计教程,58,计算机的工作原理:数据输入处理机(程序)信息输出 在构造一个程序时必须考虑:如何给变量赋值,如何输入数据并如何把有关计算结果输出。赋值就是把一个合适的值(数或字符)存入指定的变量中,而值的来源可以是程序直接产生,也可以是从键盘输入,也可以来自其他程序的传送或来自于文件。,2.7 赋值和输入输出,Visual Basic程序设计教程,59,2.7.1 如何进行赋值操作赋值语句的格式如下:Let 变量名=表达式 或者:变量名=表达式例如:Sum=100 x=x+1 CmdAdd.Caption=“计算”,Visual Basic程序设计教程,60,使用赋值语句要注意以下问题:1“=”不是数学中的等号的意思,是一个赋值的运算符,叫做赋值号。2对变量的赋值后,以新值代替了原来的值。3在表达式中的变量应先赋值。如果是首次直接被用在表达式中,则VB自动赋初值:(1)如果是数值型变量,则自动赋初值为0。(2)字符型变量的初值为空。,Visual Basic程序设计教程,61,4同一个变量出现在赋值号的两边的意义不同。在右边的变量是取出变量的值参与运算,在左边则是保存右边表达式结果值。5一般要求变量的数据类型和表达式的结果值的类型一致,或者说表达式的值能够被所赋值的变量的类型所接纳。,Visual Basic程序设计教程,62,【例2-3】计算半径为5的圆面积和圆周长。Private Sub Form_Click()Const PI=3.141526 定义常量Dim R As integer,Area As Single,Perimeter As Single 定义变量R=5给半径变量赋值Area=PI*R*R计算后的面积值赋给变量AreaPerimeter=2*PI*R周长值赋给变量Parimeter Print“半径”;R,”面积”;Area,”周长”;Perimeter输出半径、面积。周长End Sub,Visual Basic程序设计教程,63,2.7.2 使用输入对话框InputBox函数【例2-4】计算半径为R的圆面积和周长,半径值由键盘输入。Private Sub Form_Click()Const PI=3.141526 Dim R As Integer,Area As Single,Perimeter As Single R=Val(InputBox(请输入圆的半径:,输入)Area=PI*R*R Perimeter=2*PI*R Print 半径;R,面积;Area,周长;PerimeterEnd Sub 这个例子中使用了InputBox函数产生输入对话框。,Visual Basic程序设计教程,64,1输入对话框的使用InputBox函数的使用格式如下:InputBox(提示,标题,默认值,xpos,ypox)它们的含义如下:(1)提示信息。这是InputBox对话框所必须的信息,也可以使用空文本,即“”。(2)标题。这是在对话框窗口标题栏显示的内容。可设置,也可以没有标题。,Visual Basic程序设计教程,65,(3)默认值。在输入框中的默认输入。系统默认为空,可选。(4)xpos和ypos为对话框的左侧与屏幕左边的距离和上边与屏幕顶部的距离值。可选。,Visual Basic程序设计教程,66,2在提示中使用多行文本 如果提示信息比较多,可以使用ASCII控制符回车Chr(13)和换行符Chr(10)产生另起一行。例如:提示信息为“请输入圆的半径”+Chr(13)+Chr(10)+“使用正整数”,产生如图效果,Visual Basic程序设计教程,67,3使用转换函数 InputBox函数接受的是文本,也就是字符型数据,在程序中根据变量类型不同,可以使用转换函数。如:R=Val(InputBox(请输入圆的半径:,输入)这里的Val就是转换函数,将文本类型的数据转换为整型数以便参加运算。VB提供了在不同类型数据之间的转换。,Visual Basic程序设计教程,68,2.7.3 使用Print方法输出数据 使用Print在对象中显示(打印)输出文本。使用格式如下:对象名.Print 表达式,表达式 1对象名 一般情况下,Print输出到窗体或者图片框。在本窗体中输出,可以缺省对象名。,Visual Basic程序设计教程,69,2表达式 Print方法支持多个表达式的输出,可输出数字、文字字符、日期、逻辑值等。如果Print后面没有任何表达式,则输出空行(在显示效果上相当于回车换行)。,Visual Basic程序设计教程,70,3输出格式多个表达式输出,可以使用分号和逗号分隔。(1)逗号分隔(标准格式输出)。逗号后的下一个表达式按照14个字符的空间分开显示。实际分隔位置还与所在输出行的宽度和分隔的数目有关。(2)分号分隔(紧凑格式输出)。后一个表达式的值接着前一个表达式的输出。,Visual Basic程序设计教程,71,(3)在Print语句最后使用逗号或分号结束,不换行,下一个Print接着按格式输出。(4)使用Spc()和Tab()函数,前者控制插入空格,后者确定列位置,Visual Basic程序设计教程,72,例:Private Sub Form_click()Me.FontSize=16 Print 空行 Print A=;1,B=;2 Print 1,2;3,4 Print A;Spc(4);B Print Tab(10);B Print 1234567890End Sub,Visual Basic程序设计教程,73,2.7.4 使用消息对话框MsgBox函数MsgBox函数提供了一个显示应用程序运行信息的标准途径,如图所示:,MsgBox的格式如下:变量名=MsgBox(提示,对话框类型,对话框标题),Visual Basic程序设计教程,74,(1)使用形式:MsgBox有两种使用形式,注意区分,如:A=MsgBox(您确定要退出吗?,vbOKCancel+vbDefaultButton2,退出)和MsgBox 您确定要退出吗?,vbOKCancel+vbDefaultButton2,退出“格式1是具有返回值的使用,程序根据用户的不同选择把选择结果赋值给变量A。格式2没有返回值。,Visual Basic程序设计教程,75,(2)提示 必选参数项。如果显示多行,可使用Chr(13)+Chr(10)。(3)对话框标题 在对话框标题栏显示的信息文本。,Visual Basic程序设计教程,76,(4)对话框类型 类型参数由三部分组成,分别确定对话框中的按钮形式、默认的焦点在哪一个按钮上和按钮使用的图标。把按钮形式、焦点选择、图标三组参数中各选一个进行组合,或直接把它们对应的符号常量进行相加确定对话框类型值,Visual Basic程序设计教程,77,Visual Basic程序设计教程,78,Visual Basic程序设计教程,79,(5)返回值 使用一个变量保存MsgBox函数返回值,返回值的符号常量和有关描述如表所示。,Visual Basic程序设计教程,80,Visual Basic程序设计教程,81,(6)省略参数项 如果只给出提示,系统默认为对话框类型参数值为0,没有对话框标题。如果要省略某一个参数项,需要加上逗号分隔符。例如:A=MsgBox(“您确定要退出吗?”,“退出”),Visual Basic程序设计教程,82,【例2-5】在窗体上设置三个命令按钮,分别为“放大窗口”“缩小窗口”和“结束程序”。点击“放大窗口”“缩小窗口”窗体相应进行放大和缩小操作,并在窗体上显示操作后窗口的宽度和高度,点击“结束程序”则程序结束运行退出。,2.8 程序举例,Visual Basic程序设计教程,83,【例2-6】在窗体上放置一个标签显示文本,单击窗体空白处输入字体和字号使显示的文本随之变化。使用三个命令按钮“隐藏显示”“恢复显示”和“程序结束”。其中“隐藏显示”有效时“恢复显示”处于无效状态,反之亦然。,