标签: vb6-migration

我不知道ADODB.Recordset是什么

我正在将VB6应用程序转换为C#.我开始在VB6应用程序的顶部,并从那里开始.什么是RS.东西?我不明白?

Sub Main()
    Dim RS As ADODB.Recordset
    Dim FileName As String, FilePath As String
    Dim Test As Boolean
    Dim ResultCode As xcdError

    Dim oAccess As Access.Application
    Dim Zip_File As String

    On Error GoTo ErrorHandler

    ' Make a connection to the database
    Call MakeDBConnection

    ' Create a recordset of the directories to check
    Set RS = New ADODB.Recordset

    RS.ActiveConnection = DB
    RS.CursorType = adOpenDynamic
    RS.LockType = adLockOptimistic
    RS.Open "Select ConversionDefinition.* From ConversionDefinition"
    ' Check the directories for Raw Data
    ' If …
Run Code Online (Sandbox Code Playgroud)

c# vb6 vb6-migration

0
推荐指数
1
解决办法
767
查看次数

VB6复制数组AutoCAD

我正在将我们的VBA AutoCAD脚本转移到VB.NET,但我发现了一个警告.VB.net 2010给我一个警告,这个代码是绝对的,并且有时不能用于64位.

由于我们的vba文件和AutoCAD 2012和Windows 7 X64存在问题,该程序需要64兼容.我需要使用什么而不是VB6.CopyArray?

If Flipline = True Then
        P1 = VB6.CopyArray(Endpoint)
        P2 = VB6.CopyArray(Beginpoint)
    Else
        P1 = VB6.CopyArray(Beginpoint)
        P2 = VB6.CopyArray(Endpoint)
    End If
Run Code Online (Sandbox Code Playgroud)

vb.net vb6 vba autocad vb6-migration

0
推荐指数
1
解决办法
1444
查看次数

需要将VB 6表单转换为Html表单

我们使用visual basic 6开发了一个独立的应用程序.现在我们将独立应用程序更改为Web应用程序.有没有办法将VB6表单转换为纯HTML表单,以便我的工作将减少很多.请提出你的建议.

编辑:我是VB6和.net技术的新手

html forms vb6 vb6-migration

0
推荐指数
1
解决办法
3683
查看次数

这个VB6 Rnd()调用的C#等价物是什么?

我有一个问题,VB代码Int(Rnd() * 75) + 75)将它转移到C#.我试过了

Random random = new Random
random.Next( 75 ) + 75
Run Code Online (Sandbox Code Playgroud)

但它不对.请帮我.

谢谢

c# vb6 random vb6-migration

0
推荐指数
1
解决办法
7318
查看次数

.NET中是否支持Twips?

我在VB6到DotNet Migration项目中工作.在我们的VB 6项目中,他们正在计算Twips中的一些鼠标移动事件,但是当它在VB.NET中转换时,将鼠标移动值作为像素.缇是缇在.NET中支持?

任何人都可以告诉我吗?

vb6 vb6-migration vb.net-2010

0
推荐指数
1
解决办法
998
查看次数

如何为const char*和int重载operator +

我知道这很愚蠢,但我正在自动迁移一些代码.我的源语言允许字符串和整数之间的隐式转换,例如,这是允许的:

var = "hello " + 2
print(var) # prints "hello 2"
Run Code Online (Sandbox Code Playgroud)

可我怎么在C++重载+运算符const char*int?我收到错误:

错误:'std :: string operator +(char*const&,int)'必须具有类或枚举类型的参数

c++ vb6-migration c++11

0
推荐指数
1
解决办法
1838
查看次数

VB.NET UBound功能实际上做了什么,为什么MSDN文档看起来不准确?

UBound函数在VB.NET中实际做了什么,为什么MSDN文档看起来不准确?

根据MSDN文档(这里)的UBound函数:

返回数组指示维度的最高可用下标.

进一步来说:

指定维度的下标可以包含的最高值.如果Array只有一个元素,则UBound返回0.如果Array没有元素,例如,如果它是零长度字符串,则UBound返回-1.

但是,在我的测试中(以及在文档中找到的一些示例中),UBound函数返回数组的长度而不是最高的可用下标:

来自MSDN文档的关于UBound函数的图像

同样重要的是要注意,对于包含一个元素的数组,UBound返回1,而不是文档所述的0.


