45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:VB6开发领航的方法

VB6开发领航的方法

2016-09-09 06:55:10 来源:www.45fan.com 【

VB6开发领航的方法

VB6开发领航

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

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

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

Ø 扎实的基本功

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

Ø 兴趣是最好的老师

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

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

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

为每个过程加上注释

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

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

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

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

VB6开发领航的方法

在编程过程中,虽然不定义变量类型,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&)


本文地址:http://www.45fan.com/dnjc/73916.html
Tags: 开发 VB6 领航
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部