CSDN博客

img lihonggen0

VB6开发领航(一)

发表于2003/9/9 8:59:00  2846人阅读

分类: Visual Basic 6

VB6开发领航

Visual Basic 6以友好易学的可视化开发环境闻名于世,成为人们学习计算机编程的首选语言。大学课堂、培训机构都把她列入了教学内容。问许多刚学程序设计人,他们会什么?他们一般会回答:“我会VB!”但是,你要让他们用VB解决一些实际问题,我们就不说大型的软件,就是一个小小的进销存,他们做起来都会觉得吃力!设计不合理,BUG不断,客户需求的变化,软件不可避免地改动,可能会使用一个进销存软件陷入“泥潭”!如果开发一个大型软件,可以想象业务流程的繁锁,功能模块的复杂,用户需求多样化,许多开发小组都有可能陷入这个“焦油坑”(《人月神话》里比喻)

       笔者用VB进行了三年的软件开发,参与设计开发过十几个软件产品,曾为天津市外经贸委计算中心、天津通用软件有限公司主持过一些大型项目,特总结了VB开发之道,如果你正在用VB,但愿对你有所帮助:

 

第一章           良好的开始是成功的一半

Ø         扎实的基本功

掌握操作系统、数据结构、数据库、软件工程、高等数学等知识,这些基础知识都是在大学学来的,只要基础扎实,这就达到了这一点的要求。如果一个高中生,对软件开发又有极大的热情,那就得花大力补习这些知识。

 

Ø         兴趣是最好的老师

如果你对编程感兴趣,又渴望开发的软件,掌握一门编程语言是最为重要的了!在学习程序的过程中,会遇到很多的困难,如果你没有兴趣和耐心,是写不好程序的!

 

Ø         养成好的编程风格和习惯

1.         程序结构清淅,适当地加上注释

为每个过程加上注释

为过程中语句中加上适当注释

IF…….ENDIFFOR……NextDo……WhileSelect Case……End Select等循环,分支,条件语句进行缩进。

 

2.         规范地进行控件和变量命令

推荐使用以下方式进行命名:

在编程过程中,虽然不定义变量类型,VB会自动判断,便效率低,尽量在程序设计时定义变量。最好在模块最上方加上Option Explicit语句,这样强制必须定义变量。

 

 

Ø         提高代码的可读性

比如:

Rs.Open "Select * From table", CN, 1, 1

就不如Rs.Open "Select * From table", CN, adOpenDynamic, adLockBatchOptimistic更易读

 

Ø         注意释放资源

如果用到了如Recordset记录集,注意在Form_Unload事件中释放它

 

Ø         编写高质量的代码

比如尽量少定义Variant变量,在知道变量是整型时,不要定义为double型等      

一个最常见的例子:

  1.     Dim str(400) As String
  2.     For I = 0 To 400
  3.         str(I) = "" & I & ""
  4.         Text1.Text = Text1.Text & str(I)
  5.     Next

 

  1.     Dim str(400) As String
  2.     Dim strOut As String
  3.     For I = 0 To 400
  4.         str(I) = "" & I & ""
  5.         strOut = strOut & str(I)
  6.     Next
  7.     Text1.Text = strOut

       上面两段代码,第一段代码循环取Text属性,第二段代码用循环给变量strOut累计,最后赋值给Text属性。虽然两段代码都得到一样的结果,但是前者的速度就没法与后者相比。要知道存取变量的速度是存取属性的速度的20倍左右,尤其是在循环中!

       还在就是数据库开发人员在编写存储过程时,效率更应该考虑!比如用游标循环读取表操作,超过一万条记录就很慢了!所有说,我们要强调编写高质量的代码!

 

Ø         在重复对某一对象的属性进行修改时,尽量使用With....End With

 

Ø         将经常用到的功能写成模块,提高程序的通用性和可维护性

 

Ø         尽可能地使用枚举

枚举的格式为
[Public | Private] Enum name
membername
[= constantexpression]
membername
[= constantexpression]
....
End Enum

优点是:加快开发速度

 

Ø         调试

在调试的时候加断点

用立即窗口进行调试

或用Debug.Print输出到立即窗口

 

Ø         程序的错误处理

如果没有良好的错误处理,可能导致程序致辞命错误而退出!我们需要错误处理的过程中加入on error 语句进行错误处理。当然,也可以写一个全局的错误处理模块!

 

Ø         掌握一门数据库开发语言

目前大多数软件开发都用到了数据库,用到比较多的主要有AccessSQL ServerOracle等。

 

Ø         多看MSDN,多上网进行交流。

MSDN是编程人员不可缺少的东东,网站和论坛也是解决问题的好去处。

以下是我个人认为的不错的网站:

http://msdn.microsoft.com

http://www.csdn.net

http://www.vbgood.com

http://www.dapha.net

http://www.21code.com

http://www.vbeden.com

http://www.applevb.com

http://www.codestudy.net

http://www.vbaccelerator.com/

http://www.mvps.org/vbnet/

http://www.freevbcode.com/

http://www.pscode.com/vb/

http://www.allapi.net

 

 

 

 

 

 

第二章           用控件组合成一个软件

VB自身提供了许多控件,可以灵活地组合成一个软件。这里所说的组合,是指在业务逻辑的基础上进行组合,而不是随便地组合。

需要掌握的常用控件:工程--->部件--->

Ø         Microsoft Windows Common Controls 6.0

Ø         Microsoft Windows Common Controls 2-6.0

