| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:请教: 关于串口接收到string类型数据转换的问题
只看楼主 加入收藏
dyc1229
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-30
收藏
 问题点数:0 回复次数:0 
请教: 关于串口接收到string类型数据转换的问题
下面是我写的程序
private void SetText(string text)
    if (this.txtData.InvokeRequired)
    {
     SetTextCallback d = new SetTextCallback(SetText);
     this.Invoke(d, new object[] { text });
    }
    else
    {
    this.txtData.Text = text;
               
    }
}
text就是我接收到的数据,为string类型。里面有8个字节数据,包含6个数字,一个小数点位,一个指示灯的数据。其中每个数据都是倒过来的,比如说本来仪器显示1234,可是接收到以后就成了4321了,我现在想把它改过来,在网上找了一个vb的源码
'------------------------------------------------read data-----------------------------------------------
   
   NumArray(1) = Chr(StringTemp(6))    '6个字节的数据位
   NumArray(2) = Chr(StringTemp(5))
   NumArray(3) = Chr(StringTemp(4))
   NumArray(4) = Chr(StringTemp(3))
   NumArray(5) = Chr(StringTemp(2))
   NumArray(6) = Chr(StringTemp(1))
   
   NumArray(0) = StringTemp(8)    '提取第9字节  数据的正负及小数点的位置
 
   LightStatus = StringTemp(7)     '提取第8字节  指示灯点亮状态
   
'-------------------------------------------------end---------------------------------------------------
   
'---------------------------------------------Judge  Dot-------------------------------------------------
   
   DotPosition = 8 - (NumArray(0) And &HF&)
   
'-------------------------------------------------end----------------------------------------------------

   If DotPosition < 2 Or DotPosition > 7 Then
      Exit Sub
   End If

'---------------------------------------------Judge Negative--------------------------
   
   If NumArray(0) > 127 Then
      NumArray(0) = "-"
   Else
      NumArray(0) = " "
   End If

'-------------------------------------------------end----------------------------------------------------
For i% = 7 To DotPosition Step -1
      NumArray(i) = NumArray(i - 1)
   Next i
   NumArray(DotPosition) = "."
   
   iZero = 1
   While ZeroSwitch = False
      If NumArray(iZero) <> "0" Then
         ZeroSwitch = True
      Else
         If NumArray(iZero + 1) <> "." Then
            NumArray(iZero) = " "
            iZero = iZero + 1
         Else
            ZeroSwitch = True
         End If
      End If
   Wend
   
   Temp$ = NumArray(0) + NumArray(1) + NumArray(2) + NumArray(3) + NumArray(4) + NumArray(5) + NumArray(6) + NumArray(7)
   TextShow.Text = Temp


我看不大懂上面的意思,想请各位大侠帮帮我,最好能说得具体点,麻烦各位了
搜索更多相关主题的帖子: 串口 string 类型 数据 
2008-01-20 22:24
快速回复:请教: 关于串口接收到string类型数据转换的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017260 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved