|
事先说明,标题和下文的VB.NET是指VB6以后的各个版本的VB,不光指VB.NET 2002和VB.NET 2003。
记得当年我混某VB论坛时,那个论坛的VB.NET板块一直不温不火的,刚才查资料时无意中又进去了那个VB论坛,发现VB.NET板块还是不温不火的。说实话VB.NET(我只用过VB2008和VB2010)胜过VB6太多了,唯一不爽的就是要带.NET运行库,默认在XP上无法运行。但是现在XP所占的市场份额越来越少,WIN7所占的市场份额越来越多(WIN7自带.NET 3.5),这个问题也逐渐不是问题。另外有人诟病VB.NET没有VarPtr,其实完全可以自己做一个。如果你说多了个DLL太累赘,那我说你可以把DLL放进资源文件,用时再释放。有人说VB.NET找不到VB6里的经典函数了,其实它们大多数都在Microsoft.VisualBasic里。.NET对WIN32API进行了二次封装,用起来确实比直接用WIN32API方便不少。 2012-08-05补充:
今天是个好日子,不仅中国羽毛球队在伦敦奥运上包揽了五枚金牌,而且我还知道了如何在VB.NET的结构体里定义数组!
之前说过,VB.NET不允许直接在结构体里定义数组,比如如下的结构体就无法直接转为VB.NET的代码:- typedef struct _STRUCT
- {
- long aaa[32];
- char bbb[128];
- }
复制代码 不过我现在知道怎么定义了(举例如下):- Private Structure S_TEST
- <VBFixedArray(9)> Dim aaa() As Byte
- <VBFixedArray(9)> Dim bbb() As Long
- End Structure
- Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
- Dim xx As S_TEST
- ReDim xx.aaa(9) '一定要redim
- ReDim xx.bbb(9) '一定要redim
- MsgBox(Len(xx))
- End Sub
复制代码 得到的长度是90,与定义符合。发一个四字的评语:微软脑残。
未完待续,以后会不断补充一些关于VB.NET的使用感想和窍门等。 |
|