在多行字符串和 TstringList 之间转换

Converting between a multiline string and a TstringList

我有一个多行字符串,我想从中删除一些行。 TMemo 组件包含执行此操作所需的代码。

MyMemo:=TMemo.Create(nil);
try
   MyMemo.Text:=MyString;
   MyMemo.Lines.Delete(x); // lines I want to delete
   MyMemo.Lines.Delete(y);
   MyString:=MyMemo.Text;
finally
   MyMemo.Free;
end;

但是用可视化组件做基本的转换好像不对。有没有不同但同样简单的方法来做到这一点? 谢谢

您的问题答案正确 - 使用 TStringList:

procedure MyProcedure(var MyString: string);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    sl.Text := MyString;
    sl.Delete(x); // lines I want to delete
    sl.Delete(y);
    MyString := sl.Text;
  finally
    sl.Free;
  end;
end;

我刚刚意识到 TStringlist 本身有一个 Text 属性。这样就回答了我自己的问题。