4661|14

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

vc向evc移植的问题,麻烦高手看一下这段代码!!! [复制链接]

    这是一段Vc代码,意思就是说在一个编辑框(IDC_INPUTTEXT)中输入一句话,点击回车发送出去,同时在本地文本框(IDC_SHOWTEXT)显示出来,我想把这段代码移植到evc,编译时没有问题的,可是下载到开发板上在编辑框(IDC_INPUTTEXT)中输入的内容在本地文本框(IDC_SHOWTEXT)就显示不出来了,将这段代码替换成//CString in=L"abc";
//SetDlgItemText(IDC_SHOWTEXT,in);
,是可以在文本框(IDC_SHOWTEXT)显示出来的,应该是数据类型的问题吧?请问高手我这段代码应该怎么改,给点建议也可以

                
         CString in;
        CMessg msg;
        GetDlgItemText(IDC_INPUTTEXT,in);
        if(in.GetLength()<1)
        {
                return;
        }
        if(in.GetAt(in.GetLength()-1)=='\n')
        {
                in.TrimRight(L" ");
                SetDlgItemText(IDC_INPUTTEXT,L"");
                if(in.GetLength()>2)
                {
                        m_sMsgList+=in;//Cstring m_sMsgList
                       
                        SetDlgItemText(IDC_SHOWTEXT,m_sMsgList);
                        int m_iLineCurrentPos=((CEdit *)(GetDlgItem(IDC_SHOWTEXT)))->GetLineCount();
                        ((CEdit *)(GetDlgItem(IDC_SHOWTEXT)))->LineScroll(m_iLineCurrentPos);
                        msg.m_strText=in;//Cstring m_strText
                        if(!m_bClient)
                        {
                                POSITION pos;
                                for(pos=m_connectionList.GetHeadPosition();pos!=NULL;)
                                {
                                        CClientSocket * t= (CClientSocket *)m_connectionList.GetNext(pos);
                                        t->SendMessage(&msg);
                                }
                        }
                        else
                        {
                                m_clientsocket.SendMessage(&msg);
                        }
                }
        }

最新回复

好了,找到毛病了,问题出在这句if(in.GetAt(in.GetLength()-1)=='\n'),貌似evc不能识别回车键,随便改了一个符号先凑合着用吧。。。  详情 回复 发表于 2010-3-30 10:36
点赞 关注

回复
举报

65

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
vc到evc代码移植主要是注意宽窄字符转化的问题,你可以写段测试代码测试一下你的函数,或者调试一下,应该很容易找到问题
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢,我觉得也是这方面的问题
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
m_sMsgList是什么类型的?CString类是会自动进行宽字符和ansi字符转换的~~~~~
SetDlgItemText,只接受宽字符。
 
 
 

回复

228

帖子

0

TA的资源

一粒金砂(中级)

5
 
m_sMsgList是CString类型的,我在上边标注了
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
if(in.GetAt(in.GetLength()-1)=='\n')

这一句是不是有问题?改成_T('\n')试试看。
 
 
 

回复

96

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢5楼,我改了,还是不行啊
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

8
 
你单步跟踪一下试试看吧。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

9
 
PB太大了,我没有装,请问不装PB可以调试吗?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
不用装PB,装个EVC模拟器就可以单步跟踪,或者用ActiveSync连开发板在线调试都行。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 ustb_anqi 的回复:
PB太大了,我没有装,请问不装PB可以调试吗?


你不是在用EVC调试么?直接用EVC就可以了,不需要PB。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

12
 
这样查找错误:
先在一个按钮里面响应如下代码:
CString str=_T("abca")
SetDlgItemText(IDC_SHOWTEXT,str);
然后看在你的IDC_SHOWTEXT是否有显示,如果有,那么说明 你的上面的程序那里有逻辑错误

如果没有就还别的函数了,
比如用 Edit box的关联变量,在updatedata
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
这样查找错误:
先在一个按钮里面响应如下代码:
CString str=_T("abca")
SetDlgItemText(IDC_SHOWTEXT,str);
然后看在你的IDC_SHOWTEXT是否有显示,如果有,那么说明 你的上面的程序那里有逻辑错误

如果没有就还别的函数了,
比如用 Edit box的关联变量,在updatedata
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
谢谢楼上几位大哥,evc刚刚入手,资料很少,我会好好研究一下的
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

15
 
好了,找到毛病了,问题出在这句if(in.GetAt(in.GetLength()-1)=='\n'),貌似evc不能识别回车键,随便改了一个符号先凑合着用吧。。。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表