组件的持久化,delphi

组件的持久化,delphi,第1张

概述注意,需要注册类; 2.读入多个属性的时候,只会构造第一个控件; unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     mmo1: TMe

注意,需要注册类;

2.读入多个属性的时候,只会构造第一个控件;


unit Unit1;

interface uses   windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,  Dialogs,StdCtrls; type   TForm1 = class(TForm)     mmo1: TMemo;     btn1: Tbutton;     edt1: TEdit;     btn2: Tbutton;     procedure btn1Click(Sender: TObject);     procedure btn2Click(Sender: TObject);   private     procedure ShowComponentPropertIEs(AComponent: TComponent);     { Private declarations }   public     { Public declarations }   end; var   Form1: TForm1; implementation {$R *.dfm} function CompTostr(AComponent: TComponent): string; var   memstream: TMemoryStream;   strStream: TStringStream;   str: string; begin   memstream := TMemoryStream.Create();   try     strstream := TStringStream.Create(str);     try       memstream.WriteComponent(AComponent);       memstream.Seek(0,soFromBeginning);       classes.ObjectBinaryToText(memstream,strStream);       strStream.Seek(0,soFromBeginning);       Result := strStream.DataString;     finally       FreeAndNil(strStream);     end;   finally     FreeAndNil(memstream);   end; end; function StrToComp(Astr: string; Acomponent: TComponent): TComponent; var   strStream: TStringStream;   memStream: TMemoryStream; begin   strStream := TStringStream.Create(Astr);   try     memStream := TMemoryStream.Create;     try       classes.ObjectTextToBinary(strStream,memStream);       memStream.Seek(0,soFromBeginning);       Result := memStream.ReadComponent(Acomponent);     finally       FreeAndNil(memStream);     end;   finally     FreeAndNil(strStream);   end; end; procedure TForm1.btn1Click(Sender: TObject); var   str: string; begin   mmo1.Clear;   ShowComponentPropertIEs(edt1); end; procedure TForm1.ShowComponentPropertIEs(AComponent: TComponent); var   str: string; begin   str := compToStr(AComponent);   mmo1.lines.Add(str); end; procedure TForm1.btn2Click(Sender: TObject); var   editclone: Tedit; begin   editclone := TEdit(StrToComp(mmo1.lines.Text,nil));   editclone.Parent := self;   editclone.name := editclone.name + 'Clone';   editclone.top := editclone.top + 40;   editclone.Visible := true;   ShowComponentPropertIEs(editclone); end; initialization Classes.registerClass(TEdit); end. 总结

以上是内存溢出为你收集整理的组件的持久化,delphi全部内容,希望文章能够帮你解决组件的持久化,delphi所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1274915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存