VB6转换成VB.NET之后出现2处错误,请大家帮忙 看一下。谢谢大家

elvayu123 2015-12-26 09:05:54
将一个VB6项目源代码用VB.NET 2008转换后,出现了一些错误提示,请大家帮忙看一下。

1、
VB6中代码
Dim strbyte(64) As Byte,TempStr As String
TempStr = StrConv(strbyte, vbUnicode)

转化成VB.NET中代码
TempStr = StrConv(System.Text.UnicodeEncoding.Unicode.GetString(strbyte), vbUnicode)
运行时提示 错误:未声明名称“vbUnicode”

2、
VB6中代码
Dim InString As String , bytBuffer() As Byte
ReDim bytBuffer(LenB(StrConv(InString, vbFromUnicode)))

VB.NET中代码
Dim bytBuffer() As Byte
ReDim bytBuffer(LenB(StrConv(InString, vbFromUnicode)))

运行时提示 错误:1、未声明名称“LenB” 2、未声明名称“vbFromUnicode”
...全文
207 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuanhao1012 2015-12-28
  • 打赏
  • 举报
回复
升级到VB.NET之后有些函数是没有的,需要添加引用程序集MICROSOFT visual basic
Tiger_Zhao 2015-12-28
  • 打赏
  • 举报
回复
Imports System.Text

Module Module1

    Sub Main()
        Dim strbyte() As Byte = {&H61, &H62, &H63}
        Dim TempStr As String = Encoding.Default.GetString(strbyte) '不需要StrConv(),直接用默认编码解码即可'
        Console.WriteLine(TempStr)

        Dim InString As String = "abc中文"
        Console.WriteLine(Encoding.Default.GetByteCount(InString)) '计算长度'
        Dim bytBuffer() As Byte = Encoding.Default.GetBytes(InString) '直接取得字节序列'
        Console.WriteLine(BitConverter.ToString(bytBuffer))

        Console.ReadLine()
    End Sub

End Module
abc
7
61-62-63-D6-D0-CE-C4
Poopaye 2015-12-26
  • 打赏
  • 举报
回复
LenB(StrConv(InString, vbFromUnicode)) --------> StrConv(InString, vbFromUnicode).Length * 2;
Poopaye 2015-12-26
  • 打赏
  • 举报
回复
这些是常量 Const vbUnicode as Integer = 64 Const vbFromUnicode as Integer = 128

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