通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>VB编程>>正文 新版上线![旧版]
注:打开慢时请稍等

Visual Basic 编码

http://www.iyit.net  日期:2006-5-22 17:14:34  来源:网络转载   点击:
参加讨论

开始编码之前

    在 Visual Basic 中创建应用程序的最重要的(又往往为人忽视的)部分是设计阶段。需要为应用程序设计一个用户界面,这是显然的;但需要设计代码的结构就不那么显然了。构造应用程序的方法不同,可造成应用程序的性能及代码的可维护性、可使用性不同。    Visual Basic 应用程序的代码是用分层方式组织的。典型应用程序包括若干模块:应用程序中每个窗体的窗体模块、共享代码的可选标准模块以及可选的类模块。 每个模块包含若干含有代码的过程:event过程、Sub子过程或Function过程,以及Property过程。    判定什么过程属于什么模块,这与创建的应用程序的类型有一定关系。因为 Visual Basic 是基于对象的,所以,利用应用程序代表的对象来考虑应用程序将是有益的。在这一章,示例应用程序 Vcr.vbp 的设计建立在盒式录像机和电视机组成的对象基础之上。VCR 应用程序包含两个窗体模块、一个标准模块和两个类模块。可用“对象浏览器”来检查工程的结构(图5.2)。

    VCR 应用程序的主窗体 (frmVCR) 是 VCR与电视屏幕组合的可视图像(图 5.3)。它包括几个对象,这些对象以现实世界中的图景为模型。一组命令按钮(cmdPlay、cmdRecord 等等)模仿的是操作 VCR 的按钮。软件VCR 还包括时钟 (lblTime)、通道指示器 (lblChannel)、功能指示器(shpPlay、shpRecord 等等)以及显像管 (picTV)。Vcr.frm 窗体模块包括所有这些对象的事件过程。

    在很多情况中都存在着多个对象共享的重复过程。例如,“按下”“放像”、“倒带”或“录像”按钮时就要求“暂停”和“停止”按钮有效。最好创建一个共享的子过程,所有按钮都可调用它,而不要在每个按钮的 Click 事件过程中重复这段代码。如果将来要修改这些子程序,则只在一个地方修改就可进行全部修改。标准模块 Vcr.bas 包含各种共享过程。
    VCR 的某些部分是不可视的,比如磁带的输送机置或录制电视节目的逻辑便是如此。同样,软件 VCR 的一些功能没有可视图像。这些部分和功能是作为两个类模块 Recorder.cls 和 Tape.cls 实现的。clsRecorder 模块包含启动“录像”进程的代码;而 clsTape 模块则包含控制“磁带”方向和速度的代码。这些模块中所定义的类与窗体中的任何对象都没有直接关系。因为它们是独立的代码模块,所以不作任何修改就可轻轻松松重建一个录音程序。
    除了设计代码结构之外,建立命名约定也是很重要的。按照缺省规定,VisualBasic 将工程的第一个窗体命名为 Form1,第二个窗体为 Form2,依此类推。如果应用程序中有几个窗体,则最好赋予它们有含义的名字,以免在编写或编辑代码时出现混淆情况。在附录 B“Visual Basic 编码约定”中列举了一些 Visual Basic 建议的命名约定。
    在进一步了解对象和学习编写代码时,可参考 VCR 示例应用程序,查找有关各种编码技巧的例子。

