客户端用Net-Library和SQL

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

14Vb语言基础4.1VB应用程序的构成VB是一种基于对象的编程语言,同面象过程的编程语言相比更加容易。本章介绍的程序设计语言中的常量、变量、运算符、表达式、语言的内部函数、用户自定义函数、过程、程序控制流等基本概念和基本方法可以推广到其它形式的编程语言。不同语言仅仅是关键字不同,语法形式稍有不同而已。也就是说,学习编程语言重要的是掌握基本概念和基本方法,学会举一反三。掌握了某一种语言的程序设计基本功,再学习另一种程序设计语言时,只要注意相互之间的差别就可以了。2在VB中创建应用程序的最关键的步骤是编码之前的设计,也就是第2章提出的十六字令中的第一句。这里的设计包括窗体对象的设计、控件对象的设计、各个对象之间的层次关系的设计、代码模块的设计。对于数据库应用程序而言,实体-关系设计、数据库对象设计、表的设计、列的设计等等都会影响程序代码的设计。VB应用程序的代码是用分层方式组织的。典型应用程序包含窗体模块、标准模块、类模块。这些模块的组织形式和相互关系保存在工程文件(.vbp)之中。如图4-1所示。3………………VB工程(.vbp)窗体模块1窗体模块n标准模块1标准模块m类模块1类模块k图4-1VB程序的构成4窗体模块(.frm文件)窗体模块是大多数VB应用程序的基础。窗体模块可以包含事件过程、通用过程、以及变量、常量、类型和外部过程的窗体级声明。如果在代码编辑器窗口中观察窗体模块,则还会看到窗体及其包含的控件的描述,包括它们的属性设置值。写入窗体模块的代码是该窗体所属的具体应用程序专用的。即代码是封装在窗体对象内部的。在该窗体的内部代码中可以引用本应用程序中的其它窗体或对象。若需要引用其它窗体所包含的控件对象时,必须在控件对象的前面点出所在窗体对象的名称。5标准模块(.bas文件)如果一个系统包含多个窗体,各个窗体之间又有一些公共的代码与变量,如果不想在各个窗体之间重复代码,最好建立一个标准模块,来存储这些公用的内容。标准模块是应用程序内可供其它模块访问的过程和声明的容器。他可以包含变量、常量、类型、外部过程和全局过程的全局声明或模块级声明。全局过程是指在整个应用程序范围内都可以被调用的过程,全局声明是指在整个应用程序范围内都可以被引用的变量、常量、自定义函数等程序部件。写入标准模块内的代码不必绑在特定的应用程序上;如果不用名称,而是用参数引用窗体和控件,则在许多不同的应用程序中可以重用标准模块。6类模块(.cls文件)在VB中,类模块是面向对象编程的基础。可以在类模块中编写代码建立新对象。这些新的对象可以包含自定义的属性与方法,类的实例就是对象。类模块也是可以共享的。VB的关键字再加上声明的常量、变量、规定的运算符、按合法格式组合的表达式、VB内部函数和自定义函数等是编写各种程序模块的部件。这些部件按照正确的VB语法和一定的程序控制流程组织起来,就得到了由VB语句集合组成的VB模块。74.2常量4.2.1常量的基本概念在程序执行过程中,数值不会改变的量就是常量。常量的名称代表内存中指定的存储单元,常量的赋值就是该指定单元存储的内容。例如,旅馆的接待室、经理室、保卫室就是常量。其中接待室的房间号就是常量名称,接待室内的服务员就是常量的赋值。同样,经理室的房间号就是常量名称,经理本人就是常量的赋值。这里假设从不解雇职员。声明一个诸如“财务室”的新常量就是在内存中开辟一个新存储单元,为此单元命名一个常量名称“房间号”。安排几名会计长期驻留在此房间,这些会计人员就是为该常量赋的值。8声明常量有两个好处:数值可靠:因为常量不能被重新赋值,这就可以确保常量声明中指定的数值在程序的其余部分有效。常量处理速度快。程序运行时,常量值不需要查找,编译器只要把常量名换成常量值即可。在编译阶段已经将常量名称替换为常量的赋值,因此程序在运行阶段不需要到内存中检索数据,使运行速度明显加快。常量区分为不同的类型,如10是整型常量、3也是整型常量、3.14为实型常量,“Adam34”为字符常量等等。94.2.2常量的使用方法1.常量定义语句格式:[Pubic|Private]ConstConstantname[AsType]=value[Pubic|Private]Const常量名称[As数据类型关键字]=常量赋值2.常量定义语句功能Pubic关键字指出该常量的作用域是公共(全局)的常量。Private关键字指出该常量的作用域是对象或模块私有(局部)的常量。Const声明常量的VB关键字。Constantname指出有效的常量名称。10Astype部分是可选的,As是关键字,type部分指出声明的常量的数据类型。省略Astype部分时,常量的类型由赋予的值确定。Value表示常量的赋值,是由数字和字符串常量运算符组合成的简单表达式。常量声明中不能使用函数。3.常量定义语句示例PublicConstPIAsDouble=3.145926PublicConstDoublePi=2*PI‘先声明一个叫做“PI”的全局(公共)型常量,它是双精度(Double)实数数据类型,给PI赋值为3.145926。然后再声明一个叫做“DoublePi”的全局型常量,给它赋值为3.145926的2倍。11PublicConstconPI=3.1415926535‘声明一个叫做“conPI”的全局(公共)型常量,用来存放双精度(Double)实数3.1415926535。ConstconName=”中华人民共和国”‘声明一个叫做“conName”的字符串常量,给它赋值为”中华人民共和国”,VB中的常量字符串是用“半角双引号”分界的。constconPig=”猎”,condog=”狗”,conDragon=”龙”‘在一行内声明了三个字符串常量并分别赋值为”猎”、”狗”和”龙”。124.常量定义语句说明常量通常来自于系统或来自于VB程序员的定义,VB程序员自己定义的常量在命名时最好用con作为常量的前缀。以防与VB关键字或VB系统内部定义的常量同名。VisualBasic大量使用常量定义各个方法变元和设置各个控件的属性值。这些常量称为VisualBasic的内部常量,又叫VB的系统常量。来自系统的常量通常以vb或db作为前缀,在声明自己的常量时,请最好不要用这个前缀。13例如,在窗体上有一个叫做“Check1”的复选框,它有三种状态,选中、未选中和无效(变灰),分别用三个属性值1、0和2表示,可以在程序中用如下三句为复选框赋值:Check1.Value=0‘复选框未被选中。Check1.Value=1‘复选框被选中。Check1.Value=2‘复选框无效,不能获得‘焦点控制,控件呈灰色。14相对于上述三个值0、1和2分别用VisualBasicUnchecked,VisualBasicChecked和VisualBasicGrayed表示未选中、选中或变灰。为了增加程序的可读性,用如下三句代替上述三个为Check1的属性赋值的语句:Check1.Value=VisualBasicUnchecked‘复选框未被选中。Check1.Value=VisualBasicChecked‘复选框被选中。Check1.Value=VisualBasicGrayed‘复选框无效,不能获得焦点控制(灰色)。常量的定义最好组织到一个模块里,这样较容易维护和修改。如果常量在不同的模块里定义,一定要避免循环定义。154.3变量几乎所有编程语言都使用变量。变量是用于程序执行期间保存数值的,在程序的执行中,其值是可以改变的。一个变量应该有一个名字,在内存中占用一定的存储单元,在该存储单元中存放变量的值,学习变量的概念,一定要注意区分变量的名字和变量的赋值这两个不同的概念。VB与其它编程语言一样,也是用变量来存储值,变量有名字和数据类型两种属性。可以把变量看成内存中的一个命名的存储单元地值,存储VB程序中的数值,在程序中调用这个变量名,就可以调用这个变量所代表的数值。例如,旅馆的客房就是变量。其中客房的房间号就是变量名称,安排在客房内的旅客就是变量的赋值。服务台发一把“301房间”的钥匙就类似于声明了一个叫做“301房间”的新变量。新变量就是在内存中开辟一个新存储单元,为此单元命名一个变量名称“房间号”。164.3.1变量的命名规则对于不同的编程语言,变量的命名方法有不同的规定。例如,PowerBuilder5.0版中变量名字可以有32个字符。另外,变量的命名规则还会随着版本的不同而变化。和其它高级语言一样,用来标识窗体名字、模块名字、函数名字、过程名字、对象名字、控件名字和变量名字、符号常量名字、数组名字、类型名字、文件名字的有效字符序列称之为标示符(identifier)。标识符就是一个名字,是用来标示各种VB程序组成成分的。标识符的命名规则是:17只能由字母、数字和下划线组成(在VB的中文版5.0以上也可以用汉字,只是这样在编程时会大大加大程序的书写难度,很不方便,换来的好处是增加了程序的可读性)。必须以字母开头,最后一个字符可以是类型说明符。不能包含嵌入小数点和其他类型声明字符。不能超过255个字符,而且名字的有效字符为前40个,后面的字符只对增加易读性起作用,对于区分不同变量无效。18窗体、类、模块的名称不可以超过40个字符。在变量作用范围中必须唯一。不能用VisualBasic的保留字(关键字)作变量名称,但可以把保留字嵌入变量名中;变量名也不能是末尾带有类型说明符的保留字(其实VB控件可以使用与关键字相同的名称,只不过在引用的时候用[]把这个名称括起来就可以了。但各种语言都把这种做法看成大忌,因为这起码对程序的可读性有着严重的影响,应该尽量避免这样做)。不能包括句号或函数类型的声明符(%、$等)。19VisualBasic不区分变量名和其他名字中字母的大小写(这种性质称为大小写不敏感),在定义一个变量后,只要字符相同,则不管其大小写是否相同,VisualBasic都认为它代表的是同一个变量。大小写混合使用组成变量名(或其他名字)更有利于程序的易读性,例如DateOfToday。此外,符号常量一般用大写字母定义。变量名要尽量有意义以增加程序的易读性。例如:“form_帮助”、“command_等于”、“command_关闭”等窗体名字和命令按钮名字,一看就知道该窗体对象和命令按钮对象的作用和在程序中的层次。变量可以用类型的缩写作为前缀,至少在变量中加入一个大写字母。这样在写程序时遇到变量名直接用小写,写完变量名后如果正确它会自动变成定义的大小写混合的模式,写错了就不会变,这样一下子就能发现输入中的错误。204.3.2变量的声明在多数编程语言中,变量都要声明。也就是说,要事先告诉编译器,准备使用那些变量。如果编译器知道变量及其类型,则可以产生优化的代码。因此可以产生最紧凑和最有效的代码,提高程序的速度和效率。变量的声明有显式声明与隐式声明两种。显式声明是用相应的语法来声明变量,声明的变量具有所声明的数据类型。隐式声明是不经声明直接使用变量,变量自动具有Variant类型。214.3.2.1变量的显式声明在编写程序代码时,为了避免写错变量名称引起的麻烦,可以规定,只要遇到一个未经明确声明的变量名字,VB就发出错误警告。也就是说,可以明确规定,程序中的所有变量必须明确地声明,即显式生命。要显式声明变量,可以在类模块、窗体模块或标准模块的声明段中加入下面的语句:OptionExplicit注意:OptionExplicit语句的作用范围仅限于语句所在的模块,所以,对于每个需要VB强制显式变量声明的窗体模块、标准模块和类模块中,必须将OptionExplicit语句放在这些模块的声明代码段中。22还可以利用VB设计状态下的“工具”菜单下的“选项”-“编辑器”标签进行设置。当选中“要求变量声明(R)”复选框时,即为显式声明方式,这样就在任何新模块中自动插入“OptionExplicit”语句,但是不会在已经建立起来的模块中自动插入。因此,在工程内部,只能用手工方法向现

1 / 219
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功