繁体   English   中英

在Delphi TMemo中对每一行进行处理

[英]Do something with each line in a Delphi TMemo

我需要阅读memo1.lines每一行并对其执行特定操作。 我尝试了这个:

procedure TForm1.Button2Click(Sender: TObject);
var
  zoznam: TStringList;
  Line: string;
  i       : Integer;
begin
  zoznam := TStringList.Create;
  zoznam.Assign(Memo1.Lines);
  for i := 0 to zoznam.Count-1 do
  begin
    edit1.Text := Memo1.Text;
    Button1.Click;
  end;
end;

但是,它将每一行合并为一个字符串,我想分别阅读每一行(阅读一行,执行某项操作,阅读下一行,执行某项操作,...)

TStrings具有Strings[]属性,用于访问单个字符串:

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  Line: string;
  zoznam: TStringList;
begin
  zoznam := TStringList.Create;
  try
    zoznam.Assign(Memo1.Lines);
    for i := 0 to zoznam.Count-1 do
    begin
      Line := zoznam.Strings[i]; // or: Line := zoznam[i];
      //...
    end;
  finally
    zoznam.Free;
  end;
end;

或者,您可以直接在备注行中循环:

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  Line: string;
begin
  for i := 0 to Memo1.Lines.Count-1 do
  begin
    Line := Memo1.Lines.Strings[i]; // or Line := Memo1.Lines[i];
    //...
  end;
end;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM