其中有一组数据  在  变量中可以显示   并且   当鼠标放上  可以看到
可是  数据中有一个小方框的样子  变量也可以DEBUG.PRINT例如 变量 DIM S AS STRING *8
   前3位为空   第五为像个小长方格的样子   后4位是正常数据
问题
当变量放入文本框中显示时   却是空数据......................谁遇到过啊?................................................

解决方案 »

  1.   

    StrConv函数 返回索引 返回按指定类型转换的 Variant (String)。语法StrConv(string, conversion, LCID)StrConv 函数的语法有下面的命名参数:部分 说明 
    string 必要参数。要转换的字符串表达式。 
    conversion 必要参数。Integer。其值的和决定转换的类型。 
    LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。) 
    设置值conversion 参数的设置值为:常数 值 说明 
    vbUpperCase 1 将字符串文字转成大写。 
    vbLowerCase 2 将字符串文字转成小写。 
    vbProperCase 3 将字符串中每个字的开头字母转成大写。 
    vbWide* 4* 将字符串中单字节字符转成双字节字符。 
    vbNarrow* 8* 将字符串中双字节字符转成单字节字符。 
    vbKatakana** 16** 将字符串中平假名字符转成片假名字符。 
    vbHiragana** 32** 将字符串中片假名字符转成平假名字符。 
    vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 
    vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。 
    *应用到远东国别。
    **仅应用到日本。
    注意 这些常数是由 VBA 指定的。可以在程序中使用它们来替换真正的值。其中大部分是可以组合的,例如 vbUpperCase + vbWide,互斥的常数不能组合,例如 vbUnicode + vbFromUnicode。当在不适用的国别使用常数 vbWide、vbNarrow、vbKatakana,和 vbHiragana 时,就会导致运行时错误。下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),换行 (Chr$(10)),垂直制表符 (Chr$(11)),换页 (Chr$(12)) ,回车 (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的实际值会随国家/地区而不同。说明在把 ANSI 格式的 Byte 数组转换为字符串时,您应该使用 StrConv 函数。当您转换 Unicode 格式的这种数组时,使用赋值语句。
      

  2.   

    dim strData    as string * 8
    dim arrData()  as bytestrData="test"
    arrData=strData
      

  3.   

    一般我们用的就是
    vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 
    vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。 
     2个参数!
      

  4.   

    恩....谢谢大家给予我这个问题的关注哈................
    求解中..................StrConv(Right(data, 7), vbUnicode)     '这是我的转换代码单步调试  检测:
    ?data
        51.7    '8 bytes
    ?right(data,7)
       51.7     '7 bytes
    ?StrConv(Right(data, 7), vbUnicode)
          5 1 . 7       '14 bytes
    MSHFlexGrid1(intG2).TextMatrix(intR2, 4) = StrConv(Right(data, 7), vbUnicode)
    赋值为空...........??????????????
      

  5.   

    不要用 String 类型变量来接收二进制文件,要用 Byte 型数组,例如 Dim binData() As Byte。接收后:
    For i = 0 To Ubound(binData)
        Text1 = Text1 & Right("0" & Hex(binData(i)), 2)
    Next i
      

  6.   

    呀!!!!!!!!!!!!!真不好意思了..................    发现我把题目写错了........  是关于  COM口接收数据的不过 我的上边的检测程序正确啊................of123的方法我试了  可是  数据比原来都乱了.............原来是这么接收的    
    Dim bBuffer() As Byte
    Dim bChar     As Byte
    bBuffer = Me.MSComm1.Input
    bChar = bBuffer(0)data = data & Chr(bChar)
      

  7.   

    不管什么真负,你发送的都是把字符转为16进制发送的,发送的文件内容我看了!!
       比如有一个是-127.1
       你接受到的应该是6byte!
      

  8.   

    StrConv(Right(data, 7), vbUnicode)
      你把改为Right(StrConv(data, vbUnicode),7)
      

  9.   

    谢谢 northwolves(狼行天下) 使我细致的学习了 STRCONV函数 虽然本题没用
    谢谢 of123()         学习到非打印字符的概念
    谢谢 ZOU_SEAFARER(国际海员) 提出解决问题的办法 讲解了非打印字符~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:)      :)        :)       :)       :)       :)        :)      :)