二、VB6语言基础

VB6语言基础

在进行了前面的准备以后,我们就可以开始着手进行编程了。对于在Visual Basic 6中的普通应用开发过程是先设计界面,然后进行功能代码编写。

在前面的介绍中,我们新建一个工程(如“工程1”)以后,会自动创建一个窗体Form1,在这一章的例子中,我们将从这个窗体开始进行设计,大家可以边做边保存这个程序,我们会不断的使用到它。

下面我就开始第一步,界面的设计。

1 在窗体上添加控件

在这里,我们只是先介绍如果添加VB6中自带的一些控件,默认情况下它们位于VB6集成开发环境的左边,这一块我们称其为“工具箱”,就像电工、汽车修改工、学生、设计师一样,我们将常用的工具(控件)放在工具箱中(也许只是一个文具盒),然后在使用时就拿出来,那么,我们是如何将这些控件放在窗体上的呢,在Visual Basic 6中有两种方法。

第一种,就是在“工具箱”中双击一个控件,这时,在窗体上就出现一个这种类型的控件,并且名称会默认为“控件类型+序号”,在这里我们先使用这些控件的默认名称,大家可以试一下,如添加三个文本框(TextBox),分别为Text1、Text2和Text3。

第二种,就是在“工具箱”中单击选中一个控件,然后通过鼠标在窗体上“画”出一个控件,这种方法创建的控件和第一种一样,名称都为默认为类型+序号的形式。

现在,无论通过哪种方法,我们现在共要在窗体上创建四个控件,即三个文本框和一个按钮(CommandButton),并命名为Command1,然后,我们自己可以将它们摆的好看一些,请将它们从Text1到Text3的顺序从上往下排列。

 

2 设置控件的属性

在设计阶段,我们就可以设置一些控件的属性,当我们选中一个或多个控件时,在集成开发环境的右边属性窗口中就会显示出可以设置的属性,在这里我们就可以将这些控件的属性设置所需要的值。

如果没有选中控件,那么还可以在属性窗口的下拉列表中选择要进行设置的控件,在这个列表中,控件是按“控件类型控件名称”的方式将字母排列的。

 

现在,我们将三个文本框(Text1、Text2和Text3)的Text属性都分别设置为空字符串,这时在窗体上,我们马上可以看到文本框中显示的名称不见了。

对于Command1控件,我们将它的Caption属性设置为“计算”,在窗体上也能马上看到设置后的效果。

 

关于窗体和控件的位置和尺寸,一般都是由Top、Left、Height和Width这四个属性值来设置的,在设置时,我们会发现它们的值都可以设置很大,那它们是以什么为单位的呢。在VB6中,默认的单位是缇(Twip),对于我们常用的单位像素来说,一像素约等于15缇,也就是说,如果我们想将窗体设置成800像素那么宽,Width属性的值就应该设置为12000缇。

3 第一次运行程序

在设置好了我们的第一个界面后,一定迫不及待的想运行它了。在集成开发环境中,我们按“F5”键,看看程序是不是运行起来了,这时在屏幕上显示的窗口就是我们刚刚设计的那个,只是运行时网格没有了。

这个程序当然还不能干什么(每个程序在界面后面都要编写大量的代码来完成所需的工作),下面我们就要来它这个程序干点什么了,也就是说我们要开始写代码了。

 

4 文本(字符串)

现在,我们双击按钮Command1,看看是不是有了我们书写代码的地方,现在参照下面的代码,在这里写下一行代码:

Private Sub Command1_Click()

Text3.Text = Text1.Text + Text2.Text

End Sub

当然,在代码窗口中已有的部分我们就不用再写了。在代码中,我们可以看到使用到了三个文本框控件的Text属性,我们在这里的操作是想让Text3控件的Text中显示Text1和Text2中内容相加的和。而在调用控件的属性时,我们使用了“控件名.属性名”的格式,其中控件名和属性名使用英文半角字符的小圆点来分隔。

