Tpersistent是Tobject直接派生的,很重要的功能是提供了对象之间相互赋值和读写流的能力,但它是一个抽象类,不能直接创建对象实例,要用它的派生类!
有关流操作和组件之间的赋值操作的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
MyStream:TMemoryStream;
StrList:TstringList;
begin
try
MyStream := TMemorystream.Create;
MyStream.LoadFromFile('c:\lzj.txt');
StrList:=TStringList.Create;
StrList.LoadFromFile('c:\lzj.txt');
listbox1.Items.LoadFromStream(MyStream);
Memo1.Lines.Assign(StrList);
finally;
MyStream.Free;
StrList.Free;
end;
end;
有关流操作和组件之间的赋值操作的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
MyStream:TMemoryStream;
StrList:TstringList;
begin
try
MyStream := TMemorystream.Create;
MyStream.LoadFromFile('c:\lzj.txt');
StrList:=TStringList.Create;
StrList.LoadFromFile('c:\lzj.txt');
listbox1.Items.LoadFromStream(MyStream);
Memo1.Lines.Assign(StrList);
finally;
MyStream.Free;
StrList.Free;
end;
end;
TComponent是Delphi中所有组件的抽象基类,提供了组件的基本特征:
1、可以出现在组件选项板上;
2、可以加到Form上;
3、可以管理其他组件。
但是TPersistent功能比较弱,她提供了对象之间相互赋值(Assign/AssignTo)和读写流(DefineProperties)的能力。从她派生的类没有实用价值。
从Tpersistent怎么派生:
type
MyPersistent = class(TPersistent)
private
……
protected
……
public
……
published
……
end;
然后实现上面的定义、声明即可。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————