1. carchive在選單開啟儲存時的**
cfile file("1.txt",cfile::modecreate | cfile::modewrite);
carchive ar(&file,carchive::store);
int i=4; char ch='a'; float f=1.3f;
cstring str("");
ar《以上是儲存,開啟略
a.讓類從cobject派生;
b.覆蓋serialize()函式,在其中完成儲存和讀取功能;
c.在.h 類定義中加入 declare_serial(cgraph);
d.在.cpp中加入implement_serial(cgraph, cobject, 1 ); //最後乙個引數是版本號
e.定義乙個不帶引數的建構函式。 儲存繪畫資料到檔案的簡單過程
a.在cgraph中增加乙個畫圖的成員函式,其實不增加也行。可以在view中完成相應功能。
b.增加四個畫圖選單,選單可以從11課的**中拷貝。
c.在view中增加lbuttondown和up的響應,在up中畫圖,在down中儲存點 d.利用cobarray集合類來儲存繪畫資料
e.在cgraphicdoc::serialize()中儲存和讀取資料 f.然後在ondraw中重繪。
4. 新建和開啟文件時,要注意銷毀原來的資料。在doc的deletecontents虛函式中是好時機。**如下:
example:
int ncount;
ncount=m_obarray.getsize();
/*for(int i=0;iwhile(ncount--)
補充幾點:
1.當啟動mfc生成的單文件程式時 , 單文件程式會新建文件 所以會呼叫onnewdocument()函式
2.當 儲存和開啟文件時 會呼叫serialize (不過 如果是同乙個文件,如果你沒關掉你去開啟同乙個時,他不會呼叫,因為人性化的特點).
除了從cobarray物件中乙個乙個取出儲存外,還可以在文件類的serialize的函式中,讓cobarray直接呼叫serialize(ar)直接儲存或開啟.
3.cobarray物件 最好放到文件類中,當然放到視類中也行.
MFC 文件序列化
一 建立乙個序列化類的五個步驟 參考msdn cobject serilize 1 建立乙個可序列化類,可序列化類都是從cobject繼承而來 2 過載serialize成員函式 3 在類宣告中使用declare serial巨集 4 定義乙個沒有引數的建構函式 5 在實現檔案中使用implemen...
MFC文件的序列化
1 建立乙個可序列化類,可序列化類都是從cobject繼承而來 2 過載serialize成員函式 3 在類宣告中使用declare serial巨集 4 定義乙個沒有引數的建構函式 5 在實現檔案中使用implement serial巨集 二 carchive類 carchive類用來建立乙個持久...
序列化(序列化)
原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...