我们再次按F5键运行这个程序。在窗口上,我们在Text1和Text2中各输入一些数字,然后单击Command1按钮,看看会是什么结果?

不用奇怪,在Text3中显示的内容一定不是我们想要的所输入的两个数的和。这是为什么呢?

在介绍属性的概念时,我们已经提到了,对于文本框,它的Text属性是一个字符串,而使用“+”运算符对两个字符串相加,一般是将两个字符串连接进来,而不是说它们像数字就对它们进行相加运算。

VB6中,字符串的是用String来标识的。

从这里,也许你已经想到了,在编程中应该有数据类型的区别,如数值、字符串等等。到现在,我们已经看到了字符串,接下来,我们来看一看VB6中的数值类型。

 

5 数值类型

Visual Basic 6中,常用的数值类型有整型(Integer)、长整型(Long)、浮点型(Single)、双精度浮点型(Double)以及货币型(Currency)和字节型(Byte)。

不用对这么多的数据类型感到头晕,其实它们只是在占用存储空间和处理精度上有一些不同。其中货币型占用存储空间较多,使用个8字节来存储数据,但它的处理精度是最高的;而整型和长整形只能用于处理没有小数位的整数,其中整型使用2个字节来存储数据,而长整型使用4个字节来存储数据(它当然能处理更大的整数);浮点型为双精度浮点型则可以有小数位部分,但它的运算精度不是十分的精确,所以一般不会用于科学、财务等方面的运算,在本书中,我也很少用到它们,但有一点要说明,就是在VB6中,控件的位置和尺寸的值是浮点型(Single)的;最后一个数值类型就是字节型,也就是说这种类型的数据都是使用一个字节(8位)来存储的。

 

现在,我们要完善前面的程序,让它能正确的让两个数字进行相加运算。

请上面的代码改成如下形式:

Private Sub Command1_Click()

'Text3.Text = Text1.Text + Text2.Text

    Dim n1 As Currency

    Dim n2 As Currency

    Dim sum As Currency

    n1 = CCur(Text1.Text)

    n2 = CCur(Text2.Text)

    sum = n1 + n2

    Text3.Text = CStr(sum)

End Sub

下面我解释一下代码中出现的新情况。

Dim n1 As Currency、Dim n2 As Currency、Dim sum As Currency这三个语句分别定义了三个货币型的数据n1、n2、sum;我们称其为货币型的变量,在随后,我们将使用它们存储货币型的数据。

从语句中,我们可以看出来,定义变量时使用了Dim、As、数据类型标识(在这里使用的是Currency)和数据变量名等短语,而它们之间是使用空格分隔的。其中,Dim和As我们称为关键字,而Currency称为系统保留字,它们和变量的名称(如n1,n2,sum)一起又统称为“标识符”。

关于变量名的定义,一般要求由英文字母、数字和下划线组成,在这里我会使用字母开头,应注意的是在定义变量时,不要出现和关键字、系统保留字和系统方法名一样的标识符,不然会出现不可预知的错误。如果你想使用汉字做为变量名也是可以的,如:

Dim 好 As String

= "Hello!"

MsgBox 好

但一般我不建议使用汉字做为变量名。

 

回到上面的代码中,在定义了三个货币型的变量后,我们使用了这样的语句“n1 = CCur(Text1.Text)”,它的含义是将Text1内容转成货币型的数据然后赋给变量n1,其中的“CCur”是一个系统方法,由于它可以返回一个值(在这里是货币类型的数据),所以我们又称其为“函数(Function)”,这其实也是和另一种方法类型“子程序(Sub)”的唯一区别,即函数可以有返回值,而子程序没有返回值。在函数名CCur后的括号里,我们称其为“参数”,这里放入的参数就是Text1的内容(Text属性值)。

