如何同步两个memo

iskyshop 2007-04-20 03:46:45
如何同步两个memo,第一个memo中每增加一行,第二个必须要自动增加并在第一个的基础上切断 重新组合
...全文
539 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
HsWong 2007-04-21
  • 打赏
  • 举报
回复
那你在输入完毕后,按回车的时候取出Memo1最后一行,格式化后添加到Memo2中:

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Str1:string;
begin
if Key=13 then
begin
Str1:=Memo1.Lines[Memo1.Lines.Count-1];

//这里处理
end;
end;
iskyshop 2007-04-21
  • 打赏
  • 举报
回复
不一定是手动输入的,可能是从串口接收到的,楼上的办法是行不通的!
iskyshop 2007-04-20
  • 打赏
  • 举报
回复
=======================================
这应该不是同步吧,只是在两Memo显示相同内容,只是格式不同.
你把要显示的字符串格式化一下就好了:
var
Str1:string;
Str2:string;
begin
Str1:='12345'
Memo1.Lines.Add(Str1);
Str2:=Format('高度:%s,宽度:%s',
[Copy(Str1,1,2),Copy(Str1,3,Length(Str1)-2)]);
Memol.Lines.Add(Str2);
end;
====================================================
这里的str1是你传递的,这样就好处理了,但是我要在memo1运行的时候输入的!所以你这个办法没有解决问题!
Heyongfeng 2007-04-20
  • 打赏
  • 举报
回复
不是同步

按HsWong()的方法在OnChange事件里处理就可以了
ahjoe 2007-04-20
  • 打赏
  • 举报
回复
这个不是同步。是对Memo1的内容进行分析。
在OnChange事件中处理就行了。
HsWong 2007-04-20
  • 打赏
  • 举报
回复
这应该不是同步吧,只是在两Memo显示相同内容,只是格式不同.
你把要显示的字符串格式化一下就好了:
var
Str1:string;
Str2:string;
begin
Str1:='12345'
Memo1.Lines.Add(Str1);
Str2:=Format('高度:%s,宽度:%s',
[Copy(Str1,1,2),Copy(Str1,3,Length(Str1)-2)]);
Memol.Lines.Add(Str2);
end;
iskyshop 2007-04-20
  • 打赏
  • 举报
回复
比喻:memo1输入12345,同步在memo2中显示:高度:12,宽度:345,这样是如何同步实现的?
beggar_k 2007-04-20
  • 打赏
  • 举报
回复
Memo2.Lines.Text:=Memo1.Lines.Text; //这好像一是一种好的方法..
memo2.assign(memo1); //这一招OK
HsWong 2007-04-20
  • 打赏
  • 举报
回复
Memo2.Lines.Text:=Memo1.Lines.Text;
什么切断 重新组合 ?
chenzhuo 2007-04-20
  • 打赏
  • 举报
回复
并在第一个的基础上切断 重新组合

memo2.assign(memo1);

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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