2012-03-19 80 views
1

快速学习VB6的最佳途径或资源是什么?我需要尽快赶上新的岗位,我是从自学VBA的基础来的。所以我有两个主要需求。首先,化解不良的生活习惯,其次(更重要的)理解有效的方法来组织代码和功能等学习VB6快速

感谢

+1

唯一的好理由学习VB6是这样你就可以正确地迁移码出来的到的东西,还是有支持的开发环境(VB6的开发环境[进入结束期](http://msdn.microsoft 4年前的.com/en-us/vstudio/ms788708);运行时仍然通过Windows 8支持,至少已经构建的应用程序仍然可用)。如果您的新职位需要构建*新* VB6代码,建议对其迁移路径进行管理。 – 2012-03-19 11:14:31

+0

@BoltClock :--是的。虽然我完全可以看到,迫切需要帮助迁移码*关闭* VB6 ... – 2012-03-19 11:15:09

+2

'@ Marcoq'公司的人新的位置:从我先前的评论继:所以如果你是自学自己VBA,你” re已经处于良好状态,大多数情况下你只需要VB6参考信息,你可以在这里找到(http://msdn.microsoft.com/en-us/library/ff405713.aspx)。但是,再次假设他们没有编写新的VB6代码。 – 2012-03-19 11:17:27

回答

0

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

2

如果你仍然是一个年轻的活力程序员,跑开! VB6是一个死胡同。这个VB6演出只有在你将自己定位为VB6的可供出租的枪支时才有意义(“有笔记本电脑,将会出行”) - 如果你幸运的话,你可能会变得至关重要COBOL编码器。所以如果你必须......

查看MarkJ在上面的评论中给出的链接。你也可以谷歌“VB6编码标准”或“视觉基本6书”更多的想法。 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)不要Dim变量的If ... EndIfDo ... LoopFor ... Next,或任何其他此类块内 - 这将导致混乱了在VB.NET土地范围(或熟悉其他语言的人)。它可能会使代码更难阅读或遵循。 (5)总是DimAs - 即,除非绝对必要,否则不使用VariantObject。忘掉$(String)或%(Integer)等变量装饰 - 换句话说,不要使用它们,请使用As

(6)只要可能和适当,优选For Each高于For

(7)对于不会因SubFunction的副作用而改变的数值参数,优先选择ByVal而不是ByRef

(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开发不是懦夫 - 并应与二进制兼容性的正确理解和Virtual PC中完成。