BCB模拟超级终端机

whisky121 2010-08-05 04:01:04
各位大虾好!
麻烦请教一个问题:用Edit控件单独给板子发命令,可以正确执行,并在memo里显示结果,但头头说在memo里显示启动信息,光标就在memo里,启动完成后要到edit里输命令,界面不友好,所以最好改成只在memo里显示启动信息并接受用户命令输入。我把edit的keypress代码粘到memo的keypress事件里(并把memo最后一行作为命令),按了enter却没有反应,是怎么回事啊?

...全文
165 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
whisky121 2010-08-06
  • 打赏
  • 举报
回复
有没得高手帮我一下,这个问题怎么解决啊?同样的代码在Edit里面可以正常执行,在Memo里面就不可以了。
whisky121 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zzbinfo 的回复:]
我试的是你3楼给的代码,不是后来的
[/Quote]
呵呵,我自多了。
zzbinfo 2010-08-05
  • 打赏
  • 举报
回复
我试的是你3楼给的代码,不是后来的
whisky121 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zzbinfo 的回复:]
试了你的代码是正常的,Edit1->Text可以正常被负值,是不是其他地方有问题
[/Quote]
我想应该把获取的命令赋给edit,看看捕获的是什么命令,居然敢不执行!
zzbinfo 2010-08-05
  • 打赏
  • 举报
回复
一回复,多了好几楼
zzbinfo 2010-08-05
  • 打赏
  • 举报
回复
试了你的代码是正常的,Edit1->Text可以正常被负值,是不是其他地方有问题
whisky121 2010-08-05
  • 打赏
  • 举报
回复
头头说要把edit撤掉,所以不能直接把edit里的值赋给memo......
还有,抱歉,没有写keypress事件代码,
Memokeydown事件代码如下:
void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{

if (Key==VK_RETURN)
{ if(LINK==1)
{
AnsiString cmmd=Memo1->Lines->Strings[Memo1->Lines->Count-1];
int len_cmmd=strlen(cmmd.c_str());
SendMessage(Memo1->Handle,WM_VSCROLL,SB_BOTTOM,0);
Memo1->SelStart=Memo1->Text.Length();
RS232Com1->Write(cmmd.c_str(),len_cmmd);
}
else ShowMessage("LINK is not available!");
}
明朝2013 2010-08-05
  • 打赏
  • 举报
回复
Memo1输入按回车,最后输入的一行就可以赋予Edit1

if(Key==VK_RETURN)
Edit1->Text=Memo1->Lines->Strings[Memo1->Lines->Count-1];
明朝2013 2010-08-05
  • 打赏
  • 举报
回复
Memo1输入按回车,最后输入的一行就可以赋予Edit1
if(Key==VK_RETURN)
Edit1->Text=Memo1->Lines->Strings[Memo1->Lines->Count-1];
ccrun.com 2010-08-05
  • 打赏
  • 举报
回复
Memo的OnKeyPress代码贴出来look一下。

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