锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
MFC鏂囨。-瑙嗗浘緇撴瀯涓紝搴忓垪鍖栨満鍒跺彲浠ュ疄鐜板唴瀛樹腑瀵硅薄鍌ㄥ瓨鍜屽姞杞姐?/span>
搴忓垪鍖栨満鍒跺垎涓哄簭鍒楀寲鍜屽弽搴忓垪鍖栵紝搴忓垪鍖栨槸鎶婂唴瀛樹腑鐨勫璞′互浜岃繘鍒舵枃浠剁殑褰㈠紡瀛樺偍鍦ㄧ鐩樹腑銆傚弽搴忓垪鍖栨槸鎶婂簭鍒楀寲鍚庣敓鎴愮殑鏂囦歡鎭㈠鍒板唴瀛樸?/p>
2銆?/span>CArchive綾?/span>
CArchive娌℃湁鍩虹被銆?/span>
CArchive鍏佽浠ヤ竴涓案涔呬簩榪涘埗錛堥氬父涓虹鐩樺瓨鍌級鐨勫艦寮忎繚瀛樹竴涓璞$殑澶嶆潅緗戠粶錛屽畠鍙互鍦ㄥ璞¤鍒犻櫎鏃訛紝榪樿兘姘鎬箙淇濆瓨銆傚彲浠ヤ粠姘鎬箙瀛樺偍涓杞藉璞★紝鍦ㄥ唴瀛樹腑閲嶆柊鏋勯犲畠浠備嬌寰楁暟鎹案涔呬繚鐣欑殑榪囩▼灝卞彨浣?/span>“搴忓垪鍖?#8221;銆?/span>
鍙互鎶婁竴涓綊妗e璞$湅浣滀竴縐嶄簩榪涘埗嫻併傝薄杈撳叆/杈撳嚭嫻佷竴鏍鳳紝褰掓。涓庢枃浠舵湁鍏沖茍鍏佽鍐欑紦鍐插尯浠ュ強浠庣‖鐩樿鍑烘垨璇誨叆鏁版嵁銆傝緭鍏?/span>/杈撳嚭嫻佸鐞嗕竴緋誨垪ASCII瀛楃錛屼絾鏄綊妗f枃浠朵互涓縐嶆湁鏁堢巼銆佺簿緇冪殑鏍煎紡澶勭悊浜岃繘鍒跺璞°?/span>
3銆?/span>CArchive瀵硅薄澶勭悊鍩虹綾誨瀷鏁版嵁
蹇呴』鍦ㄥ垱寤轟竴涓?span style="font-family: 'Times New Roman'">CArchive瀵硅薄涔嬪墠錛屽垱寤轟竴涓?/span>CFile瀵硅薄銆傚彟澶栵紝蹇呴』紜俊褰掓。鏂囦歡鐨勮鍏?/span>/瀛樺偍涓庢枃浠剁殑鎵撳紑妯″紡鏄吋瀹圭殑銆傛瘡涓涓枃浠跺彧闄愪簬涓涓椿鍔ㄥ綊妗f枃浠躲?/span>
褰撴瀯閫犱竴涓?span style="font-family: 'Times New Roman'">CArchive瀵硅薄鏃訛紝瑕佹妸瀹冮檮鍔犵粰琛ㄧず涓涓墦寮鏂囦歡鐨勭被CFile錛堟垨媧劇敓綾伙級鐨勫璞′笂銆傝繕瑕佹寚瀹氬綊妗f枃浠跺皢鐢ㄤ簬瑁呰澆榪樻槸瀛樺偍銆?/span>
紺轟緥錛?/p>
CFile file("1.txt",CFile::modeCreate | CFile::modeWrite); //瀹氫箟涓涓枃浠舵祦瀵硅薄
CArchive ar(&file,CArchive::store); //瀹氫箟涓涓簭鍒楀寲瀵硅薄鍜屾枃浠舵祦瀵硅薄緇戝畾騫舵寚瀹氬綊妗f柟寮忎負鍌ㄥ瓨錛屽姞杞界殑鏂瑰紡涓篊Archive::load
int i=4;
char ch='a';
float f=1.3f;
CString str("aa");
ar<<i<<ch<<f<<str; //鍌ㄥ瓨鍒版枃浠?/span>4銆?/span>CArchive瀵硅薄澶勭悊鑷畾涔夊璞$被鍨嬫暟鎹?/strong>
CArchive瀵硅薄涓嶄粎鍙互澶勭悊棣栬綾誨瀷錛岃屼笖榪樿兘澶勭悊涓?/span>搴忓垪鍖栬岃璁$殑鐗規畩鐨勭被鐨勫璞°傚彲浠ュ簭鍒楀寲鐨勭被鏈変互涓嬬壒鐐癸細
1銆佸繀欏諱負CObject媧劇敓綾匯?/span>鐩存帴鎴栬呴棿鎺ョ殑緇ф壙CObject綾匯?/span>
2銆佸繀欏婚噸鍐機Object綾葷殑Serialize鎴愬憳鍑芥暟銆?/p>
3銆?/span>浣跨敤DECLARE_SERIAL鍜?/span>IMPLEMENT_SERIAL瀹忋?/span>
4銆佸繀欏繪湁涓涓粯璁ゆ瀯閫犲嚱鏁?/span>
鍦⊿erialize鎴愬憳鍑芥暟涓畬鎴愪繚瀛樺拰鍔犺澆鐨勫姛鑳姐?/p>
DECLARE_SERIAL( class_name ) 鍙傛暟涓?/span>褰撳墠綾誨悕銆?/p>
IMPLEMENT_SERIAL( class_name, base_class_name, wSchema ) 絎竴涓弬鏁頒負褰撳墠綾誨悕錛岀浜屼釜鍙傛暟涓虹埗綾葷被鍚嶏紝絎笁涓弬鏁頒負璇ョ被鐨勭壒瀹氭暣鍨嬫爣璇?span style="font-family: 'Times New Roman'">,
紺轟緥錛?/p>
//DrawBase.h
class CDrawBase : public CObject //緇ф壙鑷狢Object
{
public:
DECLARE_SERIAL(CDrawBase) //絎竴涓畯鐨勪綅緗紝鍙傛暟涓哄綋鍓嶇被鍚?/span>
CDrawBase();//蹇呴』鏈変竴涓粯璁ゆ瀯閫犲嚱鏁?/span>
virtual void onDraw(CDC* pdc);
virtual ~CDrawBase();
public:
UINT m_PenStyle;
int m_PenWidth;
int m_BkMode;
int m_BrushStyle;
int m_issx;
int m_isyy;
COLORREF m_PenColor;
COLORREF m_BackgroundColor;
COLORREF m_BrushColor;
CPoint m_ptBegin;
CPoint m_ptEnd;
public:
void Serialize(CArchive& ar);//閲嶅啓浜哠erialize鎴愬憳鍑芥暟
};
//DrawBase.cpp
IMPLEMENT_SERIAL(CDrawBase, CObject, 1) //絎簩涓畯鐨勪綅緗紝絎竴涓弬鏁頒負褰撳墠綾誨悕錛岀浜屼釜鍙傛暟涓虹埗綾葷被鍚嶏紝絎笁涓弬鏁頒負璇ョ被鐨勭壒瀹氭暣鍨嬫爣璇?璇ユ爣璇嗗皢鐢ㄦ潵瑙e簭(閲嶆柊瀹炰緥鍖?錛屾渶灝忎負0
void CDrawBase::Serialize(CArchive& ar)
{
CObject::Serialize(ar);
if(ar.IsStoring())//淇濆瓨錛屽姞杞戒負ar.IsLoading()
{
ar <<m_PenColor<<m_PenStyle<<m_PenWidth<<m_BrushColor<<m_BrushStyle<<m_issx<<m_isyy;
}
Else //鍔犺澆
{
ar >>m_PenColor>>m_PenStyle>>m_PenWidth>>m_BrushColor>>m_BrushStyle>>m_issx>>m_isyy;
}
}閲嶈澆鎻愬彇錛?span style="font-family: 'Times New Roman'">>>錛夊拰鎻掑叆錛?/span><<錛夋槸鏂逛究鐨勫綊妗g紪紼嬫帴鍙c傚畠鏀寔涓昏綾誨瀷鍜?/span>CObject媧劇敓綾匯?/span>
CArchive榪樻敮鎸佷嬌鐢?/span>MFC Windows濂楁帴瀛楃被CSocket鍜?/span>CSocketFile緙栫▼銆?/span>IsBufferEmpty鎴愬憳鍑芥暟涔熸敮鎸佽繖縐嶄嬌鐢ㄣ?/span>
涓浜涢泦鍚堢被涔熸敮鎸佸簭鍒楀寲錛?span style="font-family: 'Times New Roman'">CObArray,Vector,CPtrArray銆?/span>
鍦?span style="font-family: 'Times New Roman'">MFC鏂囨。-瑙嗗浘緇撴瀯涓紝Doc綾繪槸琚郴緇熻瀹氬ソ鏀寔搴忓垪鍖栫殑綾伙紝鍦?/span>Doc綾諱腑閲嶅啓Serialize鎴愬憳鍑芥暟銆傚湪鍑芥暟涓浣犺淇濆瓨鐨勫璞″簭鍒楀寲銆?/p>
瀹屾垚涔嬪悗錛岀偣鍑昏彍鍗曟爮涓婄殑淇濆瓨鍜屾墦寮灝卞彲浠ュ疄鐜板簭鍒楀寲浜嗐?/p>
]]>
瑙e喅鏂規錛?/span>
1錛?/font> 鎵撳紑寮濮嬭彍鍗曪紝鐐瑰嚮榪愯鎸夐挳錛岃緭鍏?/span>regedit錛岃繘鍏ユ敞鍐岃〃鐣岄潰
2錛?/font> 鎵懼埌鐩綍 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones
3錛?/font> 鏌ョ湅姝ょ洰褰曚笅鏄惁瀛樺湪1000鐩綍錛屽鏋滀笉瀛樺湪鍒欏緩绔嬫鐩綍
4錛?/font> 鍦?/span>1000鐩綍涓嬪垱寤?/span>DWORD鍊鹼紝鍚嶅瓧涓?/span>1207錛屽間負0
5錛?/font> 閲嶅惎vs2005/2008