我需要的一个常见结构是对TStringList执行一些简单操作,例如使用以下代码将小型文本文件列表加载到逗号文本字符串中:
var
MyList : TStrings;
sCommaText : string;
begin
MyList := TStringList.Create;
try
MyList.LoadFromFile( 'c:\temp\somefile.txt' );
sCommaText := MyList.CommaText;
// ... do something with sCommaText.....
finally
MyList.Free;
end;
end;
如果我可以使用MyList作为接口来编写代码,这似乎是一个不错的简化 - 它将消除try-finally并提高可读性:
var
MyList : IStrings;
//^^^^^^^
sCommaText : string;
begin
MyList := TStringList.Create;
MyList.LoadFromFile( 'c:\temp\somefile.txt' );
sCommaText := MyList.CommaText;
// ... do something with sCommaText.....
end;
我看不到IStrings的定义,至少在Classes.pas中没有,虽然在线上与OLE编程有关时提到了它。它是否存在?这是有效简化吗?我正在使用Delphi XE2。