白痴级问题---保存对象到文件
CJ 2000-03-31 11:42:00 type
TMyType = Class(TComponent)
public
AString:String;
AInt:Integer;
ABoolean:Boolean;
AStrings:TStringList;
constructor Create(AOnower:TComponent);override;
destructor Destroy;override;
end;
...
MyList:TList;
...
procedure TForm1.btnLoadClick(Sender: TObject);
var
fs:TFileStream;
tmp:TMyType;
begin
if OpenDialog1.Execute then
begin
fs := TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
try
while fs.Position < fs.Size do
begin
tmp := (fs.ReadComponent(tmp));
APossion := MyList.Add(tmp);
end;
finally
FreeAndNil(fs);
ShowData;
end;
end;
end;
procedure TForm1.btnSaveClick(Sender: TObject);
var
fs:TFileStream;
i:Integer;
tmp:TMyType;
begin
if SaveDialog1.Execute then
begin
fs := TFileStream.Create(SaveDialog1.FileName,fmOpenWrite or fmCreate);
try
for i := 0 to MyList.Count - 1 do
begin
tmp := TMyType(MyList.items[i]);
fs.WriteComponent(tmp);
end;
finally
FreeAndNil(fs);
end;
end;
end;
结果永远不对:(