1.Function过程返回一个TStringlist,那这个TStringlist要在过程里Create和Free吗?用完了要Free.2.如何建立Array of TStringlist这样的类型?如何释放?FStrings: array[0..10] of TStringList;for i:=0 to 10
FStrings[I]:=TStringList.Create;.......................for i:=0 to 10
FStrings[I].Free;
FStrings[I]:=TStringList.Create;.......................for i:=0 to 10
FStrings[I].Free;
解决方案 »
- 有SELECT UNIQUE * FROM 表1这种语法吗
- ics ftpserver 如何设置 上传 存储路径 ?
- 如何算出任何两坐标点之间的坐标呢?如算出点A(200,343)与点B(599,121)之间的每点坐标呢?请高手帮助.
- 如何让窗体中的IMAGE控件中的图片在运行时产生360度的旋转呢?
- 我用的是delphi6.0请问他所带的DBGrid的组件中的小表怎样将其的值抓出?
- 如何探测是否有数据发送到串口??
- 如何将String型的转化为sql数据库中的datetime类型??
- 医疗行业VPN应用解决方案
- 请教一个SQL SERVER 字段类型的问题
- RAD到底是什么东西?
- 请问方法参数如何定义数组
- 关于Memo的一点小问题
begin
..........
end;2.function里建,外面Free;function DoSomething(.....): Strings: TStrings;
begin
result:=TStringList.create;
..........
end;
begin
result:=TStringList.create;
..........
end;
function RetStrings(const sLi: Tstrings; s: string; rCount: integer): boolean;
var
i:integer;
being
result := true;
// 本函数目的为构造一个有 rCount 行、内容为 s 的 Strings
// 构造成功返回true,反之
try
for i := 0 to rCount - 1 do
sli.Append(s);
except on e: exception do
result := false;
end;
end;// 调用
var
sli: TStringList;
begin
sli := TStringList.Create;
if RetStrings(sli, '洗洗更健康', 20) then
ShowMessage(sli.Text)
else
ShowMessage('构建 Strings 失败'); sli.Free;
end;
TStringList 数组可以定义成动态数组,在使用时根据需要用SetLenght自行扩充长度
TStringsArray = array of TStrings;如果你的delphi版本支持泛型,直接这样声明变量 sLi:TList<TStringList>;
然后可以用sli.add、sli.remove这些方法管理列表项更方便
TObjectList<TStringList>更合适些,OwnObjects可自行释放TStringList。