DELPHI 如何选中MEMO中的某行内容 记录显示到EDIT

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DELPHI 如何选中MEMO中的某行内容 记录显示到EDIT相关的知识,希望对你有一定的参考价值。

参考技术A 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;

参考技术B 这个其实很简单。
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;本回答被提问者采纳

如何提取DELPHI中MEMO中某一行的内容?

比如,本人设了一个MEMO1,现在想提取MEMO1中第二行的内容,请问如何提取?代码怎么写?谢谢!

可用以下代码读取Memo中指定行的内容:

var 
  aLine:String;
begin
  aLine:=Memo1.Lines[2];
end;

在使用中,读取的行在Memo中需要保证是存在的,否则会导致异常。

对于数组Lines的索引取值范围为0-Memo1.Lines.Count;

如果超过此范围,取得的数据为空。

参考技术A ShowMessage(Memo1.Lines.Strings[1]);本回答被提问者采纳 参考技术B var
tempStr: string;
begin
tempStr := memo1.Lines[1]; //0--第一行,1--第二行
end;

以上是关于DELPHI 如何选中MEMO中的某行内容 记录显示到EDIT的主要内容,如果未能解决你的问题,请参考以下文章

怎样才能把delphi中memo中的内容保存为文本文件到“指定的路径下”

spss20.0 中如何把变量视图中的某行删掉

delphi编程treeview,memo

读取memo中某行内容

Delphi实现复制粘贴功能

如何获取DATATABLE中的某一列某一行的值