Ø         Microsoft Common Dialog Controls 6.0

Ø         Microsoft Flexgrid Controls 6.0

Ø         Microsoft Hierarchical Flexgrid Controls 6.0

Ø         Microsoft DataGrid Controls 6.0

Ø         Microsoft Internet Controls

Ø         Microsoft Winsock Controls 6.0

Ø         Microsoft Rich TextBox Controls 6.0

一般的软件,用到上述控件就基本上能完成大部分。

1.         首先,我们要学会菜单、工具栏、常用控件的使用,如果你想做浮动工具栏,可以使用ToolBarCoolBarMicrosoft Windows Common Controls 3-6.0中有个CoolBar),右键CoolBar——>属性-——>带区——>子——>里加入一个ToolBar,这样工具条就可以移动了!

 

2.         其次,我们要熟练掌握以上控件的属性、方法的使用。软件的界面就是由一些控件组合而成!用户界面是软件可操作性,可用性的体现,我们来看一个例子:

客户管理是一般企业管理软件的常用功能,包括客户增加、删除、查询、打印、维护等,怎么设计这个界面呢?一般来讲,企业的客户一般有分类,分为直接客户、经销客户等等, 有些企业分为国内客户、国外客户等,不同的企业有不同的分法。

则我们可以这样设计:

l         左边一个TreeView,显示客户分类,每种分类用不同的图标表示。(我们可以把客户分类存在数据库中,客户可以维护分类)

l         右边是一个客户列表,用表格显示,一般用MSHFlexGrid或者是ListView的表格形式。

l         当点击左边TreeView的一个节点,右边表格刷新数据,显示当前分类的数据。

l         窗体上方,加一个工具栏,主要有增加、删除、查询、打印、退出等按钮。

l         在右边的客户列表,我们还可以做个右键菜单,可以实现编辑(弹出一个新窗口,编辑当前所选择的客户,还可以在新窗口中打印当前客户资料等)、删除等。

这个界面设计就基本成型了!如果你熟悉数据库SQL ,这个功能就很容易实现!

界面类似于这个:http://www.gci-corp.com/images/fy.gif

 

3.         如果为了完成某项功能,没有能力或时间开发控件的,可适当使用第三方控件。

 

 

第三章           怎样成为一个开发高手

 

Ø         熟练使用API

API说到底就是一系列的底层函数,是系统提供给用户用于进入操作系统核心,进行高级编程的途径。如果您想出类拔萃,那么您就不得不学习 APIApplication Program Interface,Windows的应用程序编程接口)编程。不懂API,那可成不了高手。

1)        利用API,我们可以扩展VB标准控件的功能。很明显的,Windows中的控件提供了比VB中的控件多的多的属性。也许Microsoft认为,一个用VB的程序员,永远不会碰到那些属性。

 

比如TextBox控件,就少一个属性得到它所包含的文本行数,我们可以利用SendMessage很容易就得到:

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _

     ByVal wMsg As Long, _

     ByVal wParam As Long, _

     lParam As Any) As Long

Const EM_GETLINECOUNT = &HBA

 

Public Function LineCount(txtBox As TextBox) As Long

     LineCount = SendMessage(txtBox.hwnd, EM_GETLINECOUNT, 0&, 0&)

End Function

 

Private Sub Command1_Click()

    MsgBox LineCount(Text1)

End Sub

 

 

 

Ø         掌握ActiveX 控件开发

VB 6 的“外接程序”菜单下,有个“外接程序管理器”------à选中“ActiveX接口向导”,让他启动/加载,以后我们就可以使用ActiveX接口向导,生成控件的一些常属性、方法、事件。

VB的安装盘和一些网站都有许多控件源码,如http://www.dapha.net

当然,开发一个好的控件也并非易事,他需要程序员的经验积累!

 

Ø         能进行COM+的开发

COM+提供了企业应用所需要的通用基础设施,使程序员和用户把注意力和精力集中在业务逻辑上,而不是基础设施上。

优点:使组件尽可能地通用、编译时刻特性与运行时刻特性分离、与以前的COM组件兼容、客户和组件的透明性。

大家可以参考:

http://www.icst.pku.edu.cn/CompCourse/

 

Ø         能进行多种语言的混合编程

每种开发语言都有自己的优势和劣势,有时我们要取长补短。一个好的开发人员,想做一个东西,一般不会受开发工具的限制。他们总是寻找一个好的解决办法,当然不是一味的追求技术上卓越,我们需从时间和金钱上考虑是否可行!如果VB开发人员还会VC,这样会如鱼得水!

 

小结:

       如果你已经会了上述的要求,开发过大型软件,具备了一定经验,一般可以成为开发队伍中的技术骨干。这时,你就需要进一步提升。一般项目经理的职位,管理十人以内的员工,这样的职位还是可以争取到的!你可别小看这个职位,它是锻炼你管理能力的好机会!这时,我们就得学会如何带领团队进行软件开发!

 

下期预告:

第四章    系统分析和架构

第五章    带领团队进行软件开发

 

‘***************************************************************

‘Author:李洪根

‘E-MAIL:   lihonggen0@163.com    lihonggen0@gci-corp.com

个人专栏:http://www.csdn.net/develop/author/netauthor/lihonggen0/

如需引用,请指明出处! CSDN论坛VB版欢迎您!

‘***************************************************************

 

 

 

 

 

 

 

 

0 0

相关博文

我的热门文章

img
取 消
img