Delphi 序列化 和 反序列化

2021-06-10 06:08:30 字數 2013 閱讀 5892

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?

unit unit1;

inte***ce

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

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

end;

end.

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...

序列化和反序列化

先定義乙個類 serializable xmlroot shintech public class person set public string name set public person this 0,string.empty public person int m age,string m...

序列化和反序列化

引文來自 序列化和反序列化我們可能經常會聽到,其實通俗一點的解釋,序列化就是把乙個物件儲存到乙個檔案或資料庫欄位中去,反序列化就是在適當的時候把這個檔案再轉化成原來的物件使用。using system using system.collections using system.text namesp...