文档章节

Delphi 序列化、反序列化、串行化、持久化

vga
 vga
发布于 2016/02/06 09:39
字数 105
阅读 164
收藏 0
function  ComponentToStr(AComponent: TComponent):  string ;
var
   BinStream: TMemoryStream;
   StrStream: TStringStream;
   s:  string ;
begin
   BinStream := TMemoryStream . Create;
   try
     StrStream := TStringStream . Create(s);
     try
       BinStream . WriteComponent(AComponent);
       BinStream . Seek( 0 , soFromBeginning);
       ObjectBinaryToText(BinStream, StrStream);
       StrStream . Seek( 0 , soFromBeginning);
       Result := StrStream . DataString;
     finally
       StrStream . Free;
     end ;
   finally
     BinStream . Free
   end ;
end ;
 
function  StrToComponent( const  Value:  string ;
   Instance: TComponent): TComponent;
var
   StrStream: TStringStream;
   BinStream: TMemoryStream;
begin
   StrStream := TStringStream . Create(Value);
   try
     BinStream := TMemoryStream . Create;
     try
       ObjectTextToBinary(StrStream, BinStream);
       BinStream . Seek( 0 , soFromBeginning);
       Result := BinStream . ReadComponent(Instance);
     finally
       BinStream . Free;
     end ;
   finally
     StrStream . Free;
   end ;
end ;


本文转载自:http://bbs.csdn.net/topics/300196050

共有 人打赏支持
vga

vga

粉丝 21
博文 362
码字总数 24609
作品 0
佳木斯
私信 提问
java serializable深入了解

一、串行化(序列化)的概念和目的 1. 什么是Serialization? 串行化(Serialization)是计算机科学中的一个概念,它是指将对象存储到介质(如文件、内在缓冲区等)中或是以二进制方式通过网络传...

亚特兰缇斯
2015/03/04
0
0
MFC如何生成一个可串行化的类

一、MFC允许对象在程序运行的整个过程中持久化的串行化机制 (1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程。 (2)串行化用于在程序运行过程时或之后修复结构化数据(...

长平狐
2012/10/08
154
0
在Java中如何使用transient

Java语言的transient不像class、synchronized和其他熟悉的关键字那样众所周知,因而它会出现在一些面试题中。这篇文章我将为大家讲解transient。 transient的用途 Q:transient关键字能实现什...

dannyhe
2015/11/16
0
0
java对象的序列化和反序列化

引言:   序列化是将对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,对象将其带你过去的状态写入到临时或持储存区,反序列化就是重新创建对象的过程,此对象来自于临时或...

Ala6
09/29
0
0
Java对象的序列化与反序列化

序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字...

天蚕宝衣
2016/03/07
62
0

没有更多内容

加载失败,请刷新页面

加载更多

Deepin 安装wireshark抓包工具

一、关于deepin和wireshark deepin目前已经发展到15.8了,开发Android毫无压力,在四个月的使用时间里,已经非常习惯了。目前想处理一些网络问题,因此尝试在deepin上安装一个抓包工具。dee...

IamOkay
10分钟前
0
0
Docker镜像仓库服务-Nexus

建立云原生集群系统,建立自己的私有Docker镜像仓库必不可少。一方面可以加快多节点部署容器镜像的下载速度,另一方面是为了安全(容器里存储有系统所有的信息、包括密码、数据库等等,切记不...

openthings
22分钟前
0
0
127.0.0.1 和 0.0.0.0 地址的区别

1. IP地址分类 1.1 IP地址表示 IP地址由两个部分组成,net-id和host-id,即网络号和主机号。 net-id:表示ip地址所在的网络号。 host-id:表示ip地址所在网络中的某个主机号码。 即: IP-a...

华山猛男
今天
17
0
解决Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

把 总项目 下的 build.gradle 中的 两个 jcenter() 用 maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 代替。...

lanyu96
今天
4
0
基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部