上面的“MsgBox”方法,其实也是一个函数,但我们没有使用它的返回值,所以就和子程序的调用一样,不使用括号,而是将参数写在函数名的后面(当然还要用空格隔开)。

此外,在前面我们使用的方法都是一个参数,如果有多个参数,我们应该将它们依次有逗号(英文半角)分隔。

对于如何定义自己的子程序或函数,我们将会在后面详细介绍。

 

经过两个转换语句,我们就得到了Text1和Text2中的两个加数的值,然后在语句“sum = n1 + n2”中,我们将两个加数相加后的值赋给了另一个变量sum。

在输入的最后一句代码“Text3.Text = CStr(sum)”中,大家不难看出它的含义。通过系统函数“CStr”,我们将计算的结果sum的值转换成字符串(String)类型,然后将结果赋给Text3的Text属性,这时在文本框Text3中就会显示计算的结果了。

 

大概了解了一下代码后,我们就可以运行程序试试了,按F5键运行程序。

在窗口中,请大家输入正确的数值,否则会出错,但大家也不要恐惧,因为出错是会陪我们程序一生的,如果出现了错误提示,大家可以单击“结束”来结束程序的运行,但如果你输入的两个数值则不应该出错。

想想为什么会出错?很简单,因为如果我们输入的内容不能正确转换成数值,那会如何呢,程序当然不知道如何处理了,于是它就选择了抛出错误,如何处理这些错误,我们将会在后面学习到,而现在还是先输入正确的数字要检验程序的运行吧(如果你输入了过大的数值,程序一样会出错,这是因为在计算机中处理的数据都是有一个范围限制的,不过一般来讲它的大小是完全够用的)。

当在Text1和Text2中分别输入一个数值后,单击Command1按钮,看看在Text3中是不是显示了正确的计算结果。

在这段代码中,我们不但看到了新的代码,也看到了代码的排列方式,我们新输入的代码都向后缩了四个空格,这样代码就会显得有层次,这也是一种很好的编码习惯,请大家效仿,可以使用“制表键(Tab)”来操作,当您缩编一行代码并回车换行时,代码会自动缩编。

如果想对一段代码同时进行缩进,可以先选中它们,然后在工具栏(而不是在工具箱中哦)单击“设置注释块”按钮,取消则单击“解除注释块”按钮。

6 只有真和假

不要误会,这里不是要做什么研究,我只是要介绍一种新的数据类型,它就是布尔型(Boolean)数据。

Boolean型数据只有两个可能的值:真(True)或假(False)。它们有时又称为是或否。

这种数据也经常会用到,如在控件的属性中,Locked、Visible、Enabled等都是Boolean型的,如我们编写如下代码就可以让文本框Text1在窗口上看不见:

Text1.Visible = False

 

除了这几种数据外,VB6中还有一些其它类型的数据,在这里就不一一介绍了,在后面的学习中,如果使用到时会详细介绍。

 

7 界面设计和代码设计的转换

在前面的例子中,我们是通过双击按钮打开代码窗口的,而实际上,在集成开发环境的右边,也就是属性窗口上面的工程窗口中,有两个按钮可以随时切换界面设计和代码设计窗口,这两个按钮就在工程窗口标题栏的下面,大家可以试一试。

 

对于打开的代码,我们会发现在标题栏下面还会有两个下拉列表,左边的是一些控件名;还有就是如查想对当前窗体进行代码的话,在列表中还有一个Form项就是指当前的窗体;而“通用”项则可以编写一些公共的代码,在后面的学习中,我们就会慢慢使用到,其实在这里定义的函数或子程序也是这个窗体的方法。

在代码窗口右边的下拉列表中,列出的都是一些当前控件或窗体的事件或方法,如果您想对某个事件或方法进行编码和修改,可以在这里选择。更多的事件我们会在以后慢慢介绍。

 

到这里,我们已经设计出一个简单的加法计算程序,如果要想让它能进行四则运算,我们还要做些什么工作呢?下一章我们就开始学习。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值