代码编写机制
    在着手编写代码之前,了解 Visual Basic 编写代码的机制是很重要的。和任何编程语言一样,Visual Basic 有自身的组织、编辑和格式化代码规则。

    代码模块
    Visual Basic 的代码存储在模块中。模块有三种类型:窗体、标准和类。简单的应用程序可以只有一个窗体,应用程序的所有代码都驻留在窗体模块中。而当应用程序庞大复杂时,就要另加窗体。最终可能会发现在几个窗体中都有要执行的公共代码。因为不希望在两个窗体中重复代码,所以要创建一个独立模块,它包含实现公共代码的过程。独立模块应为标准模块。此后可以建立一个包含共享过程的模块库。
    每个标准模块、类模块和窗体模块都可包含:
     声明。可将常数、类型、变量和动态链接库 (DLL) 过程的声明放在窗体、类或标准模块的模块级。
     过程。Sub、Function 或者 Property 过程包含可以作为单元来执行的代码片段。本章后面的“过程概述”一节中将讨论这些内容。

    窗体模块
    窗体模块(文件扩展名为 .FRM )是大多数 Visual Basic 应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。如果要在文本编辑器中观察窗体模块,则还会看到窗体及其控件的描述,包括它们的属性设置值。写入窗体模块的代码是该窗体所属的具体应用程序专用的;它也可以引用该应用程序内的其它窗体或对象。

    标准模块
    标准模块(文件扩展名为 .BAS)是应用程序内其它模块访问的过程和声明的容器。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上;如果能够注意不用名称引用窗体和控件,则在许多不同的应用程序中可以重用标准模块。

    类模块
    在 Visual Basic 中类模块(文件扩展名为 .CLS)是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口。
    详细信息 关于在类模块中编写代码的更详细的信息,请参阅第九章“用对象编程”。
    注意 Visual Basic 的专业版和企业版也包含 ActiveX 文档、ActiveX 设计器和用户控件。它们引入了具有不同文件扩展名的新模块类型。从编写代码的角度来看,这些模块应视同为窗体模块。

    使用“代码编辑器”
    Visual Basic “代码编辑器” 是一个窗口,大多数代码都在此窗口上编写。它像一个高度专门化的字处理软件,有许多便于编写 Visual Basic 代码的功能。图 5.4所示为“代码编辑器”窗口。
    因为要操作模块中的 Visual Basic 代码,所以要为每一个从“工程资源管理器”中选择的模块打开一个独立的“代码编辑器”窗口。在每个模块中,对于模块中所包含的每个对象,将模块中的代码再细分出与对象对应的独立部分。用“对象列表框”实现各部分间的切换。 在窗体模块中,该列表包含一个通用段,一个属于窗体自身的段以及窗体所包含的每一控件的段。对于类模块,列表包括一个通用段和一个类段;对于标准模块,只有一个通用段被显示。
    每一段代码都可包含几个用“过程列表框”访问的不同过程。对窗体或控件的每一个事件过程,窗体模块的过程列表都包含一个独立的段。例如,Label控件的过程列表就包含 Change 事件段、Click 事件段和 DblClick 事件段等等。类模块只列举类本身的事件过程——初始化和终止。标准模块不列举任何事件过程,因为标准模块不支持事件。

    模块通用段的过程列表只包含唯一段——声明段,其中放置模块级的变量、常数和 DLL 声明。当在模块中添加子过程或函数过程时,那些过程被添加到声明段下方的“过程列表框”中。
    代码的两种不同视图都可用于“代码编辑器”窗口。可以一次只查看一个过程,也可以查看模块中的所有过程,这些过程彼此之间用线隔开(如图 5.4所示)。为了在两个视图之间进行切换,利用编辑器窗口左下角的“查看选择”按钮。

    自动完成编码
    Visual Basic 能自动填充语句、属性和参数,这些性能使编写代码更加方便。在输入代码时,编辑器列举适当的选择、语句或函数原型或值。通过“工具”菜单上的“选项”命令访问“选项”对话框,在“选项”对话框的“编辑器”选项卡上可用这样的选项,由它们决定是允许还是禁止各代码的设置值。
    在代码中输入一控件名时,“自动列出成员特性”会亮出这个控件的下拉式属性表(图 5.5)。键入属性名的前几个字母,就会从表中选中该名字,按 Tab键将完成这次输入。当不能确认给定的控件有什么样的属性时,这个选项是非常有帮助的。即使选择了禁止“自动列出成员特性”,仍可使用 CTRL +J 组合键得到这种性能。

    “自动快速信息”功能显示语句和函数的语法(图 5.6)。当输入合法的 VisualBasic 语句或函数名之后,语法立即显示在当前行的下面,并用黑体字显示它的第一个参数。在输入第一个参数值之后,第二个参数又出现了,同样也是黑体字。“自动快速信息”也可以用 CTRL+I 组合键得到。

    书签
    在代码编辑器中书签可用来标记代码的某些行,以便您以后可以很容易地返回这些行。书签开关的切换以及定位到已有书签的命令可以在编辑、书签菜单项或编辑工具栏中得到。
    详细信息 关于如何使用组合键使用“代码编辑器”窗口的各种功能的更详细信息,请参阅“代码窗口的快捷键”。

    编码基础
    这一部分介绍代码编写机制,包括如何中断和合并代码行、如何添加注释、如何使用数字以及 Visual Basic 命名约定。

    将单行语句分成多行
    可以在“代码”窗口中用续行符(一个空格后面跟一个下划线)将长语句分成多行。由于使用续行符,无论在计算机上还是打印出来的代码都变得易读。下面用续行符 ( _) 将代码分成若干行:
    Data1.RecordSource = _
    "SELECT * FROM Titles, Publishers" _
    & "WHERE Publishers.PubId = Titles.PubID" _
    & "AND Publishers.State = 'CA'"
    在同一行内,续行符后面不能加注释。至于在什么地方可以使用续行符,还是有某些限制的。

    将多个语句合并到同一行上
    通常,一行之中有一个 Visual Basic 语句,而没有语句终结符,但是也可以将两个或多个语句放在同一行,只是要用冒号 (:) 将它们分开。
    Text1.Text = "Hello" : Red = 255 : Text1.BackColor =
    Red
    但是,为了便于阅读代码,最好还是一行放一个语句。
    详细信息 关于详细信息,请参阅附录 A“Visual Basic 的规范、限制和文件格式”。

    在代码中添加注释
    阅读本手册的例子时常会遇到注释符 (')。这个符号告诉 Visual Basic,忽略该符号后面的内容。这些内容是代码段中的注释,既是为了方便开发者,也是为了方便以后可能检查源代码的其他程序员。例如:
    ' 这是从屏幕左边
    ' 开始的注释。
    Text1.Text = "Hi!"    '在文本框中放
                 '欢迎词。
    注释可以和语句在同一行,并写在语句的后面,也可占据一整行。上述代码对这两种情况都作了示范。记住,不能在同一行上将注释接在续行符之后。
    注意 您可以通过选中两行或多行代码并在“编辑”工具栏上通过选择“注释块”或“删除注释块”按钮来对该代码块添加或删除注释符号。

    理解数字系统
    在本文档中大多数的数值都是十进制的(基数为 10)。但有时用十六进制数(基数为 16)或八进制数(基数为 8)更方便。Visual Basic 用前缀 &H表示十六进制数,而用 &O 表示八进制数。下表说明同一个数的十进制、八进制和十六进制表示。

    通常不必掌握十六进制或八进制数制,因为计算机可以用任何数制的数工作。但是,对某些任务来说,有的数系就比其它数系更合适,例如利用十六进制数设置屏幕和控件的颜色。

    Visual Basic 的命名约定
    在编写 Visual Basic 代码时,要声明和命名许多元素(Sub 和 Function 过程、变量、常数等等)。在 Visual Basic 代码中声明的过程、变量和常数的名字,必须遵循这些规则:
    1.它们必须以字母开头。
    2.它们不可以包含嵌入的句号或者类型声明字符(规定数据类型的特殊字符)。
    3.它们不能超过255个字符。控件、窗体、类和模块的名字不能超过40个字符。
    4.它们不能和受到限制的关键字同名。
    受到限制的关键字是 Visual Basic 使用的词,是语言的组成部分。其中包括预定义语句(比如 If 和 Loop)、函数(比如 Len 和 Abs)和操作符(比如 Or 和 Mod)。
    详细信息 关于关键字表的更详细信息,请参阅《Visual Basic 6.0语言参考手册》。
    窗体和控件可以和受到限制的关键字同名。例如,可以将某个控件命名为Loop。但在代码中不能用通常的方法引用该控件,因为 Visual Basic 会认为 Loop 意味着关键字。例如,下面的代码就会出错。
    Loop.Visible = True     ' 出错。
    为了引用那些和受到限制的关键字同名的窗体或控件,就必须限定它们,或者将其用方括号 [ ] 括起来。例如,下面的代码就不会出错。
    MyForm.Loop.Visible = True     '用窗体名
                      '将其限定。
    [Loop].Visible = True       '方括号
                      '起了作用。
    在引用窗体和控件时都可以用这种方式使用方括号,但在声明变量或定义过程期间,当变量名或过程名与受到限制的关键字相同时,这种方式是不能使用的。方括号还可以用来强制 Visual Basic 接受其它类型库提供的名称,这些名称与受到限制的关键字冲突。
    注意 因为键入方括号也是令人厌倦的事情,所以希望少用受到限制的关键字作窗体或控件名。但是,如果Visual Basic的新版本定义了与现有窗体或控件冲突的新关键字,那么在为使用新版本而更新代码时,可以使用这个技巧。 _


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:Visual Basic变量、常数和数据类型及过程概述
下一篇:Visual Basic 编程基础--应用程序的结构
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
Visual Basic 5.0中实现视频画中画
保存列表框内容为文本文件
Visual Basic 概述
Visual Basic 概述二
Visual Basic 概念
长期使用中型Access数据库的一点经验
Access数据库及其基本操作
两个未公开的ACCESS方法的使用技巧
如何确定有多少人登陆数据库?
提高拆分数据库在网上运行、编辑的速度
能否编译mdb文件到exe文件?
创建一个空数据库
隐藏 Access 窗口
获取Windows / System / Temp 目录路径
Access数据库开发技巧(一)
Visual Basic 概述
快速初始化Variant和String类型数组
VB中APP对象及其应用
Visual Basic 概述二
Visual Basic使用技巧
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
QQ最新版下载 2006 beta2 体验新感受 
优秀公益广告作品欣赏(7)
Office2007简体中文版浮出水面 美图抢
WEB服务器配置全攻略(三)
优秀公益广告作品欣赏(6)
优秀公益广告作品欣赏(4)
优秀公益广告作品欣赏(1)
直接编辑VB中网格控制项的两种方法
硬盘分区消失,解决方法!
传统计算机病毒传播能力破坏性在提高
内存为何有“两面性”
AMD水货盒装CPU识别方法
IP地址资源2012年枯竭 部署IPv6很紧迫
古老问题有新解:世上先有鸡蛋后有鸡
Dreamweaver MX 2004从零开始(1)
利用CSS改善网站可访问性
如何让MM的脸通透可人
msn8.0下载
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息