VB基本数据类型
VB 6.O提供的基本数据类型主要有:字符型数据、数值型数据、货币类型、字节类型、布尔类型、日期类型、通用类型、无符号类型、对象类型等9种数据类型。
1.字符型数据
字符型数据(String)用以定义一个字符序列。在内存中一个字符用一个字节来存放。
2.数值型数据
数值型数据包括:整型、长整型、浮点型(单精度和双精度)4种。
(1)整型数
整数(Integer):是不带小数点、范围-32 768到3 2 767之间数,在内存中用2个字节(1 6位) 来存储一个整数。在-32 678~32 767之间的一个数字在尾部加一个“%”符号也表示一种整型数据,如1 345%,-67%。 ’
(2)长整型数
长整型数(Long):是超过一32 768~32 767范围,而在-2 147 483 648~2 1 47 483 647之间的不带小数点的数,一个长整数在内存中占4个字节(32位)。在-2 1 47 483 648~2 1 47 483 647之间的数字在尾部带一个“&"符号,也表示为一个长整数。
(3)浮点数
单精度数(Single):是带小数点的实数,有效值为7位。在内存中用4个字节(32位)存放一个单精度数。通常以指数形式(科学记数法)来表示,以“E"或“e”表示指数部分。
双精度数据(Double):也是带小数点的实数,有效值为1 5位。在内存中用8个字节(64位)存放一个双精度数。双精度数通常以指数形式(科学记数法)来表示,以“D"或“d”表示指数部分。
3.货币类型
货币类型(Currency):是为计算货币而设置的定点数据类型,它的精度要求高,规定精确到小数点后4位。在内存中占8个字节(64位)。取值范围在-922 337 203 685 477.5805到922 337 203 685 477.5807之间。
4.字节(Byte)类型
字节(Byte)类型:是一种数值类型,以1个字节的无符号二进制数存储,取值范围为0~255。
5.布尔类型
布尔类型(Boolean):布尔型数据是一个逻辑值,也称逻辑类型,用两个字节存储,它只取两种值,即’Frue(真)或False(假)。
6.日期类型
日期类型(Date):用以表示日期,在内存中一个日期型数据用8个字节来存放。
7.通用类型
通用类型(’Variant),也称变体类型,是一种通用的、可变的数据类型,它可以表示上述任何一种数据类型。假设定义a为通用型变量。
Dim a As Variant
在变量a中可以存放任何类型的数据,例如:
a:--BASIC’- -存放一个字符串
a=10 -存放一个整数
a=20.5 -存放一个实数
a=--08/15/2003’· ’存放一个日期型数据 一
根据赋给a的值的类型不同,变量a的类型不断变化,这就是称之为变体类型的由来。当一个变量未定义类型时,VB自动将变量定义为Variant类型。不同类型的数据在Variant变量中是按其实际类型存放的(例如将一个整数赋给a,在内存区中按整型数方式存放),用户不必作任何转换的工作,VB自动完成。
8.无符号类型
无符号类型(Decimal):变量存储96位(1 2个字节)无符号的整数形式,并除以一个1 O的幂数,称为变比因子。这个变比因子决定了小数点右面的数字位数,其范围从O~28。
说明:目前Decimal数据类型只能在变体类型(Variant)中使用,也就是说,不能把一个变量声明为Decimal.类型。
9.对象类型
对象类型(Object):用来表示图形、OLE对象或其他对象,用4个字节存储。
CommandButton控件
在 Visual Basic 操作界面中,CommandButton(命令按钮)控件所代表的图标如图一:
图一
CommandButton 控件在程序中主要作为按钮进行使用。默认的名称为 CommandX(X为 1、2、3,等等),命名规则为 CmdX(X为用户自定义的名字,如 CmdCopy、CmdPaste ,等等)。
一、CommandButton 的主要属性:
1、Cancel(取消)属性:
当一个按钮的 Cancel 属性设置为 True 时,按 ESC 键与单击此命令按钮的作用相同,因此,这个命令按钮被称为取消按钮。
在一个窗体中,只允许一个命令按钮的 Cancel 属性为 True 。如图二:
图二
2、Default(默认)属性:
当一个按钮的 Default 属性设置为 True 时,按回车键与单击此命令按钮的作用相同,因此,这个命令按钮被称为默认按钮。
与 Cancel 的设置一样,在一个窗体中,只允许一个命令按钮的 Default 属性设置为 True ,如图三:
图三
3、Caption(标题)属性:
跟其他控件的 Caption 属性一样,都用来显示控件标题的属性。这里要强调的是,作为按钮控件,用户可以给按钮控件的 Caption 指定快捷方式。
方法是在按钮 Caption 属性中欲作为快捷键的字母前加上一个 “&” 符号,程序运行时,该字母的下面会自带一条下划线,同时按下 Alt 键和带有下划线的字母,功效相当于用鼠标点击该按钮。如图四:
图四
4、Enabled(可用)属性:
本属性决定了控件是否可用的问题。当值为 False ,按钮在程序运行时呈灰色,不能响应用户的鼠标动作;只有当值为 True ,按钮才能使用。
本属性可以在设置界面时予以指定,如图五:
图五
也可以在程序中修改,代码如下: 按钮控件名称.Enabled = True/False
例一:
两个命令按钮,按钮一(CmdEnable)初始状态为可用,按钮二(CmdFalse)初始状态不可用。点击按钮一,按钮二变为可用,按钮一变为不可用;点击按钮二,按钮一变为可用,按钮二变为不可用。
程序界面如图六:
图六
程序代码如下:
按钮一:
Private Sub CmdEnable_Click() |
按钮二:
Private Sub CmdFalse_Click() |
5、Style(类型)与 Picture(图片)属性:
也许你想让应用程序的操作界面更美观一点,也许你想在某个按钮上添加幅小图片,那么,你就得使用到本控件的 Style 与 Picture 属性。
铵钮控件共有两种 Style ,一种是标准型(Standard),VB 中用 VbButtonStandard ,或者 0 表示;另外一种是图形型(Graphical),VB 中用 VbButtonGraphical ,或者 1 表示。
Style 属性可以在界面设置过程中予以指定,如图七:
图七
也可以在程序中改变,代码如下:
按钮名称.Style = VbButtonStandard/VbButtonGraphical
或者:按钮名称.Style = 0/1
只有当按钮的 Style 设置为 Graphical 类型时,按钮的 Picture 属性才起作用。本属性能在指定的按钮上添加图片。
可以在界面设置过程中为按钮指定图片,如图八:
图八
也可以在程序中进行指定,代码如下:
按钮名称.Picture = "图形文件所在的路径与文件名",例如:CmdPicture.Picture = "D:\image\01.jpg"
二、CommandButton 的事件:
命令按钮最常用的事件是鼠标点击(Click)事件,当点击按钮时,犹如发出了一道命令,而这也正是“命令按钮”这个说法的由来。
Label 控件
Label(标签控件)是图形控件,主要作用在于显示文字信息,如大家比较熟悉的程序安装界面:在某个软件安装过程中,常常会显示一些帮助信息或与产品相关的介绍信息,而这些,大多是用标签控件制成的。
与以后我们要学到的文本框控件(TextBox)不同的是,标签控件显示的文字不能直接进行修改,要修改的话只能在设计阶段进行;文本框既可以用来显示文本,还能够在文本框中输入文本。
在 Visual Basic 工具箱中,标签控件的图标如图一所示。标签的默认名称(Name)和标题(Caption)为 LabelX(X为1、2、3,等等),规范的命名方式为:LblX(X为自己定义的詞,如 LblShow 、LblRed ,等等)
图一
一、标签控件的主要属性:
1、Caption(标题)属性:
此属性用来设置在标签上显示的文本信息,可以在创建界面时设置,也可以在程序中改变文本信息,如第一章的例子中,通过点击按钮改变标签显示的字样。
如果要在程序中修改标题属性,代码规则如下:
标签名称.Caption = "欲显示的文本"
如第一章在程序中改变标签 LblShow 的 Caption 属性:
LblShow.Caption = "跟我来学 VB 神童教程"
但是请大家注意,上面的代码应该写入供触发的控件对应的程序代码区,如第一章中,是在命令按钮的程序代码区输入的代码,而不是标签本身的代码区哟。
这也是初学者常常大惑不解的地方,为什么我要让标签改变字样,却要在其他控件中输入代码?这是因为,我们是通过触发其他控件这个事件来让标签改变 Caption 属性的。
当然,你也可以让标签本身来触发 Caption 属性改变事件,如用鼠标点击标签,这时你就需要在标签对应的程序代码区输入代码了,但在实际编写中,这种情况非常罕见。毕竟,标签控件用于显示信息的本意远远超过了响应鼠标点击的意图。
2、BorderStyle(边框)属性:
本属性用来设置标签的边框类型,有两种值可选:0,代表标签无边框;1,代表标签有边框,并且具有三维效果,如图二显示的两个标签:
图二
BorderStyle 属性可以在设计界面时指定,如图三:
图三
也可以在程序中改变(但这种应用不多见),程序代码规则:
标签名.BorderStyle = 0/1(0或1,两者取一)
习题一:创建一个标签(LblShow)、两个按钮(CmdChange1、CmdChange2),点按 CmdChange1 ,标签有边框;点按 CmdChange2 ,标签无边框。
答案:见本节最后的答案区。
3、Font(字体)属性:
本属性用来设置标签显示的字体,既可以在创建界面时设定,也可以在程序中改变。
在创建界面时设定,如图四:
图四
在图四的设置界面中,除了可以选择字体,还可以设置显示文字是否为粗体、斜体、下划线等。
在程序中改变 Font 属性,程序代码书写规则如下:
字体改变:标签名.FontName = "字体类型",其中,“字体类型”可以是中文,如“宋体”、“隶书”;也可以是英文名,如“Arial”、“Times New Roman”,等等,不过,这些字体名称必须是电脑上有的。
字体大小改变:标签名.FontSize = X ,其中,X 是阿拉伯数字,代表字体是几号字。如:LblShow.FontSize = 11 。
粗体(FontBold)、斜体(FontItalic)、下划线(FontUnderline)、删除线(FontStrikethru)属性的设置值是代表真/假的逻辑判断值 True/False ,如下:
LblShow.FontBold = True/False
LblShow.FontItalic = True/False
习题二:一个标签(LblShow)用于显示文本;按钮1(Cmd1)可以让标签显示的字体变成隶书;按钮2(Cmd2)可以让标签显示的字体变成 13 号字;按钮3(Cmd3)可以让字体变成粗体。
答案:见本节最后的答案区。
4、Alignment(对齐)属性:
此属性用来设置标签上显示的文本的对齐方式,分别是:左对齐,0;右对齐,1;居中显示,2。可以在界面设置时设定,如图五:
图五
也可以在程序中改变,代码如下:
标签名.Alignment = 0/1/2
5、Visible(可见)属性:
本属性在大多数控件中都有,它能设定该控件是否可见。当值为 True ,控件可见;当值为 False ,控件隐藏。
控件的可见属性可以在界面设置时设定,如图六:
图六
也可以在程序中改变,代码如下:
标签名.Visible = True/False
习题三:一个标签(LblShow),在界面设置时为可见;按钮1(Cmd1),能够让标签隐藏;按钮2(Cmd2),能够让标签显现。
答案:见本节最后的答案区
二、标签控件(Label)的主要事件:
所谓的事件,其实就是用户对应用程序的操作,如第一章中用鼠标点击命令按钮触发的 Click 事件。
事件的作用在于触发程序的执行,如第一章中的 Click 事件改变了标签控件的 Caption 属性。
标签控件的主要作用在于显示文本信息,但也支持一些为数不多的事件。
1、Click 事件(鼠标单击):
用鼠标点击标签时触发的事件,如改变标签的字体属性:
Private Sub LblShow_Click()
LblShow.FontName = "隶书"
End Sub
2、DbClick 事件(鼠标双击):
鼠标双击引发的事件,如改变标签的可见性:
Private Sub LblShow_DbClick()
LblShow.Visible = False
End Sub
三、知识点:
1、用 VB 编写程序犹如搭积木,把每块“积木”(控件或其他对象)放在合理的位置,然后以某种机制(程序)将这些“积木”们运用起来,最后就搭成了我们需要的东西。所以,掌握每一种控件,包括它们的属性与主要事件,是我们学习编程的基础!
2、某些属性是大多数控件所共有的,如 Name 、FontBold、FontItalic、Visible ,等等;但也有些属性是某个控件所独有的,如标签控件的 WordWrap (标签的标题显示方式)。本节中我们只是讲述了部分标签控件的属性,其他属性可以在 VB 的帮助文件中查找到。
3、大家在学习过程中一定会疑惑,为什么在属性设置时,“=” 右边有时使用 "" ,有时又不使用 "" 。不知大家注意到没有,我们在使用 "" 时,是因为引号里面的内容是字符串,如"隶书"、"Times New Roman",等等。
4、字符的大小写问题:初学者还常常疑惑,字母什么时候应该大写,什么时候应该小写?其实,大写小写在 VB 程序中都是一样的,但为了让程序编写得更为规范,程序可读性更高,英文单词的第一个字母一般都要大写,如 Visible 、Name ,等等;
控件的命名也遵循以上原则,不同的是,命名都是由“控件类型名+具体名字”组成的,控件类型名的第一个字母要大写,具体名字的第一个字母要大写,如 LblShow 、CmdShow 、LblChange ,等等。
5、程序代码的规范:上面有这样的例子:
Private Sub CmdShow_Click()
LblShow.Caption = "跟我来学 VB 神童教程"
End Sub
Private Sub CmdShow_Click()代表一个过程,共由两部分组成,CmdShow 代表 CmdShow 这个按钮,Click 代表这个按钮的触发事件。
以此类推,Private Sub LblShow_DbClick ()也代表一个过程,LblShow 是个标签,DbClick 是双击事件。
另外,Private 意为“私有”,表明这个事件过程的类型;此外还有 Public 即“公有”事件。
Sub 表明这个过程是“子程序”,若干个“子程序”共同组成最终的应用程序。
()里面是用来装参数的,关于参数,我们以后讲述,如果没有参数,()里面为空。
四、答案区:
第一题:
第一个按钮的点击事件:
Private Sub CmdChange1_Click()
LblShow.BorderStyle = 1
End Sub
第二个按钮的点击事件:
Private Sub CmdChange2_Click()
LblShow.BorderStyle = 0
End Sub
第二题:
按钮1:
Private Sub Cmd1_Click()
LblShow.FontName = "隶书"
End Sub
按钮2:
Private Sub Cmd2_Click()
LblShow.FontSize = 13
End Sub
按钮3:
Private Sub Cmd3_Click()
LblShow.FontBold = True
End Sub
第三题:
按钮1:
Private Sub Cmd1_Click()
LblShow.Visible = False
End Sub
按钮2:
Private Sub Cmd2_Click()
LblShow.Visible = True
End Sub