学习VB6快速

时间:2012-03-19 11:09:49

标签: vb6

快速学习VB6的最佳方式或资源是什么。我需要尽快加快新职位的速度,而且我来自自学VBA的基础。所以我有两个主要需求。首先,消除坏习惯,其次(更重要的是)理解构建代码和函数等的有效方法。

由于

2 个答案:

答案 0 :(得分:2)

如果你还是一个年轻有活力的程序员,那就逃跑吧! VB6是一个死胡同。如果你将自己定位为VB6'er-for-hire(“有笔记本电脑,将会旅行”)类型的话,这个VB6演出才有意义 - 如果你很幸运的话,你可能会像COBOL编码器。所以如果你必须......

查看MarkJ在上述评论中给出的链接。您还可以谷歌“vb6编码标准”或“visual basic 6 books”获取更多创意。 Bruce McKinney撰写的“Hardcore Visual Basic”,http://vb.mvps.org/hardcore/免费在线提供(关于Win32 API和COM的很多好东西),第1章,“语言净化”,值得一读,应该是有助于解决一些不良习惯。

我的建议是学习C#或Java(正如MarkJ推荐的那样),并追踪有关为这些语言编写的编码标准和最佳实践的好书或网站。从那里,采用或适应您的VB6编码风格。

以下是我的VB6特定防坏习惯提示:

(1)始终使用Option Explicit。小心或以其他方式避免使用其他Option语句。

(2)避免使用DoEvents - 而是找到一种方法来使计时器或事件发生。知道主要事件循环是什么。知道消息泵是什么。知道VB6应用程序的核心是一个主事件循环,它为消息泵提供服务(隐藏在VB6程序员之外)。 DoEvents是一种作弊,经常以泪水结束。

(3)避免Option Base。在尺寸数组中避免使用To。数组的第一个元素的索引应为零。

(4)DimIf ... EndIfDo ... Loop或任何其他此类块中的For ... Next变量不会导致VB中的范围混淆.NET土地(或熟悉其他语言的人)。它可能使代码更难阅读或遵循。

(5)始终DimAs - 除非绝对必要,否则请勿使用VariantObject。忘掉变量装饰,例如$(String)或%(Integer) - 换句话说,不要使用它们,使用As

(6)在可能和适当的情况下,优先For Each优先于For

(7)首选ByVal超过ByRef的数字参数,不会被SubFunction作为副作用更改。

(8)将On Error Resume Next视为有毒的东西,并尽可能避免。你一定要用吗?评论详细解释为什么需要它,然后尽快关闭它。也许将其封装在自己的Sub或Function中。

(9)了解模型/视图/控制器(MVC)设计模式。避免将任何业务逻辑放入表单中。

(10)首选BooleanTrue vs False)优先于Integer0 vs 1-1)或(天堂帮助我们!)String"N" vs "Y")。假设Dim MyFlag As Boolean,知道If MyFlag = True Then使我怀疑其他编码器没有得到Boolean。首选If MyFlag ThenIf Not MyFlag Then

(11)ActiveX / COM开发不适用于wimps - 应该在正确理解二进制兼容性和虚拟PC的情况下完成。

答案 1 :(得分:0)

无论您是学习VB6来维护现有的VB6还是将其迁移到.NET或其他更现代的语言,您都应该尝试加快标准的面向对象方法。类,对象,封装,继承(VB6主要使用接口继承,但如果你可以获得一个句柄,那么你就是90%)。此外,VBA没有正确的表单,因此您需要了解VB6 GUI Forms archetecture的工作原理。