vb编码(一)

开始编码之前

在 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所示)。为了在两个视图之间进行切换,利用编辑器窗口左下角的“查看选择”按钮。

时间: 2024-09-06 03:20:15

vb编码(一)的相关文章

VB编码的排列问题,怎么代入变量呢?

问题描述 VB编码的排列问题,怎么代入变量呢? VB编码的排列问题,1xyz2345,其中x y z必须都不同,也可能是1 x y 345,总之变量个数也不确定,所以不能直接循环,请问这种情况下怎么穷举呢? 解决方案 http://blog.chinaunix.net/uid-24753924-id-177343.html 解决方案二: 没怎么明白..说具体点吧,加个例子啥的

vb编码(二)

自动完成编码Visual Basic 能自动填充语句.属性和参数,这些性能使编写代码更加方便.在输入代码时,编辑器列举适当的选择.语句或函数原型或值.通过"工具"菜单上的"选项"命令访问"选项"对话框,在"选项"对话框的"编辑器"选项卡上可用这样的选项,由它们决定是允许还是禁止各代码的设置值.在代码中输入一控件名时,"自动列出成员特性"会亮出这个控件的下拉式属性表(图 5.5).键入属性

vb神童教程(续)

第一部分:vb数据库操作实例 vb神童教程(续)--编写一个小型的信息管理系统 vb神童教程(续)--准备数据库 vb神童教程(续)--设计系统的界面及对象的属性 vb神童教程(续)--为对象添加事件代码 第二部分:补充内容 vb神童教程(续)--ODBC数据源简介 vb神童教程(续)--配置Access数据源 vb神童教程(续)---配置SQL Server数据源 vb神童教程(续)--VB的ADO对象 vb神童教程(续)--vb adodb Connection对象简介 vb神童教程(续)-

Access的特点及其概念问答

扫盲大讲堂:Access的特点及其概念问答 问题: 这里只解决一个问题,到底什么是Access? 设计一个数据库管理系统,用access 在access里面设计好表,查询,然后再用vb做窗体做连接,跟在access里面设计窗体,报表 再调VBA来编代码有什么区别吗 我们是分成几个组做的,但其他人好像没这个意识,我觉得直接在access里把一切都作好再调用 vb编码好像 更容易一点 我不明白,MDB到底是什么,假如说SQL是一个后台数据存储库,那ACCESS既是后台又是前台,这么说,SQL和ACC

Access新手来看:Access的特点、概念

access|概念 Access新手来看:Access的特点.概念   问题: 这里只解决一个问题,到底什么是Access? 设计一个数据库管理系统,用access在access里面设计好表,查询,,然后再用vb做窗体做连接,跟在access里面设计窗体,报表 再调VBA来编代码有什么区别吗我们是分成 几个组做的,但其他人好像没这个意识,我觉得直接在access里把一切都作好再调用 vb编码好像 更容易一点    回答: 1.Access是一个前后台结合的"软件".也就是说Access

Access的特点

只解决一个问题,到底什么是Access? 设计一个数据库管理系统,用access 在access里面设计好表,查询,然后再用VB做窗体做连接,跟在access里面设计窗体,报表 再调VBA来编代码有什么区别吗? 我们是分成几个组做的,但其他人好像没这个意识,我觉得直接在access里把一切都作好再调用 vb编码好像 更容易一点 我不明白,MDB到底是什么,假如说SQL是一个后台数据存储库,那ACCESS既是后台又是前台,这么说,SQL和ACCESS同样都可以被调用,那为什么还要SQL呢,ACCE

关于xml编码问题在VB,PHP,JAVA下的解决方案

xml|编码|解决|问题     最近碰到一个项目,需要将申报文件存成XML的格式,编码问题着实让我头疼了一会.现在全部统一成UTF-8编码.具体在各种语言下的操作 这里,我用DOM进行XML解析,应为它简单. 1 客户首先使用VB进行编辑表单,生成一个apply.xml文件. 在VB中,使用MSXML 4.0.如果不设定编码方式,保存的时候,文件默认就是UTF-8编码     Set dom = CreateDOM    Set node = dom.createProcessingInstr

VB.net 编码规范(也适用于C#) Ninputer(原作) (转贴,只作建议)

编码|规范 VB.net 编码规范(也适用于C#)    Ninputer(原作)关键字    VB.net 编码规范在开发中保持良好的编码规范是十分重要的.我所采用的新的VB.net编码规范,是一种被证明能明显改善代码可读性,并有助于代码管理.分类的编码规范.采用这种编码规范,能避免如匈牙利命名法带来的繁长前缀,便于记忆变量的用途.下面的介绍这种编码规范.一.类型级单位的命名1.类.以Class声明的类,都必须以名词或名词短语命名,体现类的作用.如:Class Indicator当类是一个特性

VB.net 编码规范

编码|规范 VB.net 编码规范 作者: Ninputer   www.ASPCool.com   在开发中保持良好的编码规范是十分重要的.我所采用的新的VB.net编码规范,是一种被证明能明显改善代码可读性,并有助于代码管理.分类的编码规范.采用这种编码规范,能避免如匈牙利命名法带来的繁长前缀,便于记忆变量的用途.下面的介绍这种编码规范.   一.类型级单位的命名   1.类.   以Class声明的类,都必须以名词或名词短语命名,体现类的作用.如:   Class Indicator