?? sy0504.htm
字號:
<html>
<HEAD>
<TITLE>Visual C++與計算機接口</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb2312" >
</HEAD>
<body>
<font color="#0000FF">使用序列化讀取和保存文件</font>
<p>
(一)實驗目的:<BR>
學會使用序列化(serialization)保存和恢復數據<BR><BR>
(二)實驗內容:<BR>
序列化(serialization)是面向對象編程中一個常見的概念。其思想是對象具有持久性(persistent),即對象在程序退出時可以保存在磁盤中,而當程序重新啟動時這個對象又可以通過磁盤中的數據恢復到程序退出前的狀態。這個保存和恢復對象的過程稱為序列化。<BR><BR>
(三)實驗步驟:<BR><BR>
1、建立一個擁有文檔視窗支持的工程。<BR><BR>
2、在文檔類添加數據成員:<BR>
CString m_strInfo;<BR>
CPoint m_point;<BR><BR>
3、修改文檔類成員函數Serialize:<BR>
if (ar.IsStoring())<BR>
{<BR>
// TODO: add storing code here<BR>
ar << m_strInfo << m_point;<BR>
}<BR>
else<BR>
{<BR>
// TODO: add loading code here<BR>
ar >> m_strInfo >> m_point;<BR>
}<BR><BR>
4、在視窗類添加消息映射WM_LBUTTONDOWN。<BR><BR>
5、修改視窗類成員函數OnLButtonDown,添加如下代碼:<BR>
GetDocument() -> SetModifiedFlag();<BR>
GetDocument() -> m_point = point;<BR>
GetDocument() -> m_strInfo.Format ("x=%d,y=%d", point.x, point.y);<BR>
Invalidate();<BR><BR>
6、修改視窗類成員函數OnDraw,添加如下代碼:<BR>
pDC->TextOut (pDoc->m_point.x, pDoc->m_point.y, pDoc->m_strInfo);<BR><BR>
7、編譯運行,檢查讀盤存盤功能,可以發現程序能夠保存和m_strInfo和m_point的狀態。<BR><BR>
說明:<BR>
只有簡單數據類型和一些重載了>>和<<操作符的MFC類可以使用>>和<<來序列化其數據。<BR>
一般的類需要自己實現序列化行為。<BR><BR>
<p></p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -