Delphi 序列化 和 反序列化
来源:互联网 发布:java 表达式引擎 编辑:程序博客网 时间:2024/06/11 02:06
Delphi中序列化的方法。读:[delphi] view plaincopyprint?function TStream.ReadComponentRes(Instance: TComponent): TComponent; function TStream.ReadComponentRes(Instance: TComponent): TComponent;写:[delphi] view plaincopyprint?procedure TStream.WriteComponentRes(const ResName: string; Instance: TComponent); procedure TStream.WriteComponentRes(const ResName: string; Instance: TComponent);本想用序列化实现语言切换,可发现序列化后的文件跟乱码一样。不知道怎么可以保存的跟INI文件一样整齐好维护(不知道怎么实现)。不过还是有点用,可以将界面录入的数据先保存起来,下次在加载接着录。呵呵。源码如下:[delphi] view plaincopyprint?{ 序列化 (serialization):将对象的状态信息转换为可以存储或传输的形式的过程。 与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。 序列化的目的 1、以某种存储形式使自定义对象持久化; 2、将对象从一个地方传递到另一个地方。 3、使程序更具维护性 在Delphi中 只要从 TPersistent继承后就会有序列化的功能。 在TPersistent中的定义 procedure DefineProperties(Filer: TFiler); virtual; } unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Btn1: TButton; Btn2: TButton; Edit1: TEdit; LB1: TLabel; mmo1: TMemo; procedure Btn2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Btn1Click(Sender: TObject); private SYS_PATH: string; public end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Btn1Click(Sender: TObject); var ts: TStream; i: integer; begin //反序列化 ts := TFileStream.Create(SYS_PATH + 'serialization.txt',fmOpenRead); for i := 0 to Self.ComponentCount - 1 do ts.ReadComponentRes(Self.Components[i]); ts.Free(); end; procedure TForm1.Btn2Click(Sender: TObject); var fs: TFileStream; i: Integer; begin //序列化 fs := TFileStream.Create(SYS_PATH + 'serialization.txt', fmCreate); for i := 0 to Self.ComponentCount - 1 do fs.WriteComponentRes(Self.Components[i].ClassName, Self.Components[i]); fs.free(); end; procedure TForm1.FormCreate(Sender: TObject); begin SYS_PATH := ExtractFileDir(Application.ExeName) + '\'; end; end.
- Delphi序列化和反序列化
- Delphi 序列化 和 反序列化
- delphi组件序列化/反序列化
- 序列和反序列化
- 序列和反序列化
- 序列化和反序列化
- 序列化和反序列化
- 序列化和反序列化
- c# 序列化和反序列化
- .NET序列化和反序列化
- .net序列化和反序列化
- 序列化和反序列化
- C#序列化和反序列化
- XML序列化和反序列化
- Serializable,序列化和反序列化
- C#序列化和反序列化
- Java序列化和反序列化
- C#序列化和反序列化
- Wap1.0基础
- CxImage
- String.Format格式说明
- enter the full pathname for java.exe
- Android笔记---常用控件之对话框
- Delphi 序列化 和 反序列化
- Android中如何加入busybox
- 理解总线 & I2C总线
- Ubuntu12.04下Linux内核编译
- FLV流媒体格式
- 归并排序(2-路归并排序)
- 黑龙江集贤塌楼事件仍有4人被困-集贤-黑龙江-办公楼
- linux top命令详解
- javascript DOM innerHTML createElement createTextNode