一系列自定义记录类型插入到TList中,怎么把它序列化或保存?
代码如下: OLst : TList; TObj= record
ObjId : string;
CenterX : integer;
CenterY : integer;
TypeNo : integer;
Selected : boolean;
FNode : string;
showed : boolean;
end;procedure TFrm_Tree.AddObj(id: string; x, y, typeno: integer;
selected: boolean; Fnode: string);
var
Obj: ^TObj;
begin
new(obj);
obj.ObjId:=id;
obj.CenterX:=x;
obj.centery:=y;
obj.TypeNo:=typeno;
obj.Selected:=selected;
obj.FNode:=fnode;
obj.showed:=true;
OLst.Add(obj);
end;然后我要保存list该怎么办呢?
代码如下: OLst : TList; TObj= record
ObjId : string;
CenterX : integer;
CenterY : integer;
TypeNo : integer;
Selected : boolean;
FNode : string;
showed : boolean;
end;procedure TFrm_Tree.AddObj(id: string; x, y, typeno: integer;
selected: boolean; Fnode: string);
var
Obj: ^TObj;
begin
new(obj);
obj.ObjId:=id;
obj.CenterX:=x;
obj.centery:=y;
obj.TypeNo:=typeno;
obj.Selected:=selected;
obj.FNode:=fnode;
obj.showed:=true;
OLst.Add(obj);
end;然后我要保存list该怎么办呢?
i:integer ;
begin
if SaveDialog1.Execute then
begin
MyMemoryStream := TMemoryStream.Create ;
for i := 0 to OLst.Count - 1 do
MyMemoryStream.WriteBuffer(TObj(OLst.Items[i]), SizeOf(TObj)); MyMemoryStream.Position := 0 ; MyMemoryStream.SaveToFile(SaveDialog1.FileName); MyMemoryStream.Free ;
end ;
end;