ࡱ>  ~` R{bjbj2p&^^^^~~~8.·h"ʺʺʺfffffff$ihk@g5~3g^^ʺʺiMhT5T5T5C^@ʺ~ʺfT5fT5T5&ZX~2^ʺ 0 ꤜ~[(f^ch0h[-l@/-lP2^-l~2^4YhT5Tgg4jhd^^^^^^ v fN^{t|~T[s Xd ,ge/fsQNfN^{t|~vvsQoN_SvN{['`e0 (WS_N>yO @w{:gvSU\SQ~b/gv^(u e8^{t]\O^NNMRA~tvNR-N>eQeg N cؚN]\OHes0vMR(W'YvfN^^ gNteWYk[tevOo`{t|~ (WN,\WvfN^-N'YR]\O؏/fۏL@wKb]{t ]\OHes_NO v^N NSeNfN^T{|VfNv^X[ BlvVfNN(Wwȇ~b0RQVfNveQ^TfekpI{ NONR`SeteVfN~g0 Te1uN NSMQvN:NV } bpencvWoQbI{0:NNf}Y0W^S_MRfN^v.UBl Kb]{tX[(Wv _z _SNfN^{t|~ |~T(u7bcOv gR\(W O~v eQ^->.U->vp W@x N ۏNekcOhQeMOvOo` gR0 9hnc\WfN^vĉ!jT~NmR ,g|~wQ gfN^{t|~vW,gR YVfN{tQeQ^{tQ.U{tQ~TgQ|~{tI{ v^NLub{USQd\O{O0\O:NNyxvzeTv['`c"} ,gVfN.U{t|~e(WcON*NSNd\Ov eOg fNO9evR{t|~ NnS_MR\WfN^(W{t[TNRd\O-NvwQSOBl0 v U_ N0MR 1 N0BlRg 2 N |~Bl 2 N RBl 2 10CgPn 2 20VfN.U 2 30VfNeQ^ 3 40VfNOo`n 3 50~Tg 3 60|~n 4 70penc^{t 4  N '`Bl 4 10lxNsX 4 20oNsX 4 N0;`SO 5 N W,gi_TYtAm z 5 N |~B\!k!jWWV 5  N penc^ 6 10penc^N~ 6 20O(uODBCpenc^cSpenc^ 6 30penc^BlRg 7 40penc^i_~g 9 V0~N[s 9 N |~;Ncs^S 9 10;Ncs^SLubv 9 20;Ncs^SLubv[s 9 N CgPn!jWW 9 10CgPn!jWW 10 20CgPn!jWWv[s 10  N VfN.U!jWW 11 10VfN.U!jWW 11 20VfN.U!jWWv[s 12 V VfNeQ^!jWW 17 10VfNeQ^!jWW 17 20VfNeQ^!jWWv[s 18 N VfNOo`n!jWW 19 10VfNOo`n!jWW 19 20VfNOo`n!jWWv[s 20 mQ ~Tg!jWW 22 10VfNgP[!jWW 22 20.UgP[!jWW 24 N |~n!jWW 26 kQ penc^{t!jWW 31 10penc^{t!jWW 31 20penc^{t!jWWv[s 32 N0~NSOO 34 Se.s 35 fN^{t|~T[s MR (WS_N>yO @w{:gvSU\SQ~b/gv^(u e8^{t]\O^NNMRA~tvNR-N>eQeg N cؚN]\OHes0vMR(W'YvfN^]~ gNteWYk[tevOo`{t|~ (WN,\WvfN^-N'YR]\O؏/fۏL@wKb]{t ]\OHes_NO v^N NSeNfN^T{|VfNv^X[ BlvVfNN(Wwȇ~b0R VfNveQ^TfekpI{ NONR`SeteVfN~g0 Te1uN NSMQvN:NV } bpencvWo bI{0O(u{:g[fN^VfNOo`ۏL{t wQ gKb]@belkbvOp0OYh"}ŏQg~beOQS`'`ؚQO['`}YQ[}TQb,gNOQؚHesQ[ۏfN g}YvKm'`I{0 :NNf}Y0W^S_MRfN^v.UBl Kb]{tX[(Wv _z _SNfN^{t|~ |~T(u7bcOv gR\(W O~v eQ^->.U->vp W@x N ۏNekcOhQeMOvOo` gR0[wQ gN NQ*Nyrp 10SNX[P^-N@b gVfNvDeNS^X[`Q wQ g[hQ ؚHevyr'`0 20SN0RN TchHhU_eQXTsSSd\O|~ w'YϑNR0 30SNŏg0R@bOo`0 40|~[o lxNebvBl Nؚ oNBlff[ [fcc SN_{USeO0W{tVfNOo`0lxNvMnBl N*Yؚ ُ7hSN_}Yv^S_MRvT{|fN^0 ;`KN VfN.U{t|~e(WcON*NSNd\Ov eOg fNO9evR{t|~0 TecON|~zfRN(u7b b$Nye_ cؚgHes0 N0BlRg |~Bl fN^{t|~neg N*NebBl,{N fN^]\ONXTǏ{:geg{tT{|VfN ۏLVfNR{|S teVfN~g XRVfN^X[ ^vBl0,{N ]\ONXT[vBl`Q\O}YhQbvcc Se_0RSS.UU_0,{ N _N/ffN^v8h_]\O [VfNv.U{t0 RBl WN|~BlRg |~[sN NW,gR 10CgPn ,g|~vO(u(u7bR$Ny{tXTTnf(u7b0{tXTwQ gO(u,g|~v@b gR nf(u7b/fwQ ge8^fN^v{tRsSS0(u7bCgPvnǏ(u7b{vFLubveQegۏL0 20VfN.U VfN{tNXTǏdk!jWWeg.UT{|VfNv^[.U`QۏLU_ U_vOo`SbVfN.Uvpeϑ NyQNynT(u7b{tI{]\O0(W!jWW-N]\ONXTSNۏLmRT RdT{|VfN@b^\R{|v Ty VfNQHr>y Te؏SۏL|~(u7b{vFvNN{t SbmR Rd(u7b f9e(u7bv{vF[xI{0 70penc^{t [s gpenc^ۏL{t Sbpenc^YNTb` Y NeO(u7b[penc^v{tT~b]\O cؚ{tvpenc^[hQ'`0  N '`Bl 1lxNsX (WgNOMnv`Q N |~v'`__ N=\YNa s(WvlxN'`]~vS_Qr NNfaSSVGA>f:yMhV 2oNsX d\O|~Windows 98/ME/2000/XP penc^Microsoft Access 2000 NQ;`SO (N) W,gi_TYtAm z ,g|~;N[\WfN^vĉ!j\ Kb]YtA~tv`Q [sNfN^e8^{tvW,gR d\O{USeOQ NKb_0SY WNb,gNS[hQvQ GP,g|~/fN*Nv[\필vUS:gЏL|~ NcONvQ[|~v[epencNN0 ,g|~Ǒ(uVisual C++ 6.0_S Ǒ(uMicrosoft Access 2000 \O:NTSpenc^ (WnBlvMRc N \|~[ЏLsXv'`BlM0RgNO0 |~W,gAm z/f(u7b{vF->;NLub-> bTyR0 (N)|~B\!k!jWWV 9hncBlRgv~g ,g|~;NRRN N7*NP[!jWWCgPQVfN.UQVfNeQ^QVfNOo`nQ~TgQ|~nQpenc^{tI{;Nv|~0YV1@b:y0|~NRYtAm zYV2@b:y0  EMBED PBrush  V1 fN^{t|~;N!jWW             V 2 |~NRYtAm zV  N penc^ tNODBCOpen Database Connectivity /f(uNpenc^v^(ug^lv^(u z^ zcS [AQ^(u z^O(uv TvNx N Tvpenc^{t|~DBMS ,g|~Ǒ(uODBCve_penc^0 10penc^N~ Access 2000penc^{t|~/fMicrosoft Office v͑~bR (uN\WFUR;mR (uNX[PT{tFUR;mR@bvpenc0Access NN/fN*Npenc^ N[wQ g:_'Yv{tR0 20O(uODBCpenc^cSpenc^ ODBC(Open Database Connectivity, _>epenc^Nޏ)/f_olQS_>e gR~g(WOSA, Windows Open Services Architectrue)-N gsQpenc^vN*N~bR [^zNN~ĉ v^cONN~[penc^vhQAPI(^(u z^ zcS)0 ,g|~ǏVisual C++\ňvODBC APIsSMFC ODBC{|[Accesspenc^ۏLd\O0bAccesspenc^lQ0RODBCqR z^{thV 1uMFC ODBC{|ubv^vh{|0(WdkW@x NۏLmR O9e RdI{d\O0O(uMFC ODBCveP WindowsvODBC{t z^bpenc^vBl O~cknxvqR z^ qR z^(WO(uSQLSc:yDBMS(Database Management System,penc^{t|~)[bpenc^]\O0 30penc^BlRg 9hnc|~RvBlNSR!jWWvRR [N,g|~vpenc^ SNRQN NpencyTpenc~g (1)VfNOo`h----bookinfo pencegn.U{t!jWW----VfNeQ^bVfNOo`n-NۏLU_eQ T yW[ k T y{| W;N .^ zzbooknofNM|Se,g /f /fpubnameQHr>ySe,g &T &TbooktypenameVfN{|We,g &T &TbookbnNx{Qe,g &T &Tauthor\OY Te,g &T &TPricefNM|Nye,g &T &Tprice.UVfNNye,g &T &TnumberVfNpeϑpeW[ &T /fPriceNyOo`h----publisherinfo pencegn|~n----QHr>yn-NۏLU_eQ T yW[ k T y{| W;N .^ zzpubnoQHr>ySꁨRX /f  /fpubnameQHr>y Ty e,g &T /f(5)VfN{|+Rh----booktypeinfo pencegn|~n----VfN{|+Rn-NۏLU_eQ T yW[ k T y{| W;N .^ zzbooktypenoVfN{|+RSꁨRX /f  /fbooktypenameVfN{|+R Ty e,g &T /f(6)|~(u7bOo`h----userinfo pencegn|~{t!jWW----(u7bn-NۏLU_eQ T yW[ k T y{| W ;N .^ zzuserid(u7bSꁨRX /f /fusername(u7b Te,g &T /fuserpassword(u7b[x e,g &T &TisAdmin(u7bCgP /f/&T &T /f40penc^i_~g penc^vhKNvNsQTSNOpenc^pencvN'` FO/f_ gP01u z^Nxeg[sf}Yvhgpenc^pencvN'`0@bN,g|~vpenc^hvNrz0 V0~N[s (N)|~;Ncs^S 1;Ncs^SLubv EQRQfNd\Ov|~Bl ;Nc6Rs^SO(u{USTv‰v^@\0. 2;Ncs^SLubv[s (1);NSOFhgO(uMFC AppWizardR^N*NUSech~gv^(u z^] z ^zw|~;NSOFhg ub^(u z^{|CBookShopMISApp Qech{|CBookShopMISDoc QƉV{|CBookShopMISView T;NFhg{|(CMainFram). (2)܃US9hnc|~;`SO-NR!jWWvRR O(uDnhVR^|~܃US0 (N)CgPn!jWW dk!jWW;N/f9hnc(u7beQv TyT[x(u7bNv^NQ[(u7bvd\OCgP v^b(u7bOo`n0RS_MR(u7b{|-N0 CgPn eQ(u7b TT[x Yt (1) z^_Y/TR|~{vF[݋Fh0 (2)(u7beQ(u7b TT[x0 (3)N(u7bh-Nhg/f&T gv^v(u7b TT[x0 (4)Yg(u7b Tb[x ۏLc:yYg!kpe0R N!k Rc:yv^Q0 (5)Ygcknx R9hnc(u7bvCgP{|+RۏLCgPn0 (6)ۏeQ;N z^Lub Q;N z^Lub 20CgPn!jWWv[s Ǐ[INCLoginDialog{|eg[sCgPn!jWWR0vQ;NNxY N (1) 9hnc(u7b TT[x(u7bNTRMCgP //(W{vF cpQT ۏLCgP0 void CLoginDialog::OnOK() { UpdateData(TRUE); CUserSet m_UserSet; CBookShopMISApp *ptheApp = (CBookShopMISApp *)AfxGetApp(); try{ if(m_UserSet.IsOpen()) m_UserSet.Close(); m_UserSet.m_strFilter.Format(" username= '%s' and userpassword = '%s'", m_strUserName, m_strUserPwd); m_UserSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(m_UserSet.IsEOF()){ m_UserSet.Close(); if(++i == 3){ AfxMessageBox("_bIk,`veQ!kpe]0R3!k.\n|~sS\Q."); exit(1); } AfxMessageBox("[x, ͑Ջ!"); return; } else{ ptheApp->m_PresentUser.SetUserInfo(m_UserSet.m_username, m_UserSet.m_userpassword,m_UserSet.m_isAdmin); m_UserSet.Close(); AfxMessageBox("[xcknx,{vFbR!"); } } catch(CDBException *e){ e->ReportError(); return; } CDialog::OnOK(); } ( N)VfN.U!jWW 1VfN.U eQVfNSQVfNpeϑTbcb:w:N NSbb 0 Yt VfN.U[݋Fh/TR (u7beQVfNS v^pQ  d"} c |~ۏLVfNd"} YgedkSvVfN ۏLc:ySKN RRQVfNvW,gOo`0 eQVfNpeϑ 6qT cVf.{Q{.Uvё0 c NN,g c RۏL NN,gfNv.U0 c ~& c R[bdk!kv.UR0v^{Q;`ё0 pQ.URh c d c RSmfNv.U0 c Q c RQVfN.U0 QfeVfNOo`hTVfN.Uh0 20VfN.U!jWWv[s 9hncVfN.U!jWW Ǐ[INCBookSaleDialog{|eg[sVfN.U!jWWvR0vQ;N[sNxY N (1) CBookSaleDialog{|O(uvVfNOo`hU_ƖCBookSetQVfN.UhU_ƖCBookSaleSetT4NeVfN.UhU_ƖCTempSaleSet. d\O[bT feTteVfNOo`h XRVfN.UhU_ 4Ne.Uh:Nzz0 (2) VfN.U0Am z bVfNS->pQd"} c->eQVfNbcbTVfNpeϑ->Vf.->pQ NN,g->b~&->Q0 // 9hncVfNSۏLd"} YgX[(W R>f:yVfN~Oo` void CBookSaleDialog::OnButtonSearch() { UpdateData(TRUE); if(m_strBookNo == "") { MessageBox("VfNS N:Nzz"); return ; } CBookSet m_BookSet; try{ m_BookSet.m_strFilter.Format("bookno = '%s'",m_strBookNo); m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(m_BookSet.IsEOF() || (m_BookSet.m_number == 0)) { m_BookSet.Close(); AfxMessageBox("SvVfN NX[(W,͑eeQS!"); ResetMembers(); return; } CString strTemp; strTemp.Format("%d",m_BookSet.m_number); m_strBookName = m_BookSet.m_bookname; m_strPublisher = m_BookSet.m_pubname; m_strAuthor = m_BookSet.m_author; CString TempPrice; TempPrice.Format("%.2f",m_BookSet.m_price); m_strPrice = TempPrice; //m_BookSet.m_price; m_BookSet.Close(); UpdateData(FALSE); } catch(CDBException *e){ e->ReportError(); } } // {.U

Close(); // mR.UvVfN0R4Ne.Uh m_TempSaleSet.Open(); m_TempSaleSet.AddNew(); m_TempSaleSet.m_author = m_strAuthor; m_TempSaleSet.m_publisher = m_strPublisher; m_TempSaleSet.m_bookname = m_strBookName; m_TempSaleSet.m_bookno = m_strBookNo; m_TempSaleSet.m_number = atoi(m_strNumber); m_TempSaleSet.m_discount = atoi(m_strDisCount); m_TempSaleSet.m_sum = atof(m_strFianalPrice); m_TempSaleSet.m_price = atof(m_strPrice); m_TempSaleSet.m_date = atol(time); m_TempSaleSet.Update(); m_TempSaleSet.Close(); m_TempSaleSet.m_pDatabase->Close(); // >f:y(W.URh-N m_TempSaleSet.Open(); m_TempSaleSet.MoveLast(); int pos = m_ListSale.GetItemCount(); CString TempNumber; CString TempPrice; CString TempDiscount; CString TempSum; TempNumber.Format("%d",m_TempSaleSet.m_number); TempPrice.Format("%.2f",m_TempSaleSet.m_price); TempDiscount.Format("%d",m_TempSaleSet.m_discount); TempSum.Format("%.2f",m_TempSaleSet.m_sum); m_ListSale.InsertItem(pos, m_TempSaleSet.m_bookname); m_ListSale.SetItemText(pos,1,TempNumber); m_ListSale.SetItemText(pos,2,TempPrice); m_ListSale.SetItemText(pos,3,TempDiscount); m_ListSale.SetItemText(pos,4,TempSum); m_TempSaleSet.Close(); ResetMembers(); } } catch(CDBException *e){ e->ReportError(); return; } } // ~& void CBookSaleDialog::OnButtonBill() { UpdateData(); if(m_strBookNo != "") OnButtonNext(); float m_Sum = 0; CTempSaleSet m_TempSaleSet; CBookSaleSet m_BookSaleSet; try{ m_TempSaleSet.Open(); m_BookSaleSet.Open(); m_TempSaleSet.MoveFirst(); while(! m_TempSaleSet.IsEOF()){ //{Q;`.U m_Sum = m_Sum + m_TempSaleSet.m_sum; //------------ mRۏ.URh-N------------------- m_BookSaleSet.AddNew(); m_BookSaleSet.m_author = m_TempSaleSet.m_author; m_BookSaleSet.m_bookname = m_TempSaleSet.m_bookname; m_BookSaleSet.m_bookno = m_TempSaleSet.m_bookno; m_BookSaleSet.m_date = m_TempSaleSet.m_date; m_BookSaleSet.m_discount = m_TempSaleSet.m_discount; m_BookSaleSet.m_number = m_TempSaleSet.m_number; m_BookSaleSet.m_price = m_TempSaleSet.m_price; m_BookSaleSet.m_moneysum = m_TempSaleSet.m_sum; m_BookSaleSet.m_publisher = m_TempSaleSet.m_publisher; m_BookSaleSet.Update(); //--------------------------------------------------- m_TempSaleSet.Delete(); m_TempSaleSet.MoveNext(); } m_TempSaleSet.Close(); m_TempSaleSet.m_pDatabase->Close(); m_BookSaleSet.Close(); m_BookSaleSet.m_pDatabase->Close(); } catch(CDBException *e){ e->ReportError(); return; } m_strSaleSum.Format("%.2f",m_Sum); UpdateData(FALSE); } (3) dR0Am zpQ.URh pQd csSS[b0 void CBookSaleDialog::OnButtonCancel() { int i = m_ListSale.GetSelectionMark(); CString BookName = m_ListSale.GetItemText(i, 0); int TempNumber = 0; if(i < 0){ AfxMessageBox(" S Rdv.UU_!"); return ; } // N4Neh-N Rd.UU_ CTempSaleSet m_TempSaleSet; m_TempSaleSet.m_strFilter.Format("bookname = '%s'",BookName); m_TempSaleSet.Open(CRecordset::snapshot, NULL , CRecordset::none); if(!m_TempSaleSet.IsEOF()){ TempNumber = m_TempSaleSet.m_number; m_TempSaleSet.Delete(); } m_TempSaleSet.Close(); m_TempSaleSet.m_pDatabase->Close(); // b` YVfNSHQpeϑ CBookSet m_BookSet; m_BookSet.m_strFilter.Format("bookname = '%s'", BookName); m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(!m_BookSet.IsEOF()){ m_BookSet.Edit(); m_BookSet.m_number = m_BookSet.m_number + TempNumber; m_BookSet.Update(); } m_BookSet.Close(); m_BookSet.m_pDatabase->Close(); ListSale(); } (V)VfNeQ^!jWW 1VfNeQ^!jWW eQVfNSTVfNpeϑ Yt VfNeQ^[݋Fh/TR0 I{_(u7beQVfNvSTpeϑ SN(WdkeQVfN~Oo` FO N/f_v0 \VfNmR0RVfNOo`h-N QfeVfNOo`h 2. VfNeQ^!jWWv[s 9hncVfNeQ^!jWW Ǐ[INCBookInputDialog{|eg[s!jWWv;NSOR0 vsQvU_Ɩ{|CBookSet0 efNU_eQ0 YtǏ z$Re(u7b/f&ThQ萓eQ_kXvVfNOo` 6qT9hnc(u7beQvVfNSgVfNOo`h/f&T g͑ YS /fR(WS gVfNOo`W@x NXRVfNvpeϑ&TRmRevVfNU_(WVfNOo`h-N0 // mRVfN0RVfNOo`^-N void CBookInputDialog::OnButtonSaveAndGoon() { UpdateData(TRUE); CTime t; t = CTime::GetCurrentTime(); CString time = ""; CString year; CString month; CString day; year.Format("%d",t.GetYear()); month.Format("%d",t.GetMonth()); day.Format("%d",t.GetDay()); time = year + "-" + month + "-"+ day; if(m_strBookNo == ""){ MessageBox("eQVfNS"); return ; } if(m_strNumber == ""){ MessageBox("eQVfNpeϑ"); return; } CBookSet m_BookSet; try{ if(m_BookSet.IsOpen()){ m_BookSet.Close(); m_BookSet.m_pDatabase->Close(); } m_BookSet.m_strFilter.Format("bookno = '%s'",m_strBookNo); m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none); // Yg^-NedkfN,RXR if(m_BookSet.IsEOF()){ m_BookSet.AddNew(); m_BookSet.m_bookno = m_strBookNo; m_BookSet.m_number = atoi(m_strNumber); m_BookSet.m_bookname = m_strBookName; m_BookSet.m_bookbn = m_strBookBn; m_BookSet.m_booktypename = m_strBookType; m_BookSet.m_pubname = m_strPublisher; m_BookSet.m_author = m_strAuthor; m_BookSet.m_price = atof(m_strPrice); m_BookSet.m_date = time; } else{ m_BookSet.Edit(); m_BookSet.m_number = m_BookSet.m_number + atoi(m_strNumber); m_BookSet.m_date = time; } m_BookSet.Update(); m_BookSet.Close(); m_BookSet.m_pDatabase->Close(); } catch(CDBException *e){ e->ReportError(); } OnButtonAdd(); } (N)VfNOo`n!jWW VfNOo`!jWW1uVfNvOo`nTVfNv RdR0 VfNOo`n!jWW eQVfNS Yt VfNOo`n[݋Fh/TR0 9hncVfNSd"}[^vVfN v^>f:yvQ]kXOo`0 (u7bO9ebemVfNOo`T0VfNOo`fe0RVfNOo`h-N0 9hnc(u7b b RdgNVfNOo`U_0 QfeVfNOo`penc^0 20VfNOo`n!jWWv[s 9hncVfNOo`n!jWW Ǐ[INCBookInputDialog{|eg[s!jWWv;NSOR0 vsQvU_Ɩ{|CBookSet VfNOo`mRbO9e // VfNvmRbO9e void CBookinfoSetingDialog::OnOK() { UpdateData(); if(m_strBookNo == ""){ MessageBox("VfNS N:Nzz!"); return; } if((m_strBookBn == "") || (m_strBookName =="") || (m_strBookType == "") || (m_strNumber == "") || (m_strPrice == "") || (m_strP  $&.   " 2 : H P ^ f t | ɽ|s|s|s|s|f|f|f|f|f|f|hn CJOJQJaJo(hn CJaJo( hn CJo( hn CJo(hn 5CJ\o( hn o( h)$aJo( hn aJo(hn CJOJQJaJo(hn CJaJo(hn 5CJ\aJo(hn 5CJ\aJ4o(hn 5CJ,\aJ4o(hn 5>*CJ OJQJ\o(h)$5CJ OJQJ\o(% $&0h  , D Z p (WD` (VDWD^` (0WD`0WD``$a$gd)$Lzz{  ( > d :Vv* (WD` ( (VDWD^` (WD`    ( 4 > Z d x 0:L\ltvz(*.@J^hjvz",.2@JLPhn CJOJQJaJo(hn CJaJo(hn CJaJo( hn CJo(hn CJOJQJaJo(P*Lj.Lj "$&(dp (gd)$ ( (WD` (VDWD^`P^hj|NTVptvR $,8:<FtvлЖЖЖЋylhn CJOJQJaJo( hn aJo(hn 5CJ aJ o(hn CJ\aJ o(hn CJOJQJaJo(hn 5CJ\aJo(hn 5CJ \aJo(hn 5CJ,\aJ4o(h)$CJaJo(hn CJaJo(hn CJaJo(hn CJaJo( hn CJo(hn CJOJQJaJo(((*,.02468:<>@BDFHJLNPRTVnpv & Fd\$a$dpvd,8<Fv(62WD`2 & FWD`0WD`0v(6FVXlp ~ ! !~!!""""""# #(#*#2#4#@#B#՞ŅՅՅullllhn CJaJo(hn 5CJOJQJ\aJo(hn CJaJo(hn 5CJ OJQJ\aJo(hn 5CJ \aJo(hn 5\aJo(hn 5CJ\aJo( hn o(hn 5CJOJQJ\aJo(hn CJOJQJaJo(hn CJOJQJaJo(hn 5CJOJQJ\aJo(*FVl, > T p ~ ! !!"""##WDd`ZWD`Z0WD`02WD`2AWDd`A`-WDd`-B#J#L#T#b####### $$$ $$$*$,$4$6$D$F$N$P$^$`$j$l$t$v$$$$$$$$$$%IJ}phn CJOJQJaJo(hn 5CJ\aJo( hn aJo(hn CJaJo("jhn CJUaJmHnHu hn aJo("jhn CJUaJmHnHu hn o(jAF hn UVo(hn jhn U hn CJo(hn CJOJQJaJo(hn CJaJo('#$$ $ $$"$$$,$6$F$P$`$l$v$$$$$$$%%&&0WD`02WD`2-WDd`-$a$WDd`WDd`%%&&&&&)))***,+:+l++++++,,6,f,v,,,,,-,-D-\-d-x---- .<.L.|..../ /1D1P1^1XRRFRR $IfWD`$Ifkd:>$$Iflr< 5 064 la^1`1r1|1111XRRFRR $IfWD`$Ifkd>$$Iflr< 5 064 la1111111XRRFRR $IfWD`$Ifkd?$$Iflr< 5 064 la1111122XRRFRR $IfWD`$IfkdA@$$Iflr< 5 064 la22$2.242@2N2XRRFRR $IfWD`$Ifkd@$$Iflr< 5 064 laN2P2\2b2h2t22XRRFRR $IfWD`$IfkdA$$Iflr< 5 064 la2222222XRRFRR $IfWD`$IfkdHB$$Iflr< 5 064 laZ2222222.3@3b3v3~33b4r44444555556^7v7888.8J88899999::Ǽܕ܉ܕ|phn 5CJ\aJo(hn CJOJQJaJo(hn CJOJQJaJhn 5CJOJQJ\aJo(hn 5CJ\aJo(hn 5CJ aJo(hn OJQJaJo(hn OJQJo(hn 5CJ\aJo(hn CJOJQJaJo(hn CJaJo( hn aJ hn aJo((2222222XRRFRR $IfWD`$IfkdB$$Iflr< 5 064 la222 333,3XRRFRR $IfWD`$IfkdC$$Iflr< 5 064 la,3.3d333333XPPDDDD $IfWDd`WDd`kdOD$$Iflr< 5 064 la33333444LFFFF$IfkdD$$Iflr< 5 064 la $IfWDd`4 404<4J4V4`4XRRRRR$IfkdE$$Iflr< 5 064 la`4b4444445XPNBBBB $IfWDd`WDd`kdVF$$Iflr< 5 064 la55505>5H5V5`5LFFFF$IfkdG$$Iflr< 5 064 la $IfWDd``5b5|55555XRRRRR$IfkdG$$Iflr< 5 064 la5556 606B6P6XPPDDDD $IfWDd`WDd`kd]H$$Iflr< 5 064 laP6^6`6n6x6666LFFFF$Ifkd I$$Iflr< 5 064 la $IfWDd`6666666XRRFRR $IfWD`$IfkdI$$Iflr< 5 064 la6666777XRRRRR$IfkddJ$$Iflr< 5 064 la77,767F7R7\7XRRRRR$IfkdK$$Iflr< 5 064 la\7^7v788.8J8XPNF>80^0ZWD`ZWD`2WD`2kdK$$Iflr< 5 064 laJ8889:::::::::;h;;;;;*<Z<<<WD` ^`v^v & F2^2ZWD`Z2WD`20^00WD`0:::;;Z<<<<==>>>?B?v?x????&@F@H@L@@@@@@@@@@ABB BBBBBBBDDDvEEEE@FǺǺǺǺǺǺǺǺǺǺǺǺǺǺǺǺh$>JCJaJo(hn 5CJOJQJ\aJo(hn CJOJQJaJo(hn 5CJ\aJo(hn OJQJ^JaJo(hn OJQJ^JaJ hn aJo(hn 5CJOJQJ\aJo(hn 5CJ\aJo(hn CJaJo(2<<< =====|>>:?p???&@@@L@@@@@8AAABBWDl`WD`WDX`HWD`HWD`BBFBnBBBBBBBC C C\CCCC.D`DDDD(EFF` & F0WD`02WD`2ZWD`ZWD`@FDFPFTFjFnFtFxFFFFFFF$G&GxGzG~GGH HHHIIlInIxIzIII[J\JKLPLRLLL\N^N`NrNNNOROOO(PdPPPQQS8TTTdUU\W]WWXXXZZg[h[[[[[[ \^\b\hn OJQJ^JaJo(hn OJQJ^JaJ hn aJo(hn CJaJo(hn CJOJQJaJo(OFF"G&GLG~GGGGGHHIrIIIJJJ1J\JJJJJKCKFK[KpK`pKsKKKKKKLNLRLxLLLLL(MM6N^NbNdNrNNNNOROfOlOO`OOOO(PdPxP~PPPPQQ,QhQQQQQR7RMRdRRRRRRRR`R SSLSSSSS8TRTZTTTTUbUdUUUUVMVyVVVW1W]WWW`WWWWXBXzXXXYNYtYYZTZZZZ[?[h[[[[[[[[[[`[[ \X\\\~\\\\:]x]]]]4^6^^^^^R___:`s```aWD``b\\\\\\]<]@]v]x]z]~]]]]]]]2^6^:^@^^^^^^R_X_\___``=`?`v`x`````!a#aYa[aaaaaaaaa#b%b@bBb^b`babbbdbfbbbbbbbbbbb'c(c+c,cQcRcfcgcjchn CJOJQJ^JaJo(hn OJQJ^JaJo(hn OJQJ^JaJSaVaaaa b=b\bbb}bbbbbcc&c*cPcecgc6dddd@ejeeeejcd6deeefhh(k*kFkHkVknkl:lJlvmmmmp2p~pppqrrrrYuZuvv2vbvtvŹuehn 5CJOJQJ\aJo(hn CJOJQJaJo(hn OJQJ^JaJhn OJQJ^JaJo(h$>JCJaJo(hn CJaJo(hn 5CJ\aJo(hn 5CJ\aJo(hn OJQJ^JaJo(hn OJQJ^JaJhn CJOJQJ^JaJo(#hn 5CJOJQJ\^JaJo(&eeef>ffDg~gghh6hhhhhhFiiijjjjj*kDkHk\kZWD`Z\knkkkkkll l:llllvmmmm nn5nInXnhn & F` & F +^`+gdn  & F x^x`0WD`02WD`2hnvnnnnnoo2pHpNp~pppppq4q`qqq(rrrr*stsst8t`8tettttttuuZuvuzuuuuuuuuvv2vbvtvvv0^0 & F0WD`0ZWD`Z`vvvw2wNwjwwwwxZx^x|xxxxxy&VT^ & F`2WD`20^0 & FtvNwjwlwwwwwwwx\x^xxxzV,r |JL|   T!V!X!!!6"h"##4#j#򿳿̤hn CJaJo(hn 5CJ\aJo( hn aJ hn aJo(Uhn OJQJ^JaJhn OJQJ^JaJo(hn CJaJo(h$>JCJOJQJaJo(hn 5CJOJQJ\aJo(hn CJOJQJaJo(4ublisher == "") || (m_strAuthor == "")){ MessageBox("VfN~Oo`-N N gNy:Nzz!"); return; } CBookSet m_BookSet; m_BookSet.m_strFilter.Format("bookno = '%s'",m_strBookNo); m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(m_BookSet.IsEOF()){ m_BookSet.Close(); MessageBox("VfN NX[(W,͑eeQVfNS!"); } else{ m_BookSet.Edit(); m_BookSet.m_number = atoi(m_strNumber); m_BookSet.m_bookname = m_strBookName; m_BookSet.m_bookbn = m_strBookBn; m_BookSet.m_booktypename = m_strBookType; m_BookSet.m_pubname = m_strPublisher; m_BookSet.m_author = m_strAuthor; m_BookSet.m_price = atof(m_strPrice); m_BookSet.Update(); m_BookSet.Close(); m_BookSet.m_pDatabase->Close(); MessageBox("OX[bR!"); } ResetMembers(); } 3 VfNv Rd void CBookinfoSetingDialog::OnButtonDelete() { UpdateData(); if(m_strBookNo == ""){ MessageBox("eQ RdvVfNS"); return; } CBookSet m_BookSet; try{ m_BookSet.m_strFilter.Format("bookno = '%s'",m_strBookNo); m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(m_BookSet.IsEOF()){ m_BookSet.Close(); AfxMessageBox("SvVfN NX[(W,͑eeQS!"); } else{ if(AfxMessageBox("`nx RdVfNT?", MB_OKCANCEL) == IDOK){ m_BookSet.Delete(); m_BookSet.Close(); //-------------S[!!!!!! m_BookSet.m_pDatabase->Close(); MessageBox(" RdbR!"); } } } catch(CDBException *e){ e->ReportError(); return ; } ResetMembers(); } (mQ) ~Tg!jWW ~Tg!jWWcOVfNvgP[!jWWT.UvgP[!jWW0 1QVfNgP[!jWW VfNgP[!jWW R9hnc(u7beQvg⋹e_TgagNeggVfN0 eQg⋹e_TgagN Yt fNg[݋Fh/TR0 9hnc(u7b bvg⋹e_VfNSQVfN{QNxbVfN Ty TgagNNpenc^-Ngpenc0 YgX[(W R\U_>f:y0RRh-N SKN ۏLc:y0 QVfNU_vOo` (2) VfNg!jWWv[s 9hncVfNg!jWW Ǐ[INCBookSearchDialog{|eg[s!jWWvR0 1 vsQvU_Ɩ{|CBookSet. 2 gVfNU_Oo` YtǏ z9hnceQvgagNg SQLS 6qTNVfNOo`h-NS&{TagNvVfNOo` v^\Oo`>f:y0RRh-N0 void CBookSearchDialog::OnOK() { UpdateData(TRUE); CBookSet m_BookSet; char chrTemp = '%'; if(m_strSearchWay == ""){ MessageBox(" bg⋹e_"); return; } if(m_strSearchCondition == ""){ MessageBox("eQgagN"); return; } if(m_strSearchWay == "VfNS") m_BookSet.m_strFilter.Format("bookno like '%c%s%c' order by bookno ASC", chrTemp,m_strSearchCondition,chrTemp); if(m_strSearchWay == "VfN{QNx") m_BookSet.m_strFilter.Format("bookbn like '%c%s%c' order by bookbn ASC", chrTemp,m_strSearchCondition,chrTemp); if(m_strSearchWay == "VfN Ty") m_BookSet.m_strFilter.Format("bookname like '%c%s%c' order by bookname ASC", chrTemp,m_strSearchCondition,chrTemp); m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none); int i=0; CString TempPrice; CString TempNumber; m_ListSearchResult.SetFocus(); m_ListSearchResult.DeleteAllItems(); m_ListSearchResult.SetRedraw(FALSE); UpdateData(TRUE); if(m_BookSet.IsEOF()){ //m_BookSet.Close(); MessageBox("@bg⋄vVfN NX[(W"); m_strSearchCondition = ""; m_strSearchWay = ""; UpdateData(FALSE); } while(! m_BookSet.IsEOF()){ m_ListSearchResult.InsertItem(i,m_BookSet.m_bookno); m_ListSearchResult.SetItemText(i,1,m_BookSet.m_bookname); m_ListSearchResult.SetItemText(i,2,m_BookSet.m_pubname); m_ListSearchResult.SetItemText(i,3,m_BookSet.m_author); TempPrice.Format("%.2f",m_BookSet.m_price); m_ListSearchResult.SetItemText(i,4,TempPrice); TempNumber.Format("%d",m_BookSet.m_number); m_ListSearchResult.SetItemText(i,5,TempNumber); m_BookSet.MoveNext(); i++; } m_BookSet.Close(); m_ListSearchResult.SetRedraw(TRUE); } 2Q.UgP[!jWW (1) .UgP[!jWW R9hnc(u7beQv.UeeggVfN.U`Q0 eQ.Ue Yt 1) 9hnc(u7beQvegt^Qgt^ggbgt^ggge Npenc^-Ngpenc0 2) YgX[(W R\U_>f:y0RRh-N SKN ۏLc:y0 QVfN.UvOo` void CSaleSearchDialog::OnOK(){ UpdateData(TRUE); int i = 0; CBookSaleSet m_BookSaleSet; CString m_strDate; if(m_strYear == ""){ MessageBox("eQt^N"); return; } m_ListSearchResult.SetFocus(); m_ListSearchResult.DeleteAllItems(); m_ListSearchResult.SetRedraw(FALSE); long m_Year = 0; int BookSum = 0; float MoneySum = 0; try{ if(m_BookSaleSet.IsOpen()) m_BookSaleSet.Close(); // ggt^v.Uϑ if(m_strMonth == "" && m_strDay == ""){ m_strDate = m_strYear + "00" + "00"; m_Year = atol(m_strDate); m_BookSaleSet.m_strFilter.Format("date > %ld and date < %ld",m_Year, m_Year + 10000); } // gggv.Uϑ else if(m_strDay == ""){ m_strDate = m_strYear + m_strMonth + "00"; if(m_strMonth == "12") m_Year = atol(m_strYear + "00" + "00") + 10100; else m_Year = atol(m_strDate) + 100; m_BookSaleSet.m_strFilter.Format("date > %ld and date < %ld",atol(m_strDate), m_Year); } else{ m_strDate = m_strYear + m_strMonth + m_strDay; m_BookSaleSet.m_strFilter.Format("date = %ld", atol(m_strDate)); } m_BookSaleSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(m_BookSaleSet.IsEOF()){ m_BookSaleSet.Close(); MessageBox("@bg.U`Q NX[(W"); m_strYear = ""; m_strMonth = ""; m_strDay = ""; m_strMoneySum = ""; m_strBookSum = ""; UpdateData(FALSE); m_ListSearchResult.SetRedraw(TRUE); return; } CString TempNumber; CString TempPrice; CString TempDiscount; while(! m_BookSaleSet.IsEOF()){ m_ListSearchResult.InsertItem(i,m_BookSaleSet.m_bookno); m_ListSearchResult.SetItemText(i,1,m_BookSaleSet.m_bookname); TempNumber.Format("%d",m_BookSaleSet.m_number); m_ListSearchResult.SetItemText(i,2,TempNumber); TempPrice.Format("%.2f",m_BookSaleSet.m_price); m_ListSearchResult.SetItemText(i,3,TempPrice); TempDiscount.Format("%d",m_BookSaleSet.m_discount); m_ListSearchResult.SetItemText(i,4,TempDiscount); m_ListSearchResult.SetItemText(i,5,m_BookSaleSet.m_author); m_ListSearchResult.SetItemText(i,6,m_BookSaleSet.m_publisher); BookSum = BookSum + m_BookSaleSet.m_number; MoneySum = MoneySum + m_BookSaleSet.m_moneysum; m_BookSaleSet.MoveNext(); i++; } m_BookSaleSet.Close(); } catch(CDBException *e){ e->ReportError(); return; } m_strBookSum.Format("%d",BookSum); m_strMoneySum.Format("%.2f",MoneySum); UpdateData(FALSE); m_ListSearchResult.SetRedraw(TRUE); } (N) |~n!jWW (W!jWW-NSb(u7bn VfNR{|nTQHr>yn0 1(u7bnP[!jWW 9hncBlRgT;`SO CgP{t!jWW#[d\ONXTW,gOo`v^z NS[d\ONXTvCgPۏLW,g~b N TCgPvd\ONXT SNO(uv!jWWV NN7h0dk!jWWRSPNwQ g|~{tXTCgPv(u7bO(u0 (u7bn!jWW[s N*N;NRmRe(u7bQO9e(u7bSNQO9e(u7bCgPT Rdc[(u7b0 (1)(u7bn eQ(u7b TQ[xT(u7bCgP Yt (u7bn[݋Fh/TR0 N|~(u7bh-NS(u7bOo` v^QeQ(u7bRh0 9hnc|~{tCQv bۏLv^vYt0 Qfe|~(u7bh wQSOYtǏ z (2)XRe(u7bvYt eQ(u7b TQ(u7b[xTCgP0 9hnc{tXTeQv(u7b T$Re(u7b/f&TX[(W YgX[(W c:y v^Bl͑eeQ Yg(u7b NX[(W 9hnc{tXTeQv(u7b TQ(u7b[xTCgPv{|+R (Wpenc^-N(u7bh-NmRe~U_0 c:ye(u7bXRbR0 (3)O9e(u7b[xTCgPvYt (W (u7bRh -N bv(u7b0 eQev(u7b[xTCgPv{|+R0 nxd\O0 [b[penc^-N|~(u7bhvv^d\O0 (4) Rdc[(u7bvYt (W (u7bRh -N b Rdv(u7b0 Rdd\O0 [b[penc^-N|~(u7bhvv^d\O0 (5)(u7b{t!jWWv[s 9hnc(u7b{t!jWW Ǐ[INCUserSetingDialog{|eg[s(u7bn!jWWvR0vQ;N[sNxY N 1) CUserSetingDialog{|O(uv(u7bhU_Ɩ{|CUserSet. 2) mR(u7bbg(u7bvvsQDe0 Am zhgS_MRvr`:NmRb Yg:NmRr` HQhg(u7b T/f&T]~X[(W 6qTceQev(u7bYg:Nr` fe(u7bOo` f9evsQ~Nvr`0 // XR(u7b void CUserSetingDialog::OnButtonAddUser() { IsNewOrOldUser = NEW; // nzz(u7bDe m_strUserName = ""; m_strUserPwd = ""; m_strUserPwdAgain = ""; m_BIsAdmin = FALSE; //n(u7b TFh:NS(u UpdateData(FALSE); } // mRbO9e(u7bOo` void CUserSetingDialog::OnOK() { UpdateData(); if(m_strUserName == ""){ MessageBox("kXQ(u7b T"); return; } if(m_strUserPwd == ""){ MessageBox("eQ[x"); return; } if(m_strUserPwd != m_strUserPwdAgain){ MessageBox("$N!keQv[x NN ͑eeQ[x!"); return; } CUserSet m_UserSet; try{ if(IsNewOrOldUser == NEW){ m_UserSet.m_strFilter.Format("username = '%s'",m_strUserName); m_UserSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(! m_UserSet.IsEOF()){ m_UserSet.Close(); AfxMessageBox(" T T(u7b]~X[(W"); return; } m_UserSet.AddNew(); m_UserSet.m_username = m_strUserName; m_UserSet.m_userpassword = m_strUserPwd; m_UserSet.m_isAdmin = m_BIsAdmin; if(m_UserSet.CanUpdate()){ m_UserSet.Update(); } if(m_UserSet.IsOpen()) m_UserSet.Close(); m_UserSet.m_pDatabase->Close(); AfxMessageBox("(u7bmRbR!"); ListUserName(); } else if(IsNewOrOldUser == OLD){ CBookShopMISApp *ptheApp = (CBookShopMISApp *)AfxGetApp(); m_UserSet.m_strFilter.Format("username = '%s'", m_strUserName); m_UserSet.Open(CRecordset::snapshot, NULL, CRecordset::none); if(m_UserSet.IsOpen() && !m_UserSet.IsEOF()){ // Yg/fS_MR(u7b RO9eS_MR(u7bOo` if(ptheApp->m_PresentUser.GetPUusername() == m_strUserName) ptheApp->m_PresentUser.SetUserInfo(m_strUserName,m_strUserP wd,m_BIsAdmin); m_UserSet.Edit(); m_UserSet.m_username = m_strUserName; m_UserSet.m_userpassword = m_strUserPwd; m_UserSet.m_isAdmin = m_BIsAdmin; m_UserSet.Update(); m_UserSet.Close(); m_UserSet.m_pDatabase->Close(); AfxMessageBox("O9ebR!"); ListUserName(); } else{ m_UserSet.Close(); AfxMessageBox("勰U_ NX[(W elO9e!"); return; } } } catch(CDBException *e){ e->ReportError(); return; } m_strUserName = ""; m_strUserPwd = ""; m_strUserPwdAgain = ""; m_BIsAdmin = FALSE; UpdateData(FALSE); } 3) Rdc[vd\ONXT0 Am z$Re (u7bRh -NvkNL/f&T b Yg b Rd(u7bS_MR(u7b N Rd0 // Rdc[(u7b void CUserSetingDialog::OnButtonDeleteUser() { UpdateData(TRUE); CUserSet m_UserSet; IsNewOrOldUser = NEW; // $Re/f&Tc[(u7b if(m_strUserName == "") return; CBookShopMISApp *ptheApp = (CBookShopMISApp *)AfxGetApp(); if(m_strUserName == ptheApp->m_PresentUser.GetPUusername()){ AfxMessageBox(" N RdS_MR(u7b"); } else{ try{ if(m_UserSet.IsOpen()) m_UserSet.Close(); m_UserSet.m_strFilter.Format(" username = '%s'", m_strUserName); m_UserSet.Open(CRecordset::snapshot, NULL, CRecordset::none); // XR Rdnx[ (u7b b nx[ KNT e Rd(u7b if(MessageBox("/f&T Rd(u7b?", " Rdnx[", MB_YESNO | MB_ICONQUESTION) == IDYES){ // gbL Rdd\O m_UserSet.Delete(); m_UserSet.Close(); //-------------S[!!!!!! m_UserSet.m_pDatabase->Close(); } } catch(CDBException *e){ e->ReportError(); return ; } ListUserName(); } m_strUserName = ""; m_strUserPwd = ""; m_strUserPwdAgain = ""; m_BIsAdmin =FALSE; UpdateData(FALSE); } QHr>ynTVfN{|WnN(u7bn[sSt{|m_PresentUser.GetPUisAdmin() == FALSE){ AfxMessageBox("`l gO(udkRvCgP"); return; } if(AfxMessageBox("`nxYNpenc^T?", MB_OKCANCEL) == IDCANCEL) return; // S z^_ V:Npenc^T z^(W TNeN9Y-N ُ7h1\SR`v_0Rpenc^_ CString szPath; GetModuleFileName(NULL,szPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH); szPath.ReleaseBuffer (); int nPos; nPos=szPath.ReverseFind ('\\'); szPath=szPath.Left (nPos); CString szFile = szPath + "\\bookshopMIS.mdb"; CString szBakFile = szPath + "\\bookshopMIS.bak"; if(CopyFile(szFile,szBakFile,FALSE)) AfxMessageBox("penc^YNbR!"); else AfxMessageBox("penc^YN1Y%!"); } (2)penc^b` Y penc^b` Y;N/fǏ;NFhg{|CMainFram-N[s܃USpQNNYt eg[sb` YORv0vQ;NNxY N // --------------penc^؏S--------------------------------------------- void CMainFrame::OnDatabasRecover() { // CgP CBookShopMISApp *ptheApp = (CBookShopMISApp *)AfxGetApp(); if(ptheApp->m_PresentUser.GetPUisAdmin() == FALSE){ AfxMessageBox("`l gO(udkRvCgP"); return; } if(AfxMessageBox("؏Spenc^\vSegvpenc^0`nx[؏ST?",MB_OKCANCEL) == IDCANCEL) return; // S z^_ V:Npenc^T z^(W TNeN9Y-N ُ7h1\SR`v_0Rpenc^v_ CString szPath; GetModuleFileName(NULL,szPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH); szPath.ReleaseBuffer (); int nPos; nPos=szPath.ReverseFind ('\\'); szPath=szPath.Left (nPos); CString szFile = szPath + "\\bookshopMIS.mdb"; CString szBakFile = szPath + "\\bookshopMIS.bak"; if(CopyFile(szBakFile, szFile,FALSE)) AfxMessageBox("penc^؏SbR!"); else AfxMessageBox("penc^؏S1Y%!"); } N0~NSOO ǏN*NYgvN_S fN^{t|~W,g_S[k v^[sN\WfN^vW,gR0FO/f1uNew @bN|~؏ gY N=\YNav0We kYl g.^Rech (u7bLub NY‰ QYt NYI{Yeb :\.UhvSbpSvR0ُN g_ۏNek9eU0 S  e .s [1]. Opg <<mNEmQMFC>>{SO-Ne,{NHr[M] VnS NS-Nyb'Yf[QHr>y 2002 [2]. David J.Kruglinski <<Inside Visual C++>>-Ne,{VHr[M] SN nNS'Yf[QHr>y 2002 [3]. Bl/fyb <<Visual C++6.0 penc^_Sb/gN] z[>>[M] SN Nl5uQHr>y 2004 [4]. <<VisualC++wƋ^>>[Z] www.vckbase.com [5]. ĞfI{W <<Visual C++Oo`|~N_S[O>>[M] SN :gh]NQHr>y2005 [6]. Bl/fyb <<Visual FoxPro 6.0 penc^_Sb/gN] z[>>[M] SN Nl5uQHr>y2004 [7]. NgZSiW <<Visual C++6.0 penc^_ScWS>>[M] SN nNS'Yf[QHr>y2004 [8]. zfk sZS >%f=N OE\\OW <<Visual C++6.0 {:gQpe^(u>>[M] SNyf[QHr>y2000 " (W,g!kkN[-N ec[Ye^fSfQ^N[f[uw#v`^ cON^8^ gvvc[a ~Nb_'Yv.^R Ob_0R[('`vcؚ0ُ[NbNTv]\OTf[`N/f]'Yv"[ (Wdka"N_v[0 gTa"pQ]FUf[bvVfN VyrQ0     PAGE  PAGE 25 QHr>yn (u7bn | ~ n (u7b penc^ VfN{|WU_eQ QHr>yOo`U_eQ VfN{|Wn QHr>ypenc^ VfN{|Wpenc^ VfN penc^ .UOo`U_eQ VfNeQ^bVfNOo`n (u7bOo`U_eQ ~Tg VfN.U VfN.Upenc^ VfNOo`U_eQ .Ug VfNg Qg~g Qg~g T,rxRF8|HLj0WD`0^$ P |    X!!!!6"h"r"z""""""###4#ZWD`Z^4#j#~######R$$$$ %0%F%%%%&H&r&&&*WD`*+^+ & F +^`+gdn  & F & F2WD`20WD`0j#l#n#~#####$$P$R$$$$$$F%%%%&&6'h'''(() *B-z-11R2T2V2X2Z2l2233R3T3j3Ļѯuuuhn CJOJQJaJo(hn 5CJOJQJ\aJo(hn 5CJOJQJ\aJo(hn OJQJ^JaJo(hn OJQJ^JaJh$>JCJaJo(hn CJOJQJaJo(hn CJaJo(hn CJaJo(hn 5CJOJQJ\aJo(hn 5CJ\aJo(.&&&6'h'|'''((()) ***z+|+++++&,r,,,-B-z--+^+-- ..N..4//0z008111112T2X2l222223T3j330WD`0ZWD`Z+^+333"4J4v44444J555566N6666R77$8R8`8889P99+^+j3v444455666677V7\777*808T8\8`888888: :::::::::P;V;;;;;;;<<<=>>CCDDDDlEEEEFFFFFFG8H¹hn 5CJ\aJo(hn CJaJo(hn 5CJ \aJo(hn 5CJ \aJo(hn OJQJ^JaJo(hn OJQJ^JaJo(hn OJQJ^JaJD99 :::::L;;;p<t<<<=D=l====>f>|>>>> vVDlWD,^`v .VDWD^`.+^+> ??T??N@@AAARBBBJJJpJJJJJJjKKKxLLLLM&MPMzMMMMN"N$N+^+HWD`H & F 0WD`0 & F $N@NNNNNNOO"OTOOOOO6PJPPPRP|PPPFQQR.RlRRRR+^+RSfSSST&TZTTTU.U6UzUU|VV`WWXXXBYYYZFZZ 0 \VDWD8^0 `\+^+ZZZZ [8[~[[[[[[\\"\L\v\\\\\]r]]]] ^ *VDWDd^*`0WD`0+^+ ^6^d^~^^^<____``H`t``~aaaZbvbbb cTc^cfccccc+^+cdd8d`ddddd,eBeeeeff0ftfffff0^0 & F & F 0^`0gdn  & F 2WD`20WD`0WD`+^+Beeeeee0gJggVhhhiiibjtjjVmmmmmmZnn2o@o"pbpzppqqqnqsss4t@tzt|t~tttttuuuɽɰɰɈhn CJaJo(h)$CJaJo( hn aJo(hn 5CJ \aJo(hn OJQJ^JaJhn OJQJ^JaJo(hn 5CJ\aJo(hn CJaJo(h)$5CJOJQJ\aJo(hn 5CJOJQJ\aJo(hn CJOJQJaJo(2fff gg0gJg^ggVhhhh(iiiiibjvjjj~kk .VDWD^`. VDWD^`^0^0 & F0WD`0kk lBllm mVmmmmmmZnn0o4o@oo"pbpvp|pq VDWDp^` VDWD^`^0WD`0vWD,`v^qqnqq"rVrlrrrFsss4t@tzt~ttuuuuuuu`0WD`0WD`WD` VDWD^`^uuuuuuuuuuuuuu vv$wvwwbxxTyVyXy^y"zHzWD`$a$0WD`0`uuuuuuu v$v(vvvvvvvw$w(w.wNwTwvwzwwwwwwwJ0JmHnHuhn hn 0Jjhn 0JUhh}jhh}Uhn 5CJ\aJo(hn CJaJo(Bzzzzzzzzz{{{{({*{0{8{:{H{J{b{d{r{t{v{{{{{WDd`{{{{{{{{{{{{{{{0182P. A!"n#$%S -Dd a Co0  # Ab6- 2SA_$N-D%n - 2SA_$NPNG  IHDRV sRGB pHYsod,IDATx^=hfQ@ I"[l(16j\(nLXHU NpxcM-TX!Y"pHB d;sg?x9s7ǽ٧O> ̱̑Ql |IH`(pZ6HsH`"l 7Fޖ~JO;WGzd[*Cb5=@mpK/2k5>šnJc&wq`_Uͷx \]+$ qtt7ʅ g fpBqҔ63n*|:_C(*1E/4AVD8!ͼ7V#@Jm׏xplNwXioJ)G.MBd~fAr%9%b*:}HHoܑR /"z _T 0'/+_ll9 tL_'`j5GeHl-|+ |ՃMoŤa6:WQg1Ԋ % R"%E_N_!K"XcCu6]ІT1D5aƪQlX]]5GbC]{>-Ҭ$$\w#J^S;nnb] (O˧̼?e8[|o\!U ?~l/-sf&^|zD.Ig ?yӐCų dD.i%{Vb"CɝH:u$@%;H \'|,L$P2.2;-O@9ٜw"eclU4W7G!{#-t; {#-t; {#-t; {#-t; {#-t; {#-t; {#-t; {#-t; {#-t; {#-t;>tf=Gmll59WWWNyb{pp`MhF,خa`"2}777yUP ޞjS}[uPt>8(a4(8(/Pӆ @ ^xj6~HFWǎCS43P&˜A6 L*SЄZ› 4KQ[P| :==,GP/D(o>_ו]6- C Χ{|_?ʂRfp_0`<<<.ye@qNߑf(vޓ![={W$&[DcsIe9pifI \[$P{t1C[0J1x+MK#.x론:9~(poz1ŔSZH"s&2?Nͯ4f p[=sl4A n^a hA#Hh2&!J32DE٢ơt=nГ'9 8h.(%eAauv9ڲAi5]O;X 4g שFel*mO5A}Lpkՠ5]}p k\T$W <@ba;XWQ/F[7s}fI$.5[CzI@3NTb\m7DM4*`RX397^VTbG:#sp=]@'U߭L&単Ok9i&A_vScϚgA`r6k!2$@k*:yޏ6JSoT;o:*K퍜dg')p}u.LC`r٬UGCT'Z THWa1d  H*$@2 NljV$@Ui H@GD+ P*4L$#@q @(pvC&8ъHB ;! PthE$P! \ƐIt(p:N"Nc$@:8'Z THWa1d#XvLyLf4'@kΌ%H*!@& @sXH|l`%0# yl͛7:?4aw"P}{[8O8*G AÀ󽽽jPsJ:Bg{HP]...56YvM=ZRಈh@- `qdk>|zn=uT2Q\lɓ NpS H,XTY9hssfۃg'ǭ{ދ\}Sqb awَMn*q(+f Ɓp$_ W18==H=}vWbR3 |9uuCh vw].EY(ܹ{":۷k>/J A% XFSDjce,JhFm`|~TѦHKRCL7->'''y啟:XF] h$.A ߊ_f #/v!9@"&Kŷ@f<+CZ!T]&R?'rh m-.[!eQ T91DX]--8cgr\,< \]T4r(SƦ1k*peS[[}=qH4AvCةt,< \',<9B~x鍾dϔvኺ=|p{{]iElROؗghvsp8Y mIJ,8ؗ, $K\I!~vKČpј\R.n\jkcx`$m>DU6)+yf"/{AZ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3Root Entry  F)ꤜData kLWordDocument 2ObjectPool 0ꤜ)ꤜ_1178712238 F0ꤜ0 ꤜOle CompObjMObjInfo  FPBrushPBrushPBrush9q Oh+'0h  $ 0 <HPX`Ole10Native Ole10ItemName1TableX}lSummaryInformation(       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012456789:;<=>?@ABCDEFGHIJKLMNOPQSTUVWfYZ[\]^_`abcdeRghijklmnopqrstuvwxyz{|}BMv6(V@                                                     ̖       ײ                                     㖖                                      ̆                            ײ                                                                                                                                                           ݆fffb!Plof)AЋ7sg52hwr=lwrڅ9vXH :!O>o]R;F^5P(pUu%hBDТmy YSMcss1i:D52ļEGr KӘvAhaCN2=MG$/,&d/Է+$aLoyeN +AIλeӺ>&dhg8+@d )>~XdΌXMޡiB̦qeL.p~8elV40Z\ɕ%T?kRi.h]Đ9ZlKҩWQG;Y | /\Ne5\YK5/$iWfQbĎU[GcAn&]?l}i)$;{>=k&$_d1xA1nfDiw()^ՂFǂ$!`oF3eЩER, 4t{{;fW7K \kt,X~wɎ$cEfo )o0I:&R N٧4[ϙ ~lWQ#475I^'%t,}婑6Ȗ9g Oڝ],U WQ{dԴ}Ӳ6.sӄbnrƭDRz!L'h(Ėj[I*c,x@o /z1i@Q\zFk^Iz dK5==828 \~}Y09@$0cqi$tl? ̘nƝ˦ P~$0cw.FK'&yGm,$>EJ5vMc56zK"l66 W?,pd:-B}駶rNzn]}P7Qg 4$>6ٲ圻 ΐBb<P \Vi-pI~F9`|2 44xh \7R >vv }qgWϒE ,p_kO #V̉V0{o"\ [qҹ#jٟHS*1ֶ]h'<hV2v{}`~&l$ 4.OA=rfߌM̃`ҫ& ;i :ӐtoxfWp gddꜾDc4; r8l*M,2,q-=~(>=N/ XyӬ%]__˞FKK Wf;@8xb[O~H]do<;xʾR̉ԋ76I ~I׎)REiѿq%F'siX.)vJ) ;Ȱiʂ[HPTVp$觞EOGaJh7^{lӢFwNj+w8N{c#O̽{޽D:cT:f?Db+&h5SD"_b/}:4 Cxᰛk[ڋ5ǬA/k[=:.NWY=l鈿Y!MZఫ+tܶE k`Rmؠd.kZw4ffISA( f }9Y+Sd=WǔsμrL-~<\l boq S]lrЙ_6w.hŦ!Ib[z$0ekW?HFZǜXciS69Kߐ,F1`\]#0a@# %S^Tp'Ϝ"ͩ7{hKuzQ]=t] MD]# IH`$@'*/'Fe'thK(SBc!bmXlxuJ.vڕ޳,;OE0%x99 @y(p #"'tC$0J:n>a #[|q:Fg}Y\-2/oԢƉ-lYw·oλHLwZe~U~BӟZ$

mB)(5w^|W#u t9%qvK'qMoL ϳsgCj67D|nN%O!_HLc \ȿAvX ķ0/>= > C>3n;&cIu͟Sh? Gs8o?F4ڙ6S,c 5&aCT金98fpP\ أBP[I 6Qchq.K18@i00{6Hk`)`iP\9kFET$p>Z -.aJ'OȿCQ ( PhF$P \}}ƈI(pJP4#>c$@J8%( GW_1b % H#@1 N f$@gH@IE3 P3FlqPZ"% Ev~)pF6H DH`(pZ6Hd9P7:x|QOIdNR>tftp \rO+ MspewRlɉ?sl38ubeЬݽ= i+[[[Wӟ'zƍPFGG?:~_8oPE71($mllAQ9Uwqqq֭1ln߾}}}m3^xɓ'1Ij!p(09%A}&k3 Hn=c{0!C:8$I^-cNJ0`WB/0l-`S/[wD'񭭭/ B+_|E#m>fp9$ @s-yI6P7#3ee*iI-.KfR&e ny" E5XYY)'|M03Өsq| ÑUrC9{^KC/X\SpOoA,.$e>ǡWWW"LÙ"vx|,%ۋGUloo㤬BYK/v":ʹ|H}/ExJMa2#~A('|^{5Q:3ӎGA8|+w3vzNg}%8PMb!P=lv5^7ްQ/p6Gӌ>~fha< (pcf]B|"cI_k3vߊspYْ MpҶu`SlpEu Ϝ5.Yp&08 K@6iK &$D$r W_Yz_ZH` \ q O?uv޶G,g}Rcpw %Al+1C&#dˎlm"a|s% W60-P5Ss\$;B`/N!u lT AM?>-m-{p5E֏'@NG 88sȪ ʆ8ld_{h N~V4.1ǖS5@9rfI#*MDs&ЦJMbF Z*YX:S8)ppf-(JS fΘvnOX- (p3f $@"DYmOj(W946Y+7fEE \)P psn>6nDOf@ dME7yK$08 Y T(pSg$@  LE7yK$08 Y T(pSg$@  LE7yK$08 Y T(pSg$@G %PDJ:ot+ )p}Ai%p_4tPkuHK%@[jϳ$t^κ{6ו OK7S G0n/dDKdu6͛7?%nht[[[Q gQ4y))?z cAє_L_]]#Z$ceoQ$FٕJ=j&RHHWxlO%VTyS%l{} 藵Qqsn]LH&HIe0;;;@t-?èǿ=_ȹPrMV$lvH"jΫt$8 CڔK K-X$f\;Xsb o&rfG)(N[)ph y&'J0i$k cL!yD"f%d=Ԧ4'mHԗ߳LuN~ T^Gd(Ȗ2uw]zFk%YAYc!x|p_?$Bccd%2z?1eMܹsG0BFNqb{:?A3-!s3)1wO2)|/ tB$Cfj$ʊ6qnUڨYD_du5As։&ȴg4.hC$%;$DbED\lÞ {gFF jqwTP:cŃ[CY MdQ+ \-e|![|#?ƦY;y4Wf'=,>rڤE^ D 84T.E[oݾ}խQWa Ҭ8o4~dpBJ/xVPhF7I1nk ᫞_(ZӟY!8v܄>,vDfR"pW4 ZG"_4&:6o=a/2[/3k U ܡ"I4-Xsp H~"9::6dp抨ؾ0S!'v,L0]*,E~N 6m6A^vKlHmzp~ǴXdjGF:PະeY_|v%?{R0j;Ŗ57A2 6 I%Er t$@I%@+o @@\E ["jTc ໒#XDZמXϥu/%(Ew#Bׅ˒ MWt08 .(p], @(pEw#Bׅ˒ MWt08 .(p], @(pEw#Bׅ˒ MWt08 .(p], @(pEw#BTpXfaIENDB`$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l0655 55T54$$If!vh55 55T5#v#v #v#vT#v:V l40655 55T54f4$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554$$If!vh55555#v#v:V l06554mmmmmmmmmmmmmmmmm8ntnnnoJooooooppp p p ppppppppp+p,p-p.p4p5p:p;pp@pBpDpEpHpLpMpTpUp]p^pepfpmpnpvpwpzp~pppppppppppppppppppppppppp00000000000000000000000000000000000000000000000000 0N@N cke $1$a$$CJKHPJ_HaJmH nHsH tH>@> h 1$d\@&5CJ\aJ$A@$ ؞k=W[SOFi@F nfhELOU\]gorx -IQYahop{   '(.14:ABKNRX_`ejmsz{ %+01Jemu}!(/07<AGLMVZ]chiv{ %GS @AFPUgv-A\^p>_ &GSYc #7ADVXbi0AS_ Li @ !!!1!\!!!!!"C"F"["p"s"""""""""""##"#:#######$$$2$O$Y$\$t$$$$$$$$$%$%'%2%<%Z%n%}%%%%%% &(&<&O&k&l&&&&&&2'L''''''' ( (5(W(X(k((((()G)u)))*(*B*[*******++.+A+s+++ ,A,m,,,,---!-:-N-X-[-]-^-d--------.".=.X.x.y...../$/]///0C0|000&1C1~1111122F2K2f2z2222222 3363i3~33333333'4k444444 5 5 5505l55556&6)6=6^6k6m6w66666666667#7*777777778!818?8_88888889 9!9:9D9G9\9b9|999996:G:`:w::::;G;p;;;;;;;<<X<\<r<<<<<<<<<<==$=(=5=M=i={=======>> >8>S>]>`>>> ?.?8?;?P?????@@%@9@c@@@@A*ASAiA~AAAAAAAABBB/BLBVBYBnBtBBB C CHCLCTCCCCCCDDD"D;DODZD]DnDpDqD|DDDDDDDD E$E/E=EgEzEEEEEEFF6FOFYF\F}FFFFF3G6GVGGGG^H`HHHHHHHHIAITIlIIIIIII J@J|JJJKPK~KKKKKK LLL$L=LELILpLLLLLLLMM4M>MAMaMMMMMMM N#N4NaNNNN OO#OAOqOOOOO8PAPGPRPPPPQQ9QSQqQQQQQQQR R$R:RORgRjRRR SFI$NRZ ^cfkquHzz{{>@BDEGIKLMNOPQRSTUVWXYZ[\]^_`abcdefghjklmnopqrstuvwxz{}~{? p: !(!!8_a@ 9`(  B    B    H  #   B    NB  S DNB   S DNB ! S DNB " S DNB # S DNB $ S DNB ( S DNB ) S D NB * S DHB - C D HB . C DHB / C DHB 1@ C DNB 3 S DB 4   !  Bb 5     Bb 6    Bb 7   B" 8   B" 9    B" :     HB > C DNB ? S DB" @     NB A S D HB B@ C D$HB E C DHB F C DNB G S D&B I  % NB J S D)B" K  # NB L S D*Bb M   Bb N   "  B O  + B P  . NB Q S D3B R  5 NB S S D7HB T C D(HB U C D'HB V@ C D/NB W S D-B X  , NB Y S D2B [  4 NB \ S D6HB ] C DHB ^ C DHB _@ C D1NB ` S D0B S  ?      !#$%&()*+,-.012346789;<=>?ABCDFGHIp8P t5< t/!! t>!t t" ,t(Pt,t t9P t6< t,pt-<!t)Pt# ,t  t.<8!8t:P t*8P8t,t$ 8,8t!8 8t7tMt@Pt3 8 pt1 8!8t^!! t]!t?8$ 8tFX X tEX tA8P8t4$ tN8tKP8DtB X tI$ tG tUX 8X ptT8X 8tJ$ tLPtOtX8 tW 8tP$ 8 tV X t` 8 pt_ 8!8tYtQ$ t[tR$ t\tS$ t ' 'l ',!'' ''''' !#++2KSUop  !#++2 KSUop < *urn:schemas-microsoft-com:office:smarttagschmetcnv>*urn:schemas-microsoft-com:office:smarttags PersonName .20164FFalseHasSpacemNegative NumberType ProductID SourceValueTCSCUnitName^fSfQ                                              3468:<QR #(.39>DKQV\agmstuy &,6<FLThry  '/6>ENepv} 13SUoq}Q W Z b      % * . 2 7 : > ? E [ ` y   & J K W Y \ ^ e g h i p r abfoqxz|:@VX[_i  "AJRpx|'/0;?OPQVWXYZ[\]^_`afghimnopuvx~   !#)*013;<@ACIJPQZ^_aghnovz{}  &',-/45;<EKLNSTZ[gnoqvw}~ ,<HIJOPQRSTUVWXYZ_`abfghimnpz{%&.01389KMNPVW]^eijlqrxy "$)*./49=ILUYdefklmnopqrstuv{|}~ !"&'()-.067;<@EFJKVYZ\abfgiu "HRV]j  ?PRXfjuy,/@FX^hqyz(4ANP\_mn*79=?Bcjl(3ERYZ[a/012@AR_l{  "(*57:<ACFHKOhn ! # ) . = C Q R f n ~ ! !'!(!/!3!A!D!Y!^!k!n!!!!!!!!!!!!!!!!""#","0"A"H"W"]"g"z"""""""""""""###)#8#;#J#M#Q#R#]#a#e#f#p#t#x#y#########$$$$)$4$>$@$K$`$k$v$$$$$$$$$$$$$$% % %%+%1%3%8%A%V%[%b%o%v%~%%%%%%%%%%%%%% &&&#&,&4&m&u&v&&&&&&&&&&&&&&&&&''''/'8'G'O'Y'\'n'q'u'v'''''''''''''''( (("(1(7(L(](j(m((((((((((((( )))!)7):)E)I)_)b)f)g)r)w)))))))))))))))))**** ***>*D*W*]*v***************+ + ++++ +,+0+7+8+?+C+T+W+p+u++++++++ , ,&,>,C,Y,o,,,,,,,- --(-4-?-J-a-c-i--------------- . ..'.9.B.T.].t............. / /)/?/E/[/b/z/~/////////0 0%0)0A0H0^0d0z00000000001 1$1+1?11111111122"2;2T2`2k2v2222223333332373>3?3G3K3a3b3c3j3m3n3x33333333333333 4 444$4(4:4;4O4X4h4p444444444444555$5%5.515M5O5W5a5i5m5{5|555555555556666"6*696>6S6_6g6n6o6p6v666666666666666777!7"7$7)7*7777777777777888"8)82898@8K8N8Z8`8l8o8|88888888888 99#9-9/969H9P9Q9Z9g9w999999999999:::#:3:;:B:C:F:L:[:c:s:z:::::::::::::::; ;;;5;8;E;J;];`;n;s;;;;;;;;;;;;;;;<<&<)<-<.<9<?<O<^<n<t<<<<<<<<<<<<<<<=$=&=(=4=5=L=M=h=i=z={=============== >>>$>/>:>D>F>N>e>p>|>>>>>>>>>>>????)?PWP`PcPlPpPzP~PPPPPPPPPPPPQQ!Q4Q]L]Y][]a]i]u]]]]]]]]]]]]]^^#^1^2^F^N^^^g^w^~^^^^^^^^^^^^^__'_3_@_G_U_]_q_t_____________` ``-`:`<`@`I`U`k`z``````````a aaa/a7aAaLaVadanaoaaaaaaaaaaaaa bb b%b2bEbTbVb]babpbsb|bbbbbbbbbbbbc ccc;cPc]cccqcrccccccccccccdd!d1d9dHd_dadlddddddddddd ee$e,e6e@eJeUeweyeze{eeeeeeeeeeeeeeff%f&f0f1f6f7fAfBfEfFfVfWfffgfofpfyf{ffffffffffg.g7g9g;gJgLgSgWgfgigrgzgggggggggggg!hFhHhOhPhVhYhjhkhhhhhhhhhhhhhhhhhii i iiii4i;i&A&P&T&&&&&&&&'4'7'q'v'''''''(($(2(N(T(o((((b)g)))))))*!*,*?*F*X*x*~*******C+U+u++++++ ,!,E,Z,q,,,,,,,- --"-(-<-=-P-V-d-h---------.!.).:.D.U._.u.~../!/r/}/0(000-1@111111112 22=2C2N2T2h2i2|2222222233?3J3j3m333333 4*4;4l4o4444455=5N5o5|555556#6,6:6U6[6_6h6777777@8L8`8m888888889 9 9<9B9]9a9d9g99999999:I:L:e:t:::;;;;;;)<.<`<o<v<<<<<<<<<<==>>!>$>U>[>a>d>0?6?]?n???????@$@)@6@P@U@8A@AWAfAmA{AAAAAAA BBBBNBTBoBsBBBBBBBCCNCSCCCCCCC#D)D=D>DQDYD^DkD=EfEEEEEF FFFQFWF]F`FFFFFdGuGGHcHpHHHHHHII9IBIMIUIXIrIIIIII J)JDJaJJJJJJK#K@KRKdKKKKKKKKKKLLLLLLLM M6MQPQQQQ RRRlRrRRRRR SSAS^SrSSSSSST-TFTcTTT)U>UDUEUTUfUmUsUUUUUUUUUUVV)VXX&Y*YYYYYZZ%Z0Z5Z8ZhZnZtZwZZZZZZ[![%[([+[R[c[[[[[[[\"\.\=\\\\\\\]#]@]F]i]v]]]]]]]%^2^d^g^^^^^I_V____` `&`I`V`a`f`m`{````````` aaLaWaaaaa"b%b>>?@@@&@AAAAB BoBvBNCCD=DDD=EfEEEL$LNOPP"R&RJURUUUU V2V4VVVXXY&Y"Z%Za`j`abbbcdPdd@eTeee2g3g4g;gghzj{j|jjl,mpp p p p p pppppp-p.p3p5p9p# 27} _w,hl |v`!LM4#ZM?'a-4D_'h1 N 4\P74pɌ\`a~<ĺ2Vp E`# w$Lr?'a-7} %|z        v                RX`z      zZ4        ܄        ]        7J        ت)        ‚         3Z        ]m        1e        :        b?        !        >        )$$>J4zh}vn PX`howx!$+23<ADKRSZ_bipqv{~ '-06=>ELOU\]gorx IQYahop{   '(.14:ABKNRX_`ejmsz{ %+01emu}!(/07<AGLMVZ]chiv{m'ncnnno:oop@EEEE`EEEE0 !"#$%'(*+^-^.^/245789:<>p.>H@LNP@T@X@\^@dhj@pr@vUnknownGz Times New Roman5Symbol3& z Arial;[SOSimSun 1hc($f P_9P_9!-!),.:;?]}    & 6"0000 0 0 00000 =@\]^([{  0 0 00000;[dooH2QXR?2exsxwamjlpP              FMicrosoft Office Word ĵ MSWordDocWord.Document.89q