5,392
社区成员
发帖
与我相关
我的任务
分享
procedure SaveListToFile(ListView1:TListView,Filename:String); //保存列表
var
I,J:Integer;
List:TStringList;
begin
List:=TStringList.Create;
try
for I:=0 to ListView1.Items.Count-1 do
begin
List.Add(ListView1.Item[I].Caption);
List.Add('@'+IntToStr(ListView1.Item[I].ImageIndex);
for J:=0 to ListView1.Item[I].SubItems.Count-1 do //ListView1.Item[I] 的子项
List.Add(#9+ListView1.Item[I].SubItem[J];
end;
List.SaveToFile(Filename);
finally
List.Free;
end;
end;
procedure LoadListFromFile(ListView1:TListView;Filename:string); //加载列表
var
List:TStringList;
NewItem:TListitem;
I:Integer;
begin
NewItem:=nil;
ListView1.Item.Clear;
List:=TStringList.Create;
try
List.LoadFromFile(filename);
for I:=0 to List.Count-1 do
if List[I][1]=#9 then //根据字符的不同,决定是否为父项,子项,图标
NewItem.SubItem.Add(Trim(List[I]))
else if List[I][1]='@' then
NewItem.ImageIndex:=StrToIntDef(List[I][2],0)
else
begin
NewItem:=ListView1.Item.Add;
NewItem.Caption:=List[I];
end;
finally
List.Free;
end;
end;