DELPHI 如何选中MEMO中的某行内容 记录显示到EDIT
2个回答
展开全部
edit1.text := memo1.lines.strings[index]; //index 为行索引,下标为0
追问
var
n:integer; //定义1个变量
begin
for n:=0 to memo1.Lines.Count-1 do
begin
edit1.Text:=memo1.Lines.Strings[n];
end;
end;
我加了个循环,但是老是取最后一行.取中间的行都没反应
追答
你得理解edit1.Text:=memo1.Lines.Strings[n]; 是将当赋值到edit1.text中,而且你还是放在循环中的,循环次数是memo1的最大行数,一直到循环结束都没有做其它判断,肯定最后的结果是最后一行了,如果需要在哪一行停止就得加个判断例如
根据行判断跳出
if n > 4 then
break;
根据行内容判断跳出
if memo1.lines.strings[n] = 'xxxx' then
break;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个其实很简单。
var a:integer;
procedure TForm1.memo1Click(Sender: TObject);
begin
a:=SendMessage(Memo1.Handle,EM_LineFromChar,Memo1.SelStart,0); //获取当前行号
edit1.Text:=memo1.Lines.Strings[a]; //记录显示
end;
var a:integer;
procedure TForm1.memo1Click(Sender: TObject);
begin
a:=SendMessage(Memo1.Handle,EM_LineFromChar,Memo1.SelStart,0); //获取当前行号
edit1.Text:=memo1.Lines.Strings[a]; //记录显示
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询