| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4333 人关注过本帖
标题:如何把输入框中输入的十六进制字符显示在输出框内?
只看楼主 加入收藏
jiayou_yatou
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2010-5-17
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:7 
如何把输入框中输入的十六进制字符显示在输出框内?
感觉问题出在如下程序中:
void CSCommTestDlg::OnComm()
{
    // TODO: Add your control notification handler code here
    VARIANT variant_inp;
    COleSafeArray safearray_inp;
    LONG len,k;   
    BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.   
    CString strtemp;   
    if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符   
    {             ////////以下你可以根据自己的通信协议加入处理代码      
        variant_inp=m_ctrlComm.GetInput(); //读缓冲区      
        safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量        
        len=safearray_inp.GetOneDimSize(); //得到有效数据长度        
        for(k=0;k<len;k++)            
            safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组      
        for(k=0;k<len;k++) //将数组转换为Cstring型变量      
        {            
            BYTE bt=*(char*)(rxdata+k); //字符型
            if(m_ctrlHexDiaplay.GetCheck())
                strtemp.Format("%02X ",bt); //将字符以十六进制方式送入临时变量strtemp存放,注意这里加入一个空隔
            else
                strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放         
            m_strRXData+=strtemp; //加入接收编辑框对应字符串        
        }   
    }   
    UpdateData(FALSE); //更新编辑框内容
搜索更多相关主题的帖子: 十六进制 字符 输出 输入 
2010-08-09 21:24
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
if(m_ctrlHexDiaplay.GetCheck())
                strtemp.Format("%02X ",bt); //将字符以十六进制方式送入临时变量strtemp存放,注意这里加入一个空隔
            else
                strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放         
            m_strRXData+=strtemp; //加入接收编辑框对应字符串     

你不是已经处理了吗??!

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-10 09:24
jiayou_yatou
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2010-5-17
收藏
得分:0 
可是还是不行,有错误。
请教!
2010-08-10 19:28
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
收藏
得分:0 
哪儿有错误?什么错误?

2010-08-11 10:51
jiayou_yatou
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2010-5-17
收藏
得分:0 
比如说在输入框中输入FD,在输出框中显示的是46 44,可是我想让它任然显示FD,请教这个程序怎么改?
2010-08-11 16:14
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:20 
以下是引用jiayou_yatou在2010-8-11 16:14:20的发言:

比如说在输入框中输入FD,在输出框中显示的是46 44,可是我想让它任然显示FD,请教这个程序怎么改?
   ASCII 码 F = 0x46  D = 0x44
   也就是说,你的输入框输入的不是数字,是ASCII码。所以直接付给输出就行了,不用转换。  

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-11 17:31
jiayou_yatou
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2010-5-17
收藏
得分:0 
能帮我写一下具体的代码吗?
2010-08-12 17:44
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
楼主开悟了??!

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-14 21:22
快速回复:如何把输入框中输入的十六进制字符显示在输出框内?
数据加载中...
 
   



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

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