回答答案:

我现在看到,当您在vb.net中声明一个数组时,您声明所需的最高下标而不是C#中数组的长度.

理解这一点,我现在明白为什么UBound为声明的数组返回1而不是0 Dim c(1).因为这个数组的最高下标为1,因此给它2个元素.此外,要声明一个在vb.net中只有一个元素的数组,它应该像这样声明Dim b(0).

在此输入图像描述

.net vb.net vb6-migration

0
推荐指数
1
解决办法
7848
查看次数

VB返回值

我目前正在将一些代码从VB6.0迁移到VB.NET,并注意到了一个问题.我是VB6.0的新手,现在我知道可以通过以下方式返回多个值:

Function test(str1 As String, str2 As String) As Long

str1 = "Hello World1"
str2 = "Hello World2"

test = 0

End Function
Run Code Online (Sandbox Code Playgroud)

当我调试时,我可以看到传递的参数现在已更新.但是我的问题是VB.NET似乎没有这样做.我怎么能在VB.NET中做到这一点?

任何意见,将不胜感激.

vb.net vb6 parameters vb6-migration

0
推荐指数
2
解决办法
168
查看次数

设置默认属性失败,因为它是只读的?

此代码已从 VB6 转换为 VB.Net:

Public prvMainForm = VB6Form    
If prvMainForm IsNot Nothing Then
    CObj(prvMainForm).StatusBar.Panels(1) = "Initializing Folders..."
End If
Run Code Online (Sandbox Code Playgroud)

(我的代码很长,所以我刚刚添加了这个if块,它是实际发生错误的地方。)

在 If 语句中的单行上可以看到错误:

属性“项目”是“只读”

vb.net vb6-migration

0
推荐指数
1
解决办法
173
查看次数

vb.net中的LockWindowUpdate而不使用dll?

我是从vb到vb.net的API转换的初学者。在vb6中,它们使用user32 DLL。在Vb.Net中,我需要调用LockWindowUpdate Function()而不使用“ User32.dll”函数。

在不使用vb​​.net中任何API调用的情况下,有什么方法可以锁定窗口状态?

如果等效的话,请让我告诉我这些代码。该代码应在.net框架中使用。

VB

Private Declare Function LockWindowUpdate Lib "user32"
  (ByVal hWnd As Long) As Long

LockWindowUpdate Form1.hWnd
Run Code Online (Sandbox Code Playgroud)

c# vb.net pinvoke vb6-migration

-1
推荐指数
1
解决办法
1461
查看次数

适用于VB.NET但不适用于C# - 字节转换

所以我将一些代码从VB.NET迁移到C#,但是当它在C#中进行字节解析时失败了.

这是VB.NET代码可以工作:

Dim sModifiedAccountNumber_AsciiHex
Dim iByte As Byte = 0
Dim iIdx As Integer = 0
Dim strByte As String = String.Empty

sModifiedAccountNumber_AsciiHex = "FC13"
For iIdx = 1 To 3 Step 2

    iByte = CByte("&H" & Mid$(sModifiedAccountNumber_AsciiHex, iIdx, 2))
    If iByte >= 120 And iByte <= 127 Then
        iByte = iByte Or &H80
        strByte = Hex$(iByte)
        Do While Len(strByte) < 2
            strByte = "0" & strByte
        Loop
        Mid$(sModifiedAccountNumber_AsciiHex, iIdx, 2) = strByte
    End If

Next
Run Code Online (Sandbox Code Playgroud)

C#版本:

string modAccountNumberAsciiHex = …
Run Code Online (Sandbox Code Playgroud)

c# vb.net vb6-migration

-1
推荐指数
1
解决办法
733
查看次数

VB6.0,VB2010,VB.NET的区别

我学过VB 6.0但几乎没有.NET知识.有人可以告诉我三个版本的区别,即VB6.0,VB 2010 express和VB.NET?

vb.net vb6-migration

-2
推荐指数
1
解决办法
9622
查看次数

标签 统计

vb6-migration ×12

vb.net ×7

vb6 ×6

c# ×4

.net ×1

autocad ×1

c++ ×1

c++11 ×1

forms ×1

html ×1

parameters ×1

pinvoke ×1

random ×1

vb.net-2010 ×1

vba ×1