.NET还是需要一定的处理工作的。本文将为大家介绍迁移的过程。向您推荐《VB.NET教程 - Visual Basic.NET开发指南》
成都创新互联总部坐落于成都市区,致力网站建设服务有做网站、成都网站建设、网络营销策划、网页设计、网站维护、公众号搭建、小程序设计、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
在工作中,可能会碰到需要将VB编写的代码迁移到VB.NET的情况,有好多细节需要处理。好在互联网发展了这么多年,好多问题在互联网上都有答案,所以需要的时候搜索一下就能解决。
本人也碰到了从VB迁移到VB.NET的情况,现将碰到的问题及其解决方法或替代方法做一个总结,方便后来人。
首先,建议看一下这篇英文文章《Converting VB6 to VB.NET》,讲述了一般的迁移步骤。
其次,下载Microsoft Visual Basic Power Pack
TAG 可以这样用
在一组数据(SQL)提取的数据结果(姓名、班级、年龄。。。)要显示到LABEL
那么不用tag的话,需要做成LABEL1.CAPTION=AAA.FIELDS("姓名").VALUE
LABEL2.CAPTION=AAA.FIELDS("年龄").VALUE
建立LABEL数组,利用TAG,将字段特性写到TAG里
label1(1).tag="姓名"
LABEL1(2).TAG="年龄"
提取数据时,可以用循环
FOR I=1 TO LABEL1.COUNT
LABEL1(I).CAPTION= AAA.FIELDS(LABEL1(I).TAG).VALUE
NEXT I
Dim file1 As FileStream
filename = "c:\temp\MyTest.txt"
Dim GetData(4) As Byte, s(4) As Char
file1 = System.IO.File.OpenRead(filename)
Dim CMGs As Long
Dim DPBo As Long
Dim i As Integer = 0, j As Integer
While file1.Read(GetData, 0, 5) 0
i = i + 1
For j = 0 To 4
s(j) = ChrW(GetData(j))
Next
If s = "CMG=""" Then CMGs = i
If s = "[Host" Then DPBo = i - 2 : Exit While
End While
主要是vb.net取消了定长字符串, 所以用字节数组读入, 还得转成字符数组来比较.
不知道你想实现什么功能。
如果你的意思是使用某种WINDOW API相对应的功能。需要查看MSDN中
.NETFRAMEWORK是否有相关的类库与函数。
VB中Declare 用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。
可以引用windows api的函数。
但是如果你需要寻找一些你需要的类似WINDOWSAPI功能的函数。例如:FindWindow. 有一些函数功能类似。
例如 :Process currentProcess = Process.GetCurrentProcess();
IntPtr hWndToProcess = currentProcess .MainWindowHandle;
获得程序进程的窗口。
但是要是获得桌面窗口这个就要用到api了。
C#.net优点:
运算符重载。不安全代码(指针和固定内存区)、 无符号整数、移位运算。
VB的优点:
即时编译、静态事件绑定、条件异常捕获、COM兼容类、宽松的类型检查和变量声明、Visual Basic Runtime库、可选参数、带参数属性、模块等语言特征、动态数组。
通过VB.NET开发好的程序绝对没有问题(包括Direct X游戏开发)。虽然VB.NET的资料少,但是只要C#支持的VB.NET都支持(大体上这样,因为都要经过MSIL中间环节。除了指针之类的VB.NET不支持C#支持,但是没有多大实际用处)。
vb.net的资料以英文资料居多(只有英文资料才有看头,中国的没有什么好资料),得看看英文水平过不过关。还有VB.NET的ide也比C#的IDE好得多,代码看得也舒服。(C#的大括号{}太烦人)。
至于VB6对C的帮助,只是理解上会容易一些,其它用处不大。有VB6的基础学VBNET会方便一些,但是并不是会VB6就会VB.NET,它们差别也不小。
扩展资料:
NET、C#和ASP.NET之间的区别 :
1、NET是一个平台,一个抽象的平台的概念。
NET 平台其本身实现的方式其实还是库,抽象层面上来看是一个平台。
基本可以理解的NET核心就是NETFramwork。
NETFramework包括两个关键组成元素:
a. CommonLanguageRuntime,公共语言运行时(CLR0)-提供内在管理,代码安全性检测等功能。
b. NETFrameworkClassLibrary,.NET 框架类库(FLC)-提供大量应用类库,提高开发效率。
学习NET Framework 是所有.NET开发人员都必须的,否则开发NET程序永远都是停留在‘外功’的招式,NETramework 是NET开发高手的‘内功’修行之一。
2、C#是一个程序设计语言,仅仅是一个语言。
程序设计语言仅仅是为了方便开发人员和计算机沟通的工具,虽然 C#语法相对 C 和 C+要多一些,但是相对来看 C#语法都比较固定,这样使用起来却都很容易。我认可一位朋友说的,C#的语法更严谨!
这里回过来看看NET和C#的关系,不得不提的是NET程序的执行过程。
C#符合NETCLR 中的公共语言运行规范。CLS:commonlanguagespecification,当然所有的NET Language 都是符合这个规范的例如:VB.NET、XAML 和 C++/CL等等。
C#需要符合NETCLS,是因为NETCLR和JAVA虚拟机类似,有一个中间语言共机器来执行。所有不同语言的.NET代码在执行前会被编译成同样的中间语言(MSIL),所以所有NET 支持语言都必须符合符合CLS 规范。
P.S:如果做.NET3.0XAML开发的朋友,可以尝试下ildasm.exe看看XAML的应用程序,会发现原来 XAML其实很简单。
3、ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。
用微软公司ASP.NET快速入门中的一句话来解释,ASP.NET是用于生成基于Web的应用程序的内容丰富的编程框架。
ASP.net 和C#的区别:
编写asp.net通常包括两部分的代码:网页层和后台处理层,网页就是用标记语言来写的,而网页对应的后台处理程序则需要.net语言来完成,目前主要是采用c#和vb.net。
可以说整个的asp.net网站通过c#或者vb.net来实现。而c#则是ms .netframework的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。
如果我理解不错的话,你是在用vb6调用office 的COM interface来做automation的。要想改变眉页的东西似乎需要先改变视图,然后加入一个表格(如果你说的表格是table的话),然后修改table的内容,最后再跳回到main document视图。
这是我用vba录的宏,应该很容易修改成vb6的代码。我手上没有vb6,不过我估计差不多。大家一般用vb6乃至.net来做office的automation,不知道的东西都是用vba录宏然后翻译的。
================
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
With Selection.Tables(1)
If .Style "Table Grid" Then
.Style = "Table Grid"
End If
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = False
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = False
.ApplyStyleRowBands = True
.ApplyStyleColumnBands = False
End With
Selection.TypeText Text:="cell1"
Selection.MoveRight Unit:=wdCell
Selection.TypeText Text:="cell2"
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
--------