已閱讀5頁,還剩80頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
天津理工大學(xué)聾人工學(xué)院C語言課程設(shè)計專業(yè)網(wǎng)絡(luò)工程年級2015級一班姓名胡志沖學(xué)號成績完成日期20161220目錄第一章簡介111設(shè)計題目112指導(dǎo)教師1第二章圖書管理系統(tǒng)設(shè)計意義221設(shè)計內(nèi)容概述222需求分析223設(shè)計意義2第三章總體設(shè)計331系統(tǒng)運(yùn)行環(huán)境332系統(tǒng)結(jié)構(gòu)圖333系統(tǒng)各模塊的功能434對象數(shù)據(jù)結(jié)構(gòu)7第四章詳細(xì)設(shè)計841程序源代碼8411登陸模塊8412注冊模塊11413主菜單模塊13414編輯模塊17415查詢模塊27416瀏覽模塊34417設(shè)置模塊39418組合框模塊41419圖書信息模塊434110資源文件4542系統(tǒng)測試55421登陸對話框55422編輯對話框58423瀏覽對話框62424查詢對話框66425設(shè)置對話框71426退出73427測試結(jié)束運(yùn)行7343問題分析73第五章結(jié)論80參考文獻(xiàn)81第一章簡介11設(shè)計題目圖書管理系統(tǒng)12指導(dǎo)教師第二章圖書管理系統(tǒng)設(shè)計意義21設(shè)計內(nèi)容概述本課程設(shè)計圖書管理系統(tǒng),必修要滿足使用方便、操作靈活和數(shù)據(jù)安全等設(shè)計需求。本系統(tǒng)在設(shè)計時應(yīng)滿足以下幾個目標(biāo)1采用人機(jī)對話的操作方式,界面設(shè)計美觀友好,操作靈活、方便、快捷、準(zhǔn)確數(shù)據(jù)保存安全可靠。2實(shí)現(xiàn)對圖書信息的管理功能。3系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。22需求分析信息技術(shù)的飛速發(fā)展給圖書企業(yè)的管理帶來了全新的變革采用圖書管理系統(tǒng)對圖書企業(yè)的經(jīng)營運(yùn)作進(jìn)行全程管理不僅可以使企業(yè)擺脫以往人工管理產(chǎn)生的一系列問題,而且可以提高管理效率、降低管理成本、增加經(jīng)濟(jì)效益。通過管理系統(tǒng)對圖書企業(yè)的發(fā)展進(jìn)行規(guī)劃,可以收集大量關(guān)鍵可靠的數(shù)據(jù)。企業(yè)決策層分析這些數(shù)據(jù),做出合理決策,及時調(diào)整,使之能夠更好地遵循市場的銷售規(guī)律,適應(yīng)市場的變化,從而讓企業(yè)能夠在激烈的行業(yè)競爭中占據(jù)一席之地。23設(shè)計意義1有助于加深我們對C程序設(shè)計這門課程的理解,我們在課堂上學(xué)的都是基礎(chǔ)理論知識,對于如何用程序語言來描述所學(xué)知識還是有一定難度。通過課程設(shè)計,我們可以真正理解其內(nèi)涵。2有利于我們邏輯思維的鍛煉,程序設(shè)計能直接有效地訓(xùn)練學(xué)生的創(chuàng)新思維、培養(yǎng)分析問題、解決問題能力。即使是一個簡單的程序,依然需要學(xué)生有條不理的構(gòu)思。3有利于培養(yǎng)嚴(yán)謹(jǐn)認(rèn)真的學(xué)習(xí)態(tài)度,在程序設(shè)計過程里,當(dāng)我們輸入程序代碼的時候,如果不夠認(rèn)真或細(xì)心,那么可能就導(dǎo)致語法錯誤,從而無法得出運(yùn)行結(jié)果。那么,這個我們反復(fù)調(diào)試,反復(fù)修改的過程,其實(shí)也是對我們認(rèn)真嚴(yán)謹(jǐn)治學(xué)的一個鍛煉。第三章總體設(shè)計31系統(tǒng)運(yùn)行環(huán)境1硬件環(huán)境PC機(jī)2軟件環(huán)境操作系統(tǒng)WINDOWS10開發(fā)工具VISUALSTUDIO201032系統(tǒng)結(jié)構(gòu)圖圖書管理系統(tǒng)結(jié)構(gòu)圖如圖31所以。該系統(tǒng)包括添加、修改、刪除、查詢、瀏覽等。圖31系統(tǒng)的功能模塊圖33系統(tǒng)各模塊的功能表32主要類介紹類名派生自說明CTIANJINAPPCWINAPP為初始化應(yīng)用程序WINDOW應(yīng)用程序基類的派生類LOGINCDIALOG用戶登錄對話框REGISTERCDIALOG注冊對話框CTIANJINDLGCDIALOG主程序界面對話框STACSTATIC由于直接用CSTATIC創(chuàng)建的靜態(tài)文本控件的樣式是默認(rèn),但不是理想的效果,故再次繼承CSTATIC,可以重新改變樣式。BUTTONCBUTTON由于直接用CBUTTON創(chuàng)建的按鈕控件的樣式是默認(rèn),但不是理想的效果,故再次繼承CBUTTON,可以重新改變樣式。EXPLORECDIALOG瀏覽對話框COMBOXCCOMBOBOX由于直接用CCOMBOBOX創(chuàng)建的組合框控件的樣式是默認(rèn),但不是理想的效果,故再次繼承CCOMBOBOX,可以重新改變樣式。ENTERINGCDIALOG編輯對話框EDITPRICECEDIT由于直接用CEDIT創(chuàng)建的編輯框的功能還不夠,所以再次繼承CEDIT,可以多加功能限制輸入字符QUERYCDIALOG查詢對話框SETTINGCDIALOG設(shè)置對話框ABOUTCDIALOG關(guān)于對話框表33主要函數(shù)介紹源文件函數(shù)名稱功能描述EXPLORECPPONINITDIALOGOPENFILEONCLICKEDBUTTON1ONCLICKEDBUTTON2EXCHANGEBOOK對對話框進(jìn)行初始化處理打開文件函數(shù)響應(yīng)“升序”按鈕實(shí)現(xiàn)排序該圖書信息響應(yīng)“升序”按鈕實(shí)現(xiàn)排序該圖書信息交換各對象的數(shù)據(jù)表34主要函數(shù)介紹源文件函數(shù)名稱功能描述CTIANJINDLGCPPONINITDIALOGONPAINTONQUERYDRAGICONONTIMERUPDATEFILEONEXITONENTERONABOUTONQUERYONSETTINGONEXPLORE對對話框進(jìn)行初始化處理對對話框繪制部分應(yīng)用窗口系統(tǒng)獲取鼠標(biāo)圖標(biāo)用于實(shí)現(xiàn)定時控制功能用于實(shí)現(xiàn)更新文件來計算收了幾本書響應(yīng)“退出”按鈕實(shí)現(xiàn)退出本程序響應(yīng)“編輯”按鈕實(shí)現(xiàn)啟動編輯對話框響應(yīng)“關(guān)于”按鈕實(shí)現(xiàn)啟動關(guān)于對話框響應(yīng)“查詢”按鈕實(shí)現(xiàn)啟動查詢對話框響應(yīng)“設(shè)置”按鈕實(shí)現(xiàn)啟動設(shè)置對話框響應(yīng)“瀏覽”按鈕實(shí)現(xiàn)啟動瀏覽對話框表35主要函數(shù)介紹源文件函數(shù)名稱功能描述ENTERINGCPPONINITDIALOGONCTLCOLORONBNCLICKEDOKCHECKINPUTONCLOSEONLVNITEMCHANGEDLIST1ONBNCLICKEDOK2ONBNCLICKEDOK3ONLVNCOLUMNCLICKLIST1ONNMCLICKLIST1ONBNCLICKEDBUTTON1對對話框進(jìn)行初始化處理控件窗口函數(shù)用于畫出控件菜單處理添加記錄信息檢查輸入的內(nèi)容是否為空輸入記錄信息關(guān)閉該對話框某個項(xiàng)已經(jīng)發(fā)生變化響應(yīng)“刪除”按鈕實(shí)現(xiàn)刪除該圖書信息響應(yīng)“修改”按鈕實(shí)現(xiàn)修改該圖書信息單擊列,用于勾選全部當(dāng)鼠標(biāo)單擊列表視圖控件時產(chǎn)生響應(yīng)“清空”按鈕實(shí)現(xiàn)修改該圖書信息表36主要函數(shù)介紹源文件函數(shù)名稱功能描述QUERYCPPONINITDIALOGONBNCLICKEDRADIO1ONBNCLICKEDRADIO2ONBNCLICKEDRADIO3ONBNCLICKEDRADIO4ONBNCLICKEDRADIO5ONBNCLICKEDBUTTON1QUERYNUMQUERYNAMEQUERYAUTHORQUERYPRESSQUERYANYOPENFILETIPINSERTONBNCLICKEDBUTTON2對對話框進(jìn)行初始化處理響應(yīng)“書號”按鈕實(shí)現(xiàn)選擇該方式查詢響應(yīng)“書名”按鈕實(shí)現(xiàn)選擇該方式查詢響應(yīng)“作者”按鈕實(shí)現(xiàn)選擇該方式查詢響應(yīng)“出版社”按鈕實(shí)現(xiàn)選擇該方式查詢響應(yīng)“任何內(nèi)容”按鈕實(shí)現(xiàn)選擇該方式查詢關(guān)閉該對話框查詢書號函數(shù)查詢書名函數(shù)查詢作者函數(shù)查詢出版社函數(shù)查詢?nèi)魏魏瘮?shù)打開文件提示用于告訴用戶找到了多少本將已找到的幾本書插入在顯示上響應(yīng)“查詢”按鈕實(shí)現(xiàn)根據(jù)該方式查詢34對象數(shù)據(jù)結(jié)構(gòu)每個對象記錄著每本書的信息,為了保護(hù)數(shù)據(jù)安全,故把其的這些成員變量聲明為PRIVATE,就是說在類外的話,不能直接調(diào)用對象的成員變量名來賦值或者獲取其值,這就達(dá)到了保護(hù)數(shù)據(jù),但是在某個時候遇到數(shù)據(jù)不對可能需要修改,這時就要加成員函數(shù)來修改或者獲取,而且把成員函數(shù)聲明為PUBLIC,由于在類外需要正常調(diào)用,故聲明為公開。其表如下。表37主要變量介紹變量名類型功能描述NAMENUMAUTHORPRESSTIMEPRICECHARCHARCHARCHARCHARDOUBLE書名書號作者出版社時間價格表38主要函數(shù)介紹源文件函數(shù)名稱功能描述BOOKCPPSETNAMESETNUMSETAUTHORSETPRESSSETTIMESETPRICEGETNAMEGETNUMGETAUTHORGETPRESSGETTIMEGETPRICE設(shè)置當(dāng)前對象的成員變量NAME的值設(shè)置當(dāng)前對象的成員變量NUM的值設(shè)置當(dāng)前對象的成員變量AUTHOR的值設(shè)置當(dāng)前對象的成員變量PRESS的值設(shè)置當(dāng)前對象的成員變量TIME的值設(shè)置當(dāng)前對象的成員變量PRICE的值獲取當(dāng)前對象的成員變量NAME的值獲取當(dāng)前對象的成員變量NUM的值獲取當(dāng)前對象的成員變量AUTHOR的值獲取當(dāng)前對象的成員變量PRESS的值獲取當(dāng)前對象的成員變量TIME的值獲取當(dāng)前對象的成員變量PRICE的值第四章詳細(xì)設(shè)計41程序源代碼411登陸模塊LOGINHPRAGMAONCEINCLUDE“TIANJINDLGH“INCLUDE“AFXWINH“/LOGIN對話框CLASSLOGINPUBLICCDIALOGDECLARE_DYNAMICLOGININTAPUBLICLOGINCWNDPPARENTNULL/標(biāo)準(zhǔn)構(gòu)造函數(shù)VIRTUALLOGIN/對話框數(shù)據(jù)ENUMIDDIDD_LOGINPROTECTEDVIRTUALVOIDDODATAEXCHANGECDATAEXCHANGEPDXCTIANJINDLGDLGDECLARE_MESSAGE_MAPPUBLICVIRTUALBOOLONINITDIALOGAFX_MSGVOIDONCLOSECSTRINGUSERCSTRINGPASSWORDAFX_MSGVOIDONBNCLICKEDOKCBUTTONREGISAFX_MSGVOIDONBNCLICKEDBUTTON1LOGINCPPINCLUDE“STDAFXH“INCLUDE“TIANJINH“INCLUDE“LOGINH“INCLUDE“AFXDIALOGEXH“INCLUDE“REGISTERH“IMPLEMENT_DYNAMICLOGIN,CDIALOGLOGINLOGINCWNDPPARENT/NULL/CDIALOGLOGINIDD,PPARENT,USER_T“,PASSWORD_T“LOGINLOGINVOIDLOGINDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDXDDX_TEXTPDX,IDC_EDIT3,USERDDX_TEXTPDX,IDC_EDIT4,PASSWORDDDX_CONTROLPDX,IDC_BUTTON1,REGISBEGIN_MESSAGE_MAPLOGIN,CDIALOGON_WM_CLOSEON_BN_CLICKEDIDOK,A0/初始化A的值為0用于判斷該值是否退出本程序當(dāng)輸入密碼錯誤,就使該A的值增加1CRECTR/矩形的類,數(shù)據(jù)成員是矩形左上角的X的坐標(biāo),矩形左上角Y的坐標(biāo),矩形右下角X的坐標(biāo),矩形右下角Y的坐標(biāo)CSTRINGUSERTHISGETCLIENTRECT/是獲得窗口的當(dāng)前的客戶區(qū),把各坐標(biāo)值保存在R對象。THISMOVEWINDOW600,300,RRIGHT,RBOTTOM/根據(jù)上面獲得窗口的大小,來調(diào)整并且移動。GETPRIVATEPROFILESTRING“LOGIN“,“USER“,“NULL“,USERGETBUFFER20,20,“/SETTINGINI“/從SETTINGINI配置文件中的LOGIN節(jié)名中獲取該USER鍵名的值并保存在USER的值,如果找不到該鍵名,則保存第三個參/數(shù)的值即默認(rèn)的值表示未注冊的賬號,反之找到了該值,表示已經(jīng)注冊了IFUSER“NULL“/用于判斷上面獲得的值是否已經(jīng)注冊過如注冊過,則執(zhí)行IF()后邊的語句REGISENABLEWINDOW0/在該函數(shù)的參數(shù)賦值為0表示禁止指定的控件接受鼠標(biāo)和鍵盤的輸入由于該已經(jīng)注冊過的。REGISSETWINDOWTEXTA“已注冊“/指定該控件的內(nèi)容設(shè)為”已注冊“用于提示RETURNTRUEVOIDLOGINONCLOSECDIALOGONCLOSEVOIDLOGINONBNCLICKEDOKTHISUPDATEDATA1/將各控件中的數(shù)據(jù)保存到相應(yīng)的變量分別為”USER“”PASSWORD“IFUSERISEMPTY/定義兩個字符串類變量用于從配置文件的注冊過的用戶及密碼的值保存在該變量的GETPRIVATEPROFILESTRING“LOGIN“,“USER“,“NULL“,USER1GETBUFFER20,20,“/SETTINGINI“/從本身程序的當(dāng)前的SETTINGINI配置/文件中的LOGIN節(jié)名中獲取該USER鍵名的值并保存在USER1的值,如果找不到該鍵名,則保存默認(rèn)值為”NULL“GETPRIVATEPROFILESTRING“LOGIN“,“PASSWORD“,“NULL“,PASSWORD1GETBUFFER20,20,“/SETTINGINI“/如同上面的方法IFUSERUSER1/把該對話框的顯示方式為隱藏DLGDOMODAL/啟動主窗口的對話框CDIALOGONOKELSEA/密碼錯誤次數(shù)IFA3/如超過3次的錯誤密碼就執(zhí)行IF()后邊的語句CDIALOGONCANCELRETURN/調(diào)用關(guān)閉該對話框的函數(shù)CSTRINGDDFORMAT“用戶名或者密碼錯誤D次超過三次錯誤即將自動退出“,AMESSAGEBOXD,“登陸提示“,MB_OK|MB_ICONWARNING/用于提示密碼錯誤以避免令人覺得這程序有問題ELSEMESSAGEBOX“用戶名或者密碼的字符串為空“,“登陸提示“,MB_OK|MB_ICONWARNING/當(dāng)該值為空,則執(zhí)行該語句用于提示。VOIDLOGINONBNCLICKEDBUTTON1REGISTERDIALOG/定義注冊對話框的對象變量DIALOGDOMODAL/啟動注冊對話框412注冊模塊REGISTERHPRAGMAONCEINCLUDE“AFXWINH“/REGISTER對話框CLASSREGISTERPUBLICCDIALOGDECLARE_DYNAMICREGISTERPUBLICREGISTERCWNDPPARENTNULL/標(biāo)準(zhǔn)構(gòu)造函數(shù)VIRTUALREGISTER/對話框數(shù)據(jù)ENUMIDDIDD_REGISTERPROTECTEDVIRTUALVOIDDODATAEXCHANGECDATAEXCHANGEPDX/DDX/DDV支持DECLARE_MESSAGE_MAPPUBLICAFX_MSGVOIDONBNCLICKEDOKCSTRINGUSERCSTRINGPASSWORDCSTRINGPASSWORD1REGISTERCPPINCLUDE“STDAFXH“INCLUDE“TIANJINH“INCLUDE“REGISTERH“INCLUDE“AFXDIALOGEXH“/REGISTER對話框IMPLEMENT_DYNAMICREGISTER,CDIALOGREGISTERREGISTERCWNDPPARENT/NULL/CDIALOGREGISTERIDD,PPARENT,USER_T“,PASSWORD_T“,PASSWORD1_T“REGISTERREGISTERVOIDREGISTERDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDXDDX_TEXTPDX,IDC_EDIT1,USERDDX_TEXTPDX,IDC_EDIT6,PASSWORDDDX_TEXTPDX,IDC_EDIT3,PASSWORD1BEGIN_MESSAGE_MAPREGISTER,CDIALOGON_BN_CLICKEDIDOK,/默認(rèn)值是TRUE,即從控件傳給變量IFUSERISEMPTY/向該SETTINGINI配置文件中的LOGIN節(jié)名中設(shè)置該USER鍵名的值為USER的值WRITEPRIVATEPROFILESTRING“LOGIN“,“PASSWORD“,PASSWORD,“/SETTINGINI“HWNDBUTTON/定義窗口句柄THISGETPARENTGETDLGITEMIDC_BUTTON1,/獲取當(dāng)前窗口的父窗口句柄(登陸對話框),然后通過父窗口句柄獲取指定參數(shù)ID為IDC_BUTTON1的子元素的句柄并綁定BUTTON窗口句柄SETWINDOWTEXTABUTTON,“已注冊“/改變指定BUTTON窗口句柄的文本內(nèi)容為“已注冊“。ENABLEWINDOWBUTTON,0/第二個參數(shù)的值為0表示禁止指定的控件接受鼠標(biāo)和鍵盤的輸入MESSAGEBOX“已經(jīng)成功注冊該賬號“USER“,“注冊提示“,MB_OK|MB_ICONASTERISK/注冊成功輸出提示CDIALOGONCANCELELSEMESSAGEBOX“新密碼與第二次新密碼不一致請注意輸入正確“,“密碼提示“,MB_OK|MB_ICONEXCLAMATIONELSEMESSAGEBOX“用戶名或者密碼的字符串為空“,“注冊提示“,MB_OK|MB_ICONWARNING413主菜單模塊TIANJINDLGHPRAGMAONCEINCLUDE“BUTTONH“INCLUDE“STAH“INCLUDE“ENTERINGH“INCLUDE“QUERYH“INCLUDE“SETTINGH“INCLUDE“EXPLOREH“/CTIANJINDLG對話框CLASSCTIANJINDLGPUBLICCDIALOGEX/構(gòu)造PUBLICCTIANJINDLGCWNDPPARENTNULL/標(biāo)準(zhǔn)構(gòu)造函數(shù)/對話框數(shù)據(jù)ENUMIDDIDD_TIANJIN_DIALOGPROTECTEDVIRTUALVOIDDODATAEXCHANGECDATAEXCHANGEPDX/實(shí)現(xiàn)PROTECTEDHICONM_HICONCTOOLBARTOOLBARCSTATUSBARSTATUSBARCIMAGELISTTOOLIMAGCIMAGELISTTOOLHOTIMAGBUTTONBUT2INTAINTBVIRTUALBOOLONINITDIALOGAFX_MSGVOIDONPAINTAFX_MSGHCURSORONQUERYDRAGICONDECLARE_MESSAGE_MAPPUBLICAFX_MSGVOIDONTIMERUINT_PTRNIDEVENTBUTTONBUT1VOIDUPDATEFILESTASTAT,STAT1AFX_MSGVOIDONEXITAFX_MSGVOIDONENTERAFX_MSGVOIDONABOUTPROTECTEDPUBLICAFX_MSGVOIDONQUERYAFX_MSGVOIDONSETTINGAFX_MSGVOIDONEXPLORETIANJINDLGCPPINCLUDE“STDAFXH“INCLUDE“TIANJINH“INCLUDE“TIANJINDLGH“INCLUDE“AFXDIALOGEXH“INCLUDE“ABOUTH“IFDEF_DEBUGDEFINENEWDEBUG_NEWENDIFCTIANJINDLGCTIANJINDLGCWNDPPARENT/NULL/CDIALOGEXCTIANJINDLGIDD,PPARENTM_HICONAFXGETAPPLOADICONIDR_MAINFRAMEVOIDCTIANJINDLGDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGEXDODATAEXCHANGEPDXDDX_CONTROLPDX,IDOK,BUT1DDX_CONTROLPDX,TIC,STATBEGIN_MESSAGE_MAPCTIANJINDLG,CDIALOGEXON_WM_PAINTON_WM_QUERYDRAGICONON_WM_TIMERON_COMMAND1006,CBITMAPBIT7BIT0LOADBITMAPAIDB_BITMAP1BIT1LOADBITMAPAIDB_BITMAP2BIT2LOADBITMAPAIDB_BITMAP3BIT3LOADBITMAPAIDB_BITMAP4BIT4LOADBITMAPAIDB_BITMAP5BIT5LOADBITMAPAIDB_BITMAP6BIT6LOADBITMAPAIDB_BITMAP8TOOLIMAGCREATE70,50,ILC_COLOR|ILC_MASK,0,0FORINTI0IREPOSITIONBARSAFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0RETURNTRUE/除非將焦點(diǎn)設(shè)置到控件,否則返回TRUEVOIDCTIANJINDLGONPAINTIFISICONICELSECRECTDIALOGRECTTHISGETCLIENTRECTDIALOGRECTCDCPICCBITMAPPIC1BITMAPINFOPIC1LOADBITMAPAIDB_BITMAP7PIC1GETBITMAPCPAINTDCDCTHISPICCREATECOMPATIBLEDCPICSELECTOBJECTDCSTRETCHBLT0,0,DIALOGRECTRIGHT,DIALOGRECTBOTTOM,CDIALOGEXONPAINTHCURSORCTIANJINDLGONQUERYDRAGICONRETURNSTATIC_CASTM_HICONVOIDCTIANJINDLGONTIMERUINT_PTRNIDEVENTCRECTDIALOGRECTTHISGETCLIENTRECTDIALOGRECTSTATUSBARSETPANETEXT2,CTIMEGETCURRENTTIMEFORMAT“YMDHMS“STATMOVEWINDOWA,DIALOGRECTBOTTOM402,260,50IFADIALOGRECTRIGHT270B1ELSEIFAGETCLIENTRECTPWNDGETWINDOWRECTPDCSETTEXTCOLORRGB160,32,240IFCTLCOLOR_EDITCTLCOLOR_EDITPWNDGETWINDOWRECTRETURNHBRVOIDENTERINGONBNCLICKEDOK/添加記錄信息IFCHECK/判斷該值是否繼續(xù)輸入還是不輸入FORINTI0I0/達(dá)到符合字符輸入及已選該圖書信息的條件就執(zhí)行添加記錄,第一個參數(shù)是在該列表框的未尾的位置,第二個參數(shù)1表示添加記錄行為非1表示修改記錄行為ELSEMESSAGEBOX“該未選項(xiàng)目,無法修改“,“提示“/彈出消息框用于提示BOOLENTERINGCHECKTHISINVALIDATE/進(jìn)行更新顯示的函數(shù)THISUPDATEWINDOW/使窗口立即重繪THISUPDATEDATA/默認(rèn)值是TRUE,即從控件傳給變量CCLIENTDCDCTHIS/關(guān)聯(lián)本窗口(THIS),在目標(biāo)窗口的任何一部分進(jìn)行繪圖,包含邊界與標(biāo)題DCSETBKMODETRANSPARENT/設(shè)置文字背景為透明(TRANSPARENT)DCSETTEXTCOLORRGB255,0,0/設(shè)置文字顏色為紅色RGB255,0,0INTN0/用于判斷符合的次數(shù)如輸入文字都不為空,即符合這條件就是N5IFBOOKNAMEISEMPTY/判斷該字符是否為空如為空,則執(zhí)行IF()后邊的的語句DCTEXTOUTA820,65,“該字符為空“/向關(guān)聯(lián)的窗口設(shè)備上下文輸出文字用于提示ELSEN/不為空的話,就使N的值增加1IFBOOKNUMISEMPTYDCTEXTOUTA820,113,“該字符為空“ELSENIFAUTHORISEMPTYDCTEXTOUTA820,155,“該字符為空“ELSENIFPRESSISEMPTYDCTEXTOUTA820,200,“該字符為空“ELSENIFPRICE1ISEMPTYDCTEXTOUTA820,235,“該字符為空“ELSENIF0YEARGETCURSEL|0MOGETCURSEL|0DAYGETCURSEL/判斷該是否選項(xiàng)DCTEXTOUTA875,287,“該未選“ELSEIFNUPDATEDATA0/由于默認(rèn)值是TRUE,即從控件傳給變量,需要改為FALSE,表示從變量傳給控件。VOIDENTERINGONCLOSECFILEFILE“DATATXT“,CFILEMODEWRITE|CFILEMODECREATE/第一個參數(shù)“DATATXT“表示指定該文件名,第二個參數(shù)的值表示以寫入模式CHARTEXTNEWCHAR20/開辟20個類型CHARFORINTI0IPNMHDRINTSELECTCOUNT0/選項(xiàng)次數(shù)FORINTI0I0I/根據(jù)列表框的多少行相應(yīng)循環(huán)多少次直到0為止IFLISTCTRLGETCHECKI/根據(jù)第幾行(I)的勾選狀態(tài)判斷是否已經(jīng)勾選如未勾選,GETCHECKD的返回值為0,已勾選的返回值為非0LISTCTRLDELETEITEMI/刪除第幾行(I)SELECTCOUNT/增加次數(shù)即共已刪除了多少項(xiàng)IFSELECTCOUNT/判斷該值是否等于0,如等于0表示未選項(xiàng)則執(zhí)行IF后邊的語句MESSAGEBOX“該未選項(xiàng),無法刪除“,“提示“/彈出消息框用于提示ELSELISTCTRLSETCHECKI1,0CSTRINGTIPSTIPSFORMAT“已經(jīng)成功刪除D條的信息“,SELECTCOUNTMESSAGEBOXTIPS,“提示“/彈出消息框用于提示VOIDENTERINGONLVNCOLUMNCLICKLIST1NMHDRPNMHDR,LRESULTPRESULTLPNMLISTVIEWPNMLVREINTERPRET_CASTPNMHDRIFPNMLVISUBITEM/該值是否列表框控件的第0列IFDELETES/判斷是否取消勾選還是勾選FORINTI0IPNMHDRINDEXPNMITEMACTIVATEIITEM/獲取列表框控件的第幾行IFINDEXUPDATEDATAFALSE/由于默認(rèn)值是TRUE,即從控件傳給變量,需要改為FALSE,表示從變量傳給控件。CCLIENTDCDCTHIS/關(guān)聯(lián)本窗口(THIS),在目標(biāo)窗口的任何一部分進(jìn)行繪圖,包含邊界與標(biāo)題DCSELECTSTOCKOBJECTLTGRAY_BRUSH/把亮灰色畫刷選入設(shè)備環(huán)境DCRECTANGLE0,30,28,387/繪制一個矩形DCSETBKMODETRANSPARENT/設(shè)置文字背景為透明DCTEXTOUTA0,56INDEX21,“,4/輸出指向當(dāng)前的圖書信息,用于提示以便確定你要修改哪個圖書信息PRESULT0VOIDENTERINGONBNCLICKEDBUTTON1BOOKNUM“/清空該編輯框控件綁定的變量的值BOOKNAME“AUTHOR“PRESS“PRICE1“THISUPDATEDATAFALSE/由于默認(rèn)值是TRUE,即從控件傳給變量,需要改為FALSE,表示從變量傳給控件。415查詢模塊QUERYHPRAGMAONCEINCLUDE“AFXCMNH“INCLUDE“AFXWINH“INCLUDE“BOOKH“/QUERY對話框CLASSQUERYPUBLICCDIALOGDECLARE_DYNAMICQUERYPUBLICQUERYCWNDPPARENTNULL/標(biāo)準(zhǔn)構(gòu)造函數(shù)VIRTUALQUERY/對話框數(shù)據(jù)ENUMIDDIDD_QUERYPROTECTEDVIRTUALVOIDDODATAEXCHANGECDATAEXCHANGEPDX/DDX/DDV支持INTRADIOINTCOUNTCHARPFFDECLARE_MESSAGE_MAPPUBLICCLISTCTRLLISTCTRLVIRTUALBOOLONINITDIALOGAFX_MSGVOIDONBNCLICKEDRADIO1CBUTTONRADIOBOOKAFX_MSGVOIDONBNCLICKEDRADIO2AFX_MSGVOIDONBNCLICKEDRADIO3AFX_MSGVOIDONBNCLICKEDRADIO4AFX_MSGVOIDONBNCLICKEDBUTTON1VOIDQUERYNUMVOIDQUERYNAMEVOIDQUERYAUTHORVOIDQUERYPRESSVOIDQUERYANYBOOKOPENFILEVOIDTIPINTVOIDINSERTBOOKCSTRINGFINDTEXTAFX_MSGVOIDONBNCLICKEDOKAFX_MSGVOIDONBNCLICKEDBUTTON2AFX_MSGVOIDONBNCLICKEDRADIO5QUERYCPPINCLUDE“STDAFXH“INCLUDE“TIANJINH“INCLUDE“QUERYH“INCLUDE“AFXDIALOGEXH“INCLUDE“BOOKH“/QUERY對話框IMPLEMENT_DYNAMICQUERY,CDIALOGQUERYQUERYCWNDPPARENT/NULL/CDIALOGQUERYIDD,PPARENT,FINDTEXT_T“QUERYQUERYVOIDQUERYDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDXDDX_CONTROLPDX,IDC_LIST1,LISTCTRLDDX_CONTROLPDX,IDCANCEL,RADIOBOOKDDX_TEXTPDX,IDC_EDIT1,FINDTEXTBEGIN_MESSAGE_MAPQUERY,CDIALOGON_BN_CLICKEDIDC_RADIO1,LISTCTRLSETEXTENDEDSTYLELVS_EX_GRIDLINES/設(shè)置該列表框控件的擴(kuò)張風(fēng)格畫出網(wǎng)格線LISTCTRLINSERTCOLUMN0,“書號“,0,130/在該列表框控件中的第0列的設(shè)置為“書號”,其寬度為130LISTCTRLINSERTCOLUMN1,“書名“,0,120LISTCTRLINSERTCOLUMN2,“作者“,0,70LISTCTRLINSERTCOLUMN3,“出版社“,0,100LISTCTRLINSERTCOLUMN4,“出版日期“,0,90LISTCTRLINSERTCOLUMN5,“價格“,0,50RADIO0/為點(diǎn)擊單選框的值初始化為0PFFNEWCHAR10/開辟CHAR的內(nèi)存大小為10字節(jié)RETURNFALSEVOIDQUERYONBNCLICKEDRADIO1RADIO1VOIDQUERYONBNCLICKEDRADIO2RADIO2VOIDQUERYONBNCLICKEDRADIO3RADIO3VOIDQUERYONBNCLICKEDRADIO4RADIO4VOIDQUERYONBNCLICKEDRADIO5RADIO5VOIDQUERYONBNCLICKEDBUTTON1IFRADIO/判斷該值是否點(diǎn)擊單選按鈕MESSAGEBOX“該未選項(xiàng)“,“提示“,MB_OK|MB_ICONWARNING/當(dāng)未選單選按鈕,則提示ELSETHISUPDATEDATA/默認(rèn)值是TRUE,即從控件傳給變量IFFINDTEXTISEMPTY/判斷該查詢的內(nèi)容是否為空MESSAGEBOX“該內(nèi)容為空無法查詢“,“提示“,MB_OK|MB_ICONWARNING/當(dāng)為空,則提示ELSESWITCHRADIO/匹配RADIO的值來調(diào)用哪種方式的函數(shù)進(jìn)行查詢該內(nèi)容CASE1QUERYNUMBREAK/調(diào)用查詢書號函數(shù)CASE2QUERYNAMEBREAK/調(diào)用查詢書名函數(shù)CASE3QUERYAUTHORBREAK/調(diào)用查詢作者函數(shù)CASE4QUERYPRESSBREAK/調(diào)用查詢出版社函數(shù)CASE5QUERYANYBREAK/調(diào)用查詢?nèi)魏蝺?nèi)容函數(shù)BOOKQUERYOPENFILECFILEFILE“DATATXT“,CFILEMODEREAD/第一個參數(shù)“DATATXT“表示指定該文件名,第二個參數(shù)的值表示以讀入模式COUNTFILEGETLENGTH/95/總文件的大小除以每一本圖書的文件大小等于幾本書IFCOUNT0/若等于0,表示該文件為空,就是什么都沒有圖書的信息MESSAGEBOX“該目錄為空“/輸出提示RETURNNULL/返回值為NULL表示空指針CHARTEXT20/BOOKPNEWBOOKCOUNT/根據(jù)多少本書分配多少個對象并返回指向其的地址FORINTI0IINVALIDATETHISUPDATEWINDOWBOOKPOPENFILEIFPRETURNINTTIM0LISTCTRLDELETEALLITEMSCSTRINGTEMPFORINTI0IINVALIDATETHISUPDATEWINDOWBOOKPOPENFILEIFPRETURNINTTIM0LISTCTRLDELETEALLITEMSCSTRINGTEMPFORINTI0IINVALIDATETHISUPDATEWINDOWBOOKPOPENFILEIFPRETURNINTTIM0LISTCTRLDELETEALLITEMSCSTRINGTEMPFORINTI0IINVALIDATETHISUPDATEWINDOWBOOKPOPENFILEIFPRETURNINTTIM0LISTCTRLDELETEALLITEMSCSTRINGTEMPFORINTI0IINVALIDATETHISUPDATEWINDOWBOOKPOPENFILEIFPRETURNINTTIM0,INDEXLISTCTRLDELETEALLITEMSCSTRINGTEMPFORINTI0ITEMPPIGETPRESSFINDFINDTEXTIF0TEMPPIGETAUTHORFINDFINDTEXTIF0TEMPPIGETNAMEFINDFINDTEXTIF0TEMPPIGETNUMFINDFINDTEXTINDEX0ELSEINDEX1ELSEINDEX1ELSEINDEX1ELSEINDEX1IFINDEX1INSERTPITIMTIPTIMRETURN416瀏覽模塊EXPLOREHPRAGMAONCEINCLUDE“COMBOXH“INCLUDE“AFXWINH“INCLUDE“AFXCMNH“INCLUDE“BOOKH“/EXPLORE對話框CLASSEXPLOREPUBLICCDIALOGDECLARE_DYNAMICEXPLOREPUBLICEXPLORECWNDPPARENTNULL/標(biāo)準(zhǔn)構(gòu)造函數(shù)VIRTUALEXPLORE/對話框數(shù)據(jù)ENUMIDDIDD_EXPLOREPROTECTEDVIRTUALVOIDDODATAEXCHANGECDATAEXCHANGEPDX/DDX/DDV支持INTCOUNTDECLARE_MESSAGE_MAPPUBLICCOMBOXBOXCHARPFFVIRTUALBOOLONINITDIALOGCBUTTONSORTCBUTTONDSORTBOOKOPENFILEAFX_MSGVOIDONCLICKEDBUTTON1AFX_MSGVOIDONCLICKEDBUTTON2VOIDEXCHANGEBOOKBOOKCLISTCTRLLISTCTRLEXPLORECPPINCLUDE“STDAFXH“INCLUDE“TIANJINH“INCLUDE“EXPLOREH“INCLUDE“AFXDIALOGEXH“INCLUDE“BOOKH“/EXPLORE對話框IMPLEMENT_DYNAMICEXPLORE,CDIALOGEXPLOREEXPLORECWNDPPARENT/NULL/CDIALOGEXPLOREIDD,PPARENTEXPLOREEXPLOREVOIDEXPLOREDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDXDDX_CONTROLPDX,IDC_COMBO1,BOXDDX_CONTROLPDX,IDC_BUTTON1,SORTDDX_CONTROLPDX,IDC_BUTTON2,DSORTDDX_CONTROLPDX,IDC_LIST1,LISTCTRLBEGIN_MESSAGE_MAPEXPLORE,CDIALOGON_BN_CLICKEDIDC_BUTTON1,BOXSETITEMSSORTSETICONAFXGETAPPLOADICONAIDI_ICON2DSORTSETICONAFXGETAPPLOADICONAIDI_ICON1LISTCTRLSETEXTENDEDSTYLELVS_EX_GRIDLINES/設(shè)置該列表框控件的擴(kuò)張風(fēng)格畫出網(wǎng)格線LISTCTRLINSERTCOLUMN0,“書號“,0,130/在該列表框控件中的第0列的設(shè)置為“書號”,其寬度為130LISTCTRLINSERTCOLUMN1,“書名“,0,120LISTCTRLINSERTCOLUMN2,“作者“,0,70LISTCTRLINSERTCOLUMN3,“出版社“,0,100LISTCTRLINSERTCOLUMN4,“出版日期“,0,90LISTCTRLINSERTCOLUMN5,“價格“,0,60PFFNEWCHAR5/開辟CHAR的內(nèi)存大小為10字節(jié)RETURNTRUEVOIDEXPLOREONCLICKEDBUTTON1INTINDEXBOXGETCURSELIFINDEX1MESSAGEBOX“該未選項(xiàng)“,“提示“RETURNBOOKPOPENFILEIFPRETURNLISTCTRLDELETEALLITEMSFORINTICOUNTI0IFORINTJ0J0EXCHANGEBOOKPJ,PJ1ELSEIFSTRLENPJGETNUMSTRLENPJ1GETNUMEXCHANGEBOOKPJ,PJ1BREAKCASE1IFSTRCMPPJGETNAME,PJ1GETNAME0EXCHANGEBOOKPJ,PJ1BREAKCASE2IFSTRCMPPJGETAUTHOR,PJ1GETAUTHOR0EXCHANGEBOOKPJ,PJ1BREAKCASE3IFSTRCMPPJGETPRESS,PJ1GETPRESS0EXCHANGEBOOKPJ,PJ1BREAKCASE4IFSTRCMPPJGETTIME,PJ1GETTIME0EXCHANGEBOOKPJ,PJ1BREAKFORINTI0I0IFORINTJ0JUPDATEDATA1IFOLDPASSISEMPTYGETPRIVATEPROFILESTRING“LOGIN“,“PASSWORD“,“NULL“,PASSWORD1GETBUFFER20,20,“/SETTINGINI“IFOLDPASSPASSWORD1IFNEWPASS1NEWPASSIFIDOKMESSAGEBOX“確定要改密碼“,“修改密碼提示“,MB_OKCANCEL|MB_ICONQUESTIONWRITEPRIVATEPROFILESTRING“LOGIN“,“PASSWORD“,NEWPASS1,“/SETTINGINI“MESSAGEBOX“已經(jīng)成功修改該本次密碼“,“密碼提示“,MB_OK|MB_ICONASTERISKELSEMESSAGEBOX“新密碼與第二次新密碼不一致請注意輸入正確“,“密碼提示“,MB_OK|MB_ICONEXCLAMATIONELSEAIFA3CDIALOGONOKRETURNCSTRINGDDFORMAT“密碼錯誤D次超過三次錯誤即將自動退出“,AMESSAGEBOXD,“登陸提示“,MB_OK|MB_ICONWARNINGELSEMESSAGEBOX“用戶名或者密碼的字符串為空“,“登陸提示“,MB_OK|MB_ICONWARNING418組合框模塊COMBOXHPRAGMAONCECLASSCOMBOXPUBLICCCOMBOBOXDECLARE_DYNAMICCOMBOXCSTRINGSTRING5PUBLICCOMBOXVIRTUALCOMBOXVOIDSETITEMSPROTECTEDDECLARE_MESSAGE_MAPPUBLICVIRTUALVOIDDRAWITEMLPDRAWITEMSTRUCTCOMBOXCPPINCLUDE“STDAFXH“INCLUDE“TIANJINH“INCLUDE“COMBOXH“/COMBOXIMPLEMENT_DYNAMICCOMBOX,CCOMBOBOXCOMBOXCOMBOXCOMBOXCOMBOXBEGIN_MESSAGE_MAPCOMBOX,CCOMBOBOXON_WM_MOUSEACTIVATEEND_MESSAGE_MAP/COMBOX消息處理程序VOIDCOMBOXDRAWITEMLPDRAWITEMSTRUCTLPDRAWITEMSTRUCTCDCDCDCATTACHLPDRAWITEMSTRUCTHDC/獲取項(xiàng)目區(qū)域CRECTITEMRCLPDRAWITEMSTRUCTRCITEM/定義顯示顏色的區(qū)域CRECTCLRRCITEMRC/獲取系統(tǒng)文本顏色COLORREFCLRTEXTRGB255,255,0/選中時的文本顏色COLORREFCLRSELECTEDGETSYSCOLORCOLOR_HIGHLIGHT/獲取窗口背景顏色COLORREFCLRNORMALGETSYSCOLORCOLOR_WINDOW/獲取當(dāng)前項(xiàng)目索引INTNINDEXLPDRAWITEMSTRUCTITEMID/判斷項(xiàng)目狀態(tài)INTNSTATELPDRAWITEMSTRUCTITEMSTATEIFNSTATE/文本顏色取反DCSETBKCOLORCLRSELECTED/設(shè)置文本背景顏色DCFILLSOLIDRECT/填充項(xiàng)目區(qū)域?yàn)楦吡列Ч鸈LSEDCSETTEXTCOLORCLRTEXT/設(shè)置正常的文本顏色DCSETBKCOLORCLRNORMAL/設(shè)置正常的文本背景顏色DCFILLSOLIDRECT/繪制顏色文本并且填充顏色區(qū)域IFNINDEX1/項(xiàng)目不為空/獲取項(xiàng)目顏色DCSETBKMODETRANSPARENT/輸出文本DCFILLSOLIDRECT/輸出顏色DCFRAMERECTDCTEXTOUTAITEMRCRIGHT/7,ITEMRCBOTTOM20,STRINGNINDEXDCDETACHVOIDCOMBOXSETITEMSSTRING0“書號“STRING1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省華大新2026屆生物高一下期末監(jiān)測試題含解析
- 2026屆江蘇省南京市江浦高級中學(xué)高一下數(shù)學(xué)期末調(diào)研模擬試題含解析
- 2025年洋河酒業(yè)管培生面試題庫及答案
- 2025年產(chǎn)品應(yīng)用與開發(fā)面試題庫及答案
- 2025年易點(diǎn)天下筆試題及答案
- 2025年陽泰招工筆試題目及答案
- 2025年宛城區(qū)初中美術(shù)面試題庫及答案
- 2025年計算機(jī)軟件運(yùn)用面試題庫及答案
- 2025年衡陽縣幼兒園教師招教考試備考題庫附答案解析(奪冠)
- 2025年長城鋁業(yè)公司職工工學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2026年上海市寶山區(qū)初三上學(xué)期一?;瘜W(xué)試卷和答案及評分標(biāo)準(zhǔn)
- 內(nèi)蒙古赤峰市松山區(qū)2025-2026學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(含答案)
- 2026年官方標(biāo)準(zhǔn)版離婚協(xié)議書
- 2025年國補(bǔ)自查自糾報告
- 未來五年造紙及紙制品企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 2025年貴州省高考化學(xué)試卷真題(含答案及解析)
- 二級醫(yī)院的DRGs培訓(xùn)課件
- 2026年湖南中醫(yī)藥高等專科學(xué)校單招職業(yè)傾向性測試題庫及答案詳解一套
- 景區(qū)旅游基礎(chǔ)設(shè)施提升項(xiàng)目可行性研究報告
- 港澳聯(lián)考中文真題及答案
- 企業(yè)如何實(shí)現(xiàn)科技與業(yè)務(wù)的完美融合
評論
0/150
提交評論