精华内容
下载资源
问答
  • Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Private Sub Command1_Click() Dim test(0 To 3) As Byte Dim i As L

     

    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

    Private Sub Command1_Click()
        Dim test(0 To 3) As Byte
        Dim i As Long, j As Long
        i = 1000
        '从long转化为byte数组
         CopyMemory test(0), i, 4
         '从byte数组转化为long
         CopyMemory j, test(0), 4
         MsgBox j
    End Sub

     

    或者根据下面的代码中的函数进行转换:
    Public Function HiByte(ByVal wParam As Integer) As Byte
      'note: VB4-32 users should declare this function As Integer
       HiByte = (wParam And &HFF00&) / (&H100)
    End Function

    Public Function LoByte(ByVal wParam As Integer) As Byte
      'note: VB4-32 users should declare this function As Integer
       LoByte = wParam And &HFF&
    End Function

    Public Function HiWord(wParam As Long) As Integer
       If wParam And &H80000000 Then
          HiWord = (wParam / 65535) - 1
       Else
          HiWord = wParam / 65535
       End If
    End Function

    Public Function LoWord(wParam As Long) As Integer
       If wParam And &H8000& Then
          LoWord = &H8000& Or (wParam And &H7FFF&)
       Else
          LoWord = wParam And &HFFFF&
       End If
    End Function

    Public Function LoWordCM(wParam As Long) As Integer
      'using API
       CopyMemory LoWordCM, wParam, 2
    End Function

    Public Function LShiftWord(ByVal w As Integer, ByVal c As Integer) As Integer
       Dim dw As Long
       dw = w * (2 ^ c)
       If dw And &H8000& Then
          LShiftWord = CInt(dw And &H7FFF&) Or &H8000&
       Else
          LShiftWord = dw And &HFFFF&
       End If
    End Function

    Public Function RShiftWord(ByVal w As Integer, ByVal c As Integer) As Integer
       Dim dw As Long
       If c = 0 Then
          RShiftWord = w
       Else
          dw = w And &HFFFF&
          dw = dw / (2 ^ c)
          RShiftWord = dw And &HFFFF&
       End If
    End Function
    '两个byte转换为一个integer
    Public Function MakeWord(ByVal bHi As Byte, ByVal bLo As Byte) As Integer
       If bHi And &H80 Then
          MakeWord = (((bHi And &H7F) * 256) + bLo) Or &H8000&
       Else
          MakeWord = (bHi * 256) + bLo
       End If
    End Function
    '两个integer转换为一个long
    Public Function MakeDWord(wHi As Integer, wLo As Integer) As Long
       If wHi And &H8000& Then
          MakeDWord = (((wHi And &H7FFF&) * 65536) Or _
                        (wLo And &HFFFF&)) Or &H80000000
       Else
          MakeDWord = (wHi * 65535) + wLo
       End If
    End Function
     

    展开全文
  • VB Byte数组转换为字符串(兼容英文),VB Byte数组转换为字符串(英文),VB Byte数组转换为字符串(兼容中文),VB Byte数组转换为字符串(兼容英文),VB Byte转换为字符串,VB Byte转换字符串,VB Byte转字符串,VB ...
    VB Byte数组转换为字符串(兼容中英文),VB Byte数组转换为字符串(中英文),VB Byte数组转换为字符串(兼容中文),VB Byte数组转换为字符串(兼容英文),VB Byte转换为字符串,VB Byte转换字符串,VB Byte转字符串,VB Byte字符串,VB Byte,VB 两个Byte二进制值 合并转换为中文,VB 两个Byte二进制值 转换为中文,VB 两个Byte二进制值 合并为中文,VB 两个二进制值 合并转换为中文,VB 两个Byte值 合并转换为中文,VB 两个二进制值合并为中文,VB
     两个Byte转换为中文,VB Byte转换为中文,VB Byte 中文。
    

    VB Byte数组转换为字符串(兼容中英文):

    Public Function ByteToStr(B() As Byte) As String 'Byte数组转字符串
    Dim I, Tmp As String
    For Each I In B '枚举整个数组赋值给I
    If I > 127 Then '如果为汉字编码.(大于127为汉字,占两个字节)
    If Tmp <> "" Then '如果临时变量不为空(为空为第一字节)
    ByteToStr = ByteToStr & Chr(Tmp * 256 + I) '合并两个字节,转换为汉字.累加数据
    Tmp = "" '清空临时变量
    Else
    Tmp = I '储存临时变量
    End If
    Else
    ByteToStr = ByteToStr & Chr(I) '转换为汉字,累加数据
    End If
    Next
    End Function

    VB 两个Byte二进制值 合并转换为中文:Chr(Text1.Text * 256 + Text2.Text)

    展开全文
  • VB 6.0中Byte数组和String转换

    千次阅读 2012-04-07 16:09:09
    VB里,Byte数组和String可以互相赋值,利用这个特性处理字符串非常方便。 如果是处理大量文本,以下用法应该熟悉。 字符串与Byte数组互相赋值: tBytes()=tString tString=tBytes() 需要注意的是...

    在VB里,Byte数组和String可以互相赋值,利用这个特性处理字符串非常方便。

    如果是处理大量文本,以下用法应该熟悉。

    字符串与Byte数组互相赋值:
    tBytes()=tString
    tString=tBytes()

    需要注意的是,在VB内部字符串是UniCode表示的,而Asc函数返回的是Ascii和GBK编码(也就是默认代码页的编码)。因此,Asc函数返回的编码值与上面的Byte数组返回的值可能是不同的。

    从Ascii/GBK文本获得Unicode数组:
    tBytes()=StrConv(tString,vbUnicode)

    从Unicode文本获得Ascii/GBK数组:
    tBytes()=StrConv(tString,vbFormUnicode)

    从Ascii/GBK数组获得Unicode文本:
    tString=StrConv(tBytes(),vbUnicode)

    从Unicode数组获得Ascii/GBK文本:
    tString=StrConv(tBytes(),vbFormUnicode)

    快速读取文本文件:

    '将文本文件整个读到Byte数组:
    Dim   tBytes()   As   Byte
    tFN=FreeFile
    Open   pFileName   For   Binary   As   #tFN
        tFileSize=LOF(#tFN)
        ReDim   tBytes(tFileSize-1)
        Get   #tFN,1,tBytes()
    Close   #tFN
    tString=StrConv(tBytes(),vbUnicode)   '从文件获得数组转换为带换行的多行文本字符串。

    反之,如果将字符串文本写为二进制文件,则要:
    Dim   tBytes()   As   Byte
    tBytes()=StrConv(tString,vbFormUnicode)

    tFN=FreeFile
    Open   pFileName   For   Output   As   #tFN   '清除文件内容
    Close   #tFN
    Open   pFileName   For   Binary   As   #tFN
        Put   #tFN,1,tBytes()
    Close   #tFN

    另外,还可以用API函数CopyMemory将Byte数组转换为Integer数组,在利用查表法进行内码转换、简繁转换时,该操作尤为重要。因为,在VB当中,每个“字”的编码都是16位UniCode,用Integer数组表示最为直观。但Integer数组不能直接与String赋值,因此需要一个与Byte数组转换的过程

     

    Public   Function   ByteArrayToString(bytArray()   As   Byte)   As   String
            Dim   sAns   As   String
            Dim   iPos   As   String
           
            sAns   =   StrConv(bytArray,   vbUnicode)
            iPos   =   InStr(sAns,   Chr(0))
            If   iPos   >   0   Then   sAns   =   Left(sAns,   iPos   -   1)
           
            ByteArrayToString   =   sAns
     
      End   Function

    展开全文
  • VB 图片转换为Byte()和从Byte()读取图片的捷径
  • 平常在嵌入式的开发,用的是keil,所以基本用的是C语言。在PC端现在用的比较多是vb.net。但是在数据通信的时候,c与vb的数据类型还是有比较大的差别。 在pc端会用到将single类型的数据通过串口发送给下位机的问题...

    平常在嵌入式的开发中,用的是keil,所以基本用的是C语言。在PC端现在用的比较多是vb.net。但是在数据通信的时候,c与vb的数据类型还是有比较大的差别。

    在pc端会用到将single类型的数据通过串口发送给下位机的问题。这时候就需要将single类型的数据转换成4个字节的byte类型。研究了一番之后可以用如下的方式转换。

            Dim byte_P() As Byte = BitConverter.GetBytes(CSng(txt_P.Text))
     

    转换出来的byte_P()是4个字节的数组,小端模式。

     

     

    仅此记录,以供以后用到时候查用。(记性不太好,经常忘记。~_~)

    展开全文
  • 因为自定义类型有对齐问题,所以很多方法都不能达到目的,不知道怎么解决
  • vb.net的Byte数据类型

    千次阅读 2011-10-06 08:02:09
    如果变量包含二进制数,则可将其声明为Byte类型的数组。...当String类型变量在ANSI和Unicole格式之间进行转换时,变量的任何二进制数据都会受到破坏。 在下列任何一种情况下,vb.net都会自动在ANSI
  • VB中把字符串转换成Byte数组

    万次阅读 2005-06-19 16:13:00
     Dim Value() As Byte Dim strValue As String Value = StrConv(strValue, vbFromUnicode) 字符串转成数组 strValue= StrConv(Value, vbToUnicode) 数组转成字符串strConv是一个功能强大的函数,想了
  • 这个问题,在网上好找了半天,但说实在话,不得不...这代码,以前是这个人写的,我给加上了注释,原来是VB6写的,我转成了目前的vb.net 至于不会用vbvb.net的,真心建议现在的程序员,事事还是要踏实。
  • VB6内存创建bitmap图像,并将其保存为byte()数组 在项目添加一个模块,用于封装GDIPlus函数 从内存创建相应的信息 '全局声明 Dim token As Long Dim graphics As Long Dim img As Long, W As Long, H As ...
  • 我的是vb.net x64,c++ dll,函数参数为 byte*。vb.net函数声明的参数是这样写的 byref buffer as byte。调用代码如下: Dim buffer(64) As Byte Dim str1 As String = "how do you turn this on" For i = 0 ...
  • 问题同上,c++ dll,函数参数为 char *。...因为在C++ char为一个字节,而VB.netChar为Unicode两个字节,后台转换出现了问题。所以想换成Byte数组来作为参数,但是怎么传Byte数组的首地址呢?
  • 至于这段snippet嘛,使用来示范如何在VB6调用一个.NET写的COM组件,并传入、传出以及返回一个ByteArray的。其实写出来的代码很简单的,但当刚开始确实十分麻烦,因为我找不到.NET对应的Attribute(主要是In...
  • Private Sub Form_Load() ...Dim a As Byte Dim b As Byte a=&H80 b=&H0 DisNumber = (a * 256 + b) '将两个单字节合成一个双字节,就像C语言里把两个char类型合成一个int型 TxtDisplay.Text = Format(DisNumber, "##0")
  • 虽然VB中的图片框支持直接绑定数据库存入图片和读取图片的方法,但是很多场合并不能使用绑定来解决问题。于是很多人在进行操作时,都使用了类似以下的方法: 读入图片到图片框后 ,再使用 Open "Picture" For Binary ...
  • 有时可能会想要在byte数组定位vb.net教程已知数组c#教程的位置(恶狠狠看了一眼某仪器文档),以下代码完成此功能: using System; using System.Collections.Generic; using System.Linq; namespace Hu { ...
  • VB.NET,Long类型可以在数字后面加L表示,那么Byte类型如何表示? Dim a As Byte = 1 这样1默认是Integer类型,还需要进行隐式转换。。
  • VB中不同数制变量之间转换模块,串行通信时,接收、发送的是byte,所以发送时要把其他类型的变量转换成byte类型,接收时要把byte类型的几个数组合成其他类型。
  • 一、 前言   数据类型转换在编程经常用到,VB6提供了一整套类型转换的函数。但是,在进行类型转换时,有时候仅仅依靠VB提供... 在Visual Basic使用Byte数组主要是为了32位API函数的参数传递和函数的返回。在3
  • Byte)" rel="bookmark" href="http://yulv.net/archives/242/">VB 字节数组和字符串的转换问题 (StringPosted by JiaJia 16 March,2009 (2)Comment 一、 前言 数据类型转换在编程经常用到,VB6提供了一整套类型...
  • 一、 前言 数据类型转换在编程经常用到,VB6提供了一整套类型转换的函数。但是,在进行类型转换时,有时候仅仅依靠... 在Visual Basic使用Byte数组主要是为了32位API函数的参数传递和函数的返回。在32位的Visua...
  • 我们知道VB采用的Unicode的编码方式,在对外接口的时候就会出现一些问题,如调用API函数时或是和其它程序发送数据时就需要特别注意,因为它们不一定也是采用这样的编码方式,所以要将其转换,存储到一个Byte的数组...
  • VB中的二维鞍点

    2016-06-02 18:10:06
    今天学习了用vb的程序输出一个二维鞍点,程序如下: Option Base 1 Dim anma() As Integer Dim m As Byte, n As Byte Private Sub Command1_Click()  Cls  Me.Font.Size = 30  m = 5: n = 6  ReDim anma...
  • VB中的数据类型

    2019-10-05 03:09:12
    2.Byte 字节型 他占用一个字节,他的范围是0—255 3.Integer 整型 它占用两个字节,通常用%来表示 ,例a%;它占用2个字节(C语言中为4个字节),它的范围是0----32768/32767 4.Long 长整型 它占用4个字节,它的...
  • vb.net把string转化成byte数组dim StrFtpUpdateIniDest as string ="C:\AVM\PlayList\New\" Dim sms() As Byte=System.Text.Encoding.default.getbytes(StrFtpUpdateIniDest) 1、System.Text.UnicodeE...
  • VB.NET的除法运算符有两个:/(浮点除法)、\(整数除法) C#的除法运算符只有一个:/(除法) VB.NET的除法运算符与C#的除法运算符存在很大的差异,使用时注意区分。   关于VB.NET的除法运算符的介绍...
  • vb

    2016-04-21 16:48:03
    打开vb后点击commandbutton拖入form1,在吧textbox踏入form创建两个。 Private Sub cmdMutil_Click() Cls Dim n() As Byte Dim r() As Byte Dim b As String Dim c As Byte Dim i As Long Dim L As ...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 326
精华内容 130
关键字:

vb中byte