已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
源程序代碼,聯(lián)系153893706倉(cāng)庫(kù)管理系統(tǒng)前言自1946年人類(lèi)第一臺(tái)計(jì)算機(jī)(ENIAC)問(wèn)世以來(lái),50多年過(guò)去了,計(jì)算機(jī)的軟硬件發(fā)展日新月異,突飛猛進(jìn)。以個(gè)人電腦為例,硬件方面,以CPU、內(nèi)存、硬盤(pán)為代表,CPU已發(fā)展到當(dāng)今的P428GHZ,P和P已淡出歷史舞臺(tái),成為昨日黃花;256MDDR內(nèi)存,80G以上的7200轉(zhuǎn)硬盤(pán)已成為標(biāo)準(zhǔn)配置。如此高性能的配置,就是和5年之前相比,也不知高出了多少倍。軟件方面,已經(jīng)從當(dāng)初晦澀難懂的機(jī)器語(yǔ)言、匯編語(yǔ)言過(guò)渡到今天的第四代語(yǔ)言甚至第五代語(yǔ)言,第四代語(yǔ)言(4GL)是完全非過(guò)程化的語(yǔ)言,這種語(yǔ)言只要求用戶(hù)指明將要干什么,而無(wú)需指明怎么干,如何做這一工作,則完全交給軟件模塊來(lái)自動(dòng)處理,大大提高了軟件的開(kāi)發(fā)效率和軟件質(zhì)量,使軟件開(kāi)發(fā)人員從繁重的腦力、體力勞動(dòng)中解脫出來(lái)。伴隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,計(jì)算機(jī)的技術(shù)和應(yīng)用獲得了突飛猛進(jìn)的發(fā)展,計(jì)算機(jī)已經(jīng)在大致如下的領(lǐng)域得到廣泛的應(yīng)用1、科學(xué)計(jì)算如在天文學(xué)、生物學(xué)、空氣動(dòng)力學(xué)、核物理學(xué)、地質(zhì)勘探、新材料的研制和天氣預(yù)報(bào)等領(lǐng)域中。2、數(shù)據(jù)處理與科學(xué)計(jì)算不同,數(shù)據(jù)處理涉及的數(shù)據(jù)量大,但計(jì)算方法較簡(jiǎn)單。3、過(guò)程控制以下內(nèi)容略隨著計(jì)算機(jī)的普及和發(fā)展,人們開(kāi)始利用計(jì)算機(jī)解決越來(lái)越多的實(shí)際問(wèn)題,雖然現(xiàn)在軟件的數(shù)量如雨后春筍,但依然不能滿(mǎn)足用戶(hù)的各種需要,尤其是用于特定教學(xué)管理方面的軟件。本文是針對(duì)我校學(xué)習(xí)成績(jī)管理方面的需求進(jìn)行開(kāi)發(fā)設(shè)計(jì)而形成一套適合自身應(yīng)用的計(jì)算機(jī)管理信息系統(tǒng)。論文對(duì)系統(tǒng)進(jìn)行了較為全面的業(yè)務(wù)需求分析,并進(jìn)行有針對(duì)性的系統(tǒng)設(shè)計(jì),包括開(kāi)發(fā)平臺(tái)和工具選型、功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)等,最后選用VISUALC60和ACCESS數(shù)據(jù)庫(kù)進(jìn)行了系統(tǒng)實(shí)現(xiàn),并進(jìn)行了相應(yīng)的系統(tǒng)測(cè)試和調(diào)試隨著當(dāng)代計(jì)算機(jī)技術(shù)的發(fā)展,硬件運(yùn)行速度的不斷提高,軟件功能越來(lái)越多,越來(lái)越完善,它的應(yīng)用范圍也就不斷地?cái)U(kuò)大,已被廣泛地應(yīng)用于科研部門(mén),金融系統(tǒng)、工廠(chǎng)、學(xué)校,直至進(jìn)入千家萬(wàn)戶(hù)。用手工來(lái)完成物資管理系統(tǒng)是一個(gè)較煩瑣的過(guò)程,既費(fèi)時(shí)、費(fèi)力,又不利于一個(gè)月或更久時(shí)間的結(jié)算,而進(jìn)行計(jì)算機(jī)管理可以大大提高工作效率,而且數(shù)據(jù)處理也更為精確。本文用VISUALC60設(shè)計(jì)用戶(hù)界面,ACCESS97做數(shù)據(jù)庫(kù)摘要倉(cāng)庫(kù)管理系統(tǒng)是信息管理系統(tǒng)MIS,其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。經(jīng)過(guò)分析,使用MICROSOFT公司的VISUALC開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶(hù)滿(mǎn)意的可行系統(tǒng)。物資管理是一般工業(yè),商業(yè)企業(yè)生產(chǎn)管理環(huán)節(jié)中重要的一環(huán),需要對(duì)物資基本信息管理,物資調(diào)配信息等內(nèi)容進(jìn)行完整的監(jiān)控,這樣才能更有效地利用物資管理。關(guān)鍵詞ADO,面向?qū)ο?信息管理系統(tǒng)ABSTRACTTHEWAREHOUSEMANAGEMENTSYSTEMDEVELOPSANDINCLUDESBACKSTAGESUPPORTERFOUNDATIONANDMAINTAINANDFRONTDEVELOPMENTTWOOFAPPLICATIONPROGRAMOFDATABASEMAINLYDEMANDANDSETUPDATACONSISTENCYANDINTEGRALITYSTRONG,DATASECURITYKINDSTOREHOUSEASTOTHEFORMERREQUIRETOTHELATTERTHATTHEFUNCTIONOFTHEAPPLICATIONPROGRAMISCOMPLETE,APTCHARACTERISTICOFUSINGETCTHROUGHANALYSE,USEMICROSOFTDEVELOPINGINSTRUMENT,COFVISUAL,OFCOMPANY,UTILIZEVARIOUSKINDSOFTHATOFFERITFACEDEVELOPINGINSTRUMENTOFMARRIAGEPARTNER,DATAWINDOWTHISCANCONVENIENTSUCCINCTTOHANDLETHEINTELLIGENTMARRIAGEPARTNEROFTHEDATABASEESPECIALLY,SETUPSYSTEMUSEPROTOTYPE,THENCARRYONTOINITIALPROTOTYPESYSTEMDEMANDCHANGESANDTAKESTHEPLACEOFWITHINSHORTTIMEATFIRST,REVISEANDIMPROVECONSTANTLY,UNTILFORMINGUSERSSATISFIEDFEASIBLESYSTEMTHEHANDINGOFGOODSANDMATERIALSISGENERALINDUSTRY,ANIMPORTANTRINGINTHEPRODUCTIONMANAGEMENTOFMERCHANDISINGCONCERNLINK,NEEDTOGOODSANDMATERIALSBASICINFORMATIONMANAGEMENT,GOODSANDMATERIALSALLOCATEINFORMATION,ETCCONTENTGOONINTACTCONTROL,COULDUTILIZEHANDINGOFGOODSANDMATERIALSMOREEFFECTIVELYINTHISWAYTHISTEXTINTRODUCTIONMAKEWITHINTERFACEANDMAKETHEDATABASEWITHVCWITHDATABASESQLSEVER2000KEYWORDSADO,FACETOOBJECT,MIS(MANAGEMENTINFORMATIONSYSTEM)目錄前言1摘要2目錄2第一章系統(tǒng)設(shè)計(jì)311系統(tǒng)功能分析312系統(tǒng)功能模塊設(shè)計(jì)5第二章數(shù)據(jù)庫(kù)設(shè)計(jì)521數(shù)據(jù)庫(kù)需求分析22數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)23使用邏輯結(jié)構(gòu)設(shè)計(jì)第三章數(shù)據(jù)庫(kù)結(jié)構(gòu)的實(shí)現(xiàn)5531創(chuàng)建系統(tǒng)用戶(hù)表格632創(chuàng)建物資基本信息表格633創(chuàng)建入庫(kù)物資信息634創(chuàng)建出庫(kù)物資信息表格6第四章物資管理信息系統(tǒng)主窗體的創(chuàng)建641所用工具VC的介紹1042數(shù)據(jù)庫(kù)ACCESS簡(jiǎn)介1043創(chuàng)建工程項(xiàng)目MATERIAL_MIS1244創(chuàng)建主窗體菜單1245創(chuàng)建公用模塊13第五章系統(tǒng)用戶(hù)管理模塊的創(chuàng)建14第六章倉(cāng)庫(kù)管理的基本信息模塊的創(chuàng)建1861添加物資基本信息1962修改物資基本信息2363刪除物資基本信息2664查詢(xún)物資基本信息2665幫助界面的設(shè)置29第七章結(jié)束語(yǔ)30致謝30參考文獻(xiàn)31附錄31第一章系統(tǒng)設(shè)計(jì)介紹11系統(tǒng)功能分析系統(tǒng)開(kāi)發(fā)的總體任務(wù)就是實(shí)現(xiàn)倉(cāng)庫(kù)管理的信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。隨著電腦誕生以來(lái),人類(lèi)聰明的頭腦總是想“要做的事簡(jiǎn)單化“。因此在我們大、中、小賓館,其繁重信息管理使他們聰明的頭腦想到”由電腦來(lái)管理這些事務(wù),又簡(jiǎn)單又省事。所以人們常說(shuō)“計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手了,少了它生命中沒(méi)有了陽(yáng)光“。今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長(zhǎng)足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方面首先,計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動(dòng);其次,計(jì)算機(jī)可以節(jié)省許多資源;第三,計(jì)算機(jī)可以大大的提高人們的工作效率;第四,計(jì)算機(jī)可以使敏感文檔更加安全,等等??梢?jiàn),開(kāi)發(fā)一套物資信息管理系統(tǒng)已經(jīng)是必要的了。倉(cāng)庫(kù)管理是企業(yè)管理的一個(gè)重要內(nèi)容。隨著時(shí)代的進(jìn)步,企業(yè)也逐漸變的龐大起來(lái)。如何管理好企業(yè)內(nèi)物資的信息,成為企業(yè)管理中的一個(gè)重要問(wèn)題。在這種情況下,一個(gè)可以規(guī)范化,自動(dòng)化的物資系統(tǒng)就顯的非常重要。最初的倉(cāng)庫(kù)管理,都是靠人力來(lái)完成。當(dāng)企業(yè)規(guī)模比較小的時(shí)候,人力可以完成。隨著企業(yè)規(guī)模越來(lái)越大,企業(yè)的物資數(shù)量越來(lái)越多,依然維持著人力進(jìn)管理必然會(huì)造成工作效率底,工作錯(cuò)誤曾高等問(wèn)題。管理信息系統(tǒng)簡(jiǎn)稱(chēng)MIS是介于信息論,經(jīng)濟(jì)管理理論,統(tǒng)計(jì)學(xué)與運(yùn)籌學(xué)及計(jì)算機(jī)科學(xué)之間的一門(mén)邊緣性,綜合性,系統(tǒng)性的交叉科學(xué),它是隨著管理科學(xué),信息技術(shù),計(jì)算機(jī)技術(shù)等的發(fā)展而產(chǎn)生和發(fā)展起來(lái)的。XXX管理系統(tǒng)是典型的信息管理系統(tǒng),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端的應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立數(shù)據(jù)的一致性和完整性,對(duì)于后者則要求應(yīng)用程序功能的完備,易用等的特點(diǎn)?;谏鲜隹紤]本系統(tǒng)主要利用VC60作前端的應(yīng)用開(kāi)發(fā)工具,利用SQL或ACESS作為后臺(tái)的數(shù)據(jù)庫(kù),利用WINDOWS作為系統(tǒng)平臺(tái)開(kāi)發(fā)的XXXX管理系統(tǒng)。另外本XXX管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進(jìn)行系統(tǒng)分析和設(shè)計(jì)的,而系統(tǒng)實(shí)現(xiàn)等步驟則采用了原型法和面對(duì)對(duì)象的方向倉(cāng)庫(kù)管理系統(tǒng)就是把分散的企業(yè)物資信息實(shí)行統(tǒng)一,集中,規(guī)范的收集管理。建立分類(lèi)編號(hào)管理,電腦存貯查詢(xún)以及防火,防潮,防盜等現(xiàn)代化,專(zhuān)業(yè)化的管理系統(tǒng)。為企事業(yè)的管理解除了后顧之憂(yōu)。系統(tǒng)功能分析是在系統(tǒng)開(kāi)發(fā)總體任務(wù)的基礎(chǔ)上進(jìn)行的。本系統(tǒng)中的倉(cāng)庫(kù)管理信息系統(tǒng)需要完成的主要功能有有關(guān)物資基本信息的輸入,包括物資編號(hào)、物資名稱(chēng)、規(guī)格型號(hào)、種類(lèi)和計(jì)量單位等。物資基本信息的查詢(xún)。物資基本信息的修改。入庫(kù)物資基本信息的輸入。入庫(kù)物資基本信息的查詢(xún)。入庫(kù)物資基本信息的修改。出庫(kù)物資基本信息的輸入。出庫(kù)物資基本信息的查詢(xún)。出庫(kù)物資基本信息的修改。物資余額信息的查詢(xún)。物資余額信息的瀏覽12系統(tǒng)功能模塊設(shè)計(jì)對(duì)上述的功能進(jìn)行集中,分塊和分析,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到下圖圖(1)系統(tǒng)功能模塊圖第二章數(shù)據(jù)庫(kù)設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶(hù)的各個(gè)方面的需要,包括現(xiàn)有的以及將來(lái)可能增加的需求。數(shù)據(jù)庫(kù)設(shè)計(jì)一般包括如下幾個(gè)步驟數(shù)據(jù)庫(kù)需求分析。倉(cāng)庫(kù)管理信息系統(tǒng)物資余額信息管理物資出庫(kù)信息管理物資基本信息管理物資入庫(kù)信息管理系統(tǒng)管理出庫(kù)物資信息修改出庫(kù)物資信息添加入庫(kù)物資信息查詢(xún)?nèi)霂?kù)物資信息修改入庫(kù)物資信息添加物資基本信息查詢(xún)物資基本信息修改物資基本信息添加密碼管理密碼管理用戶(hù)管理物資余額信息游覽物資余額信息查詢(xún)出庫(kù)物資信息查詢(xún)數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。第三章數(shù)據(jù)庫(kù)結(jié)構(gòu)的實(shí)現(xiàn)ACCESS2000就是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢(xún)、存儲(chǔ)和檢索。ACCESS的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類(lèi)似于EXCEL的電子表格,可以使數(shù)據(jù)庫(kù)一目了然。另外,ACCESS允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫(kù)中的信息。ACCESS也提供了數(shù)據(jù)存儲(chǔ)庫(kù),可以使用桌面數(shù)據(jù)庫(kù)文件把數(shù)據(jù)庫(kù)文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶(hù)共享數(shù)據(jù)庫(kù)。ACCESS是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開(kāi)發(fā)的最通用的數(shù)據(jù)庫(kù)之一。如上所述,ACCESS作為關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫(kù)的便利和關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大功能。經(jīng)前面的系統(tǒng)需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)?,F(xiàn)在就可以在A(yíng)CCESS2000,實(shí)現(xiàn)上面設(shè)計(jì)的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu),然后轉(zhuǎn)化為ACCESS97下面給出創(chuàng)建這些表格的清單。31創(chuàng)建系統(tǒng)用戶(hù)表格USER_INFO用戶(hù)名稱(chēng)用戶(hù)密碼32創(chuàng)建物資基本信息表格MATERIAL物資編號(hào)物資名稱(chēng)物資規(guī)格類(lèi)別計(jì)量單位33創(chuàng)建入庫(kù)物資信息表格MSAVE入庫(kù)編號(hào)入庫(kù)物資編號(hào)物資名稱(chēng)規(guī)格型號(hào)種類(lèi)單位數(shù)量單價(jià)金額入庫(kù)時(shí)間經(jīng)辦人保管人倉(cāng)庫(kù)備注34創(chuàng)建出庫(kù)物資信息表格MUSE出庫(kù)編號(hào)出庫(kù)物資編號(hào)物資名稱(chēng)規(guī)格型號(hào)種類(lèi)單位數(shù)量單價(jià)金額入庫(kù)時(shí)間領(lǐng)用人經(jīng)辦人倉(cāng)庫(kù)備注35創(chuàng)建物資余額信息表格MSURPLUS物資編號(hào)物資名稱(chēng)規(guī)格型號(hào)類(lèi)別計(jì)量單位數(shù)量金額倉(cāng)庫(kù)備注第四章物資管理信息系統(tǒng)主窗體的創(chuàng)建41使用工具VC的介紹所用開(kāi)發(fā)語(yǔ)言簡(jiǎn)介411VC的特點(diǎn)VISUALC是功能最為強(qiáng)大可視化開(kāi)發(fā)工具,它不僅支持傳統(tǒng)的軟件開(kāi)發(fā)方法,更重要的是它能支持面向?qū)ο?、可視化的開(kāi)發(fā)風(fēng)格。因此VISUALC又稱(chēng)作是一個(gè)集成開(kāi)發(fā)工具,它提供了軟件代碼自動(dòng)生成和可視化的資源編輯功能。VISUALC具有的優(yōu)點(diǎn)提供了面向?qū)ο蟮膽?yīng)用程序框架MFC(MICROSOFTFOUNDATIONCLASS),簡(jiǎn)化了程序員的編程工作,提高了模塊的可重用性;提供了基于CASE技術(shù)的可視化軟件的自動(dòng)生成和維護(hù)工具APPWIZARD、CLASSWIZARD、VISUALSTUDIO、WIZARDBAR等,實(shí)現(xiàn)了直觀(guān)、可視的程序設(shè)計(jì)風(fēng)格,方便地編和管理各種類(lèi),維護(hù)程序的源代碼;封裝了WINDOWS的API函數(shù)、USER、KERNEL、GDI函數(shù),簡(jiǎn)化了編程時(shí)創(chuàng)建、維護(hù)窗口的許多復(fù)雜的工作。412本程序中使用的VC控件及其屬性簡(jiǎn)介1CSTATIC靜態(tài)控件顯示一些幾乎固定不變的文字或圖形描述。2CBUTTON(按鈕控件)產(chǎn)生某些命令或改變某些選項(xiàng)設(shè)置。3CEDIT(編輯框控件)完成文字的輸入輸出雙向操作,查看并編輯文字。4CLISTBOX(列表框控件)顯示一個(gè)列表,讓用戶(hù)從中選取一個(gè)或多個(gè)項(xiàng)。5CCOMBOBOX(組合框)將列表框和編輯框有機(jī)地組合在一起,可選擇列表中已有的項(xiàng),還可以編輯出新的項(xiàng)。MICROSOFTVISUALC60提供了良好的集成開(kāi)發(fā)環(huán)境,在這一環(huán)境下用戶(hù)可以輸入自己的程序,調(diào)試并運(yùn)行為了方便用戶(hù)快速開(kāi)發(fā)程序,VISUALC不僅編譯代碼,而且產(chǎn)生代碼可以在幾分鐘之內(nèi)就可以生成一個(gè)WINDOWS應(yīng)用程序,所要做的只是告訴APPWIZARD生成一個(gè)具有模板代碼的“起始應(yīng)用程序“APPWIZARD是一個(gè)非常有效的輔助開(kāi)發(fā)工具,能生成許多種應(yīng)用程序,但對(duì)于大多數(shù)的人來(lái)說(shuō),想要的是可執(zhí)行程序APPWIZARD不僅能夠生成可執(zhí)行程序,而且它還生成了每個(gè)程序所必要的模板代碼類(lèi),對(duì)象和函數(shù)1APPWIZARD提供了三種可選擇的應(yīng)用程序類(lèi)型,并為每一種類(lèi)型生成不同的代碼和類(lèi)三種可選擇的程序類(lèi)型如下1,單文檔界面應(yīng)用程序邏輯這種應(yīng)用程序一次只能打開(kāi)一個(gè)文檔當(dāng)選擇FILE菜單的OPEN或NEW時(shí),當(dāng)前打開(kāi)的文件在新文件打開(kāi)或建立前被關(guān)閉在WINDOWS中NOTEPAD應(yīng)用程序就是這種文檔的典型代表2多文檔界應(yīng)用程序多文檔應(yīng)用程序一次可以打開(kāi)多個(gè)文檔通常是多個(gè)文件,在菜單欄上有WINDOWS菜單并且在FILE菜單上有CLOSE先項(xiàng)同時(shí)打開(kāi)的多個(gè)文檔可以通過(guò)CLOSE命令進(jìn)行有選擇地關(guān)閉在WINDOWS中如果希望一個(gè)文檔有多個(gè)視圖,則必須建立多文檔視圖WINDOWS中的WORD或EXCEL都是多文檔的例子3基于對(duì)話(huà)框的應(yīng)用程序在這一種應(yīng)用程序中,它沒(méi)有文檔也沒(méi)有菜單,整個(gè)程序看起來(lái)就是一個(gè)對(duì)話(huà)框WINDOWS的磁盤(pán)掃描應(yīng)用程序就是一個(gè)基于對(duì)話(huà)框的應(yīng)用程序例子2APPWIZARD允許用戶(hù)選擇是否需要文檔/視圖結(jié)構(gòu)支持如果需要APPWIZARD就在應(yīng)用程序中自動(dòng)生成了基于CDOCUMENT類(lèi)的文檔/視圖結(jié)構(gòu),否則生成沒(méi)有文檔/視圖結(jié)構(gòu)的應(yīng)用程序在這種情況下,多一個(gè)磁盤(pán)文件打開(kāi)一個(gè)文檔視圖時(shí)將不包含MFC支持3APPWIZARD生成可執(zhí)行應(yīng)用程序允許用戶(hù)選擇是否支持?jǐn)?shù)據(jù)庫(kù)在后面的任務(wù)中將詳細(xì)介紹對(duì)數(shù)據(jù)庫(kù)的支持有關(guān)數(shù)據(jù)庫(kù)支持的選項(xiàng)一共有四個(gè)4NONE不是編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序5HEADERFILESONLY不從CFORMVIEW派生自己的視圖或有一個(gè)RECORD菜單6DATABASEIEWWITHOUTFILESUPPORT從CFORMVIEW派生自己的視圖并有一個(gè)RECORD菜單,但不需要對(duì)文檔進(jìn)行序列化,從而可以借助CRECORDSET類(lèi)更新數(shù)據(jù)庫(kù)記錄7DATABASEIEWWITHFILESUPPORT從CFORMVIEW派生自己的視圖并有一個(gè)RECORD菜單,同時(shí)又需要對(duì)文檔進(jìn)行序列化4APPWIZARD提供了確定應(yīng)用程序界面外觀(guān)的選項(xiàng)影響界面外觀(guān)的選項(xiàng)有8DOCKINGTOOLBARAPPWIZARD為用戶(hù)創(chuàng)建了工具欄,用戶(hù)在以后可以利用RESOURCEVIEW對(duì)它進(jìn)行編輯如刪除不要的按鈕,增加新的按鈕9INITIALSTATUSBARAPPWIZARD生成了初始狀態(tài)欄以顯示菜單提示和其它消息,用戶(hù)可以在以后對(duì)狀態(tài)欄進(jìn)行編程以顯示自己所需要顯示的信息用戶(hù)要以在狀態(tài)欄上增加指示器或其它組件下面開(kāi)始使用VISUALC60來(lái)編寫(xiě)數(shù)據(jù)庫(kù)系統(tǒng)的客戶(hù)端程序。所用開(kāi)發(fā)語(yǔ)言簡(jiǎn)介VC的特點(diǎn)VISUALC是功能最為強(qiáng)大可視化開(kāi)發(fā)工具,它不僅支持傳統(tǒng)的軟件開(kāi)發(fā)方法,更重要的是它能支持面向?qū)ο蟆⒖梢暬拈_(kāi)發(fā)風(fēng)格。因此VISUALC又稱(chēng)作是一個(gè)集成開(kāi)發(fā)工具,它提供了軟件代碼自動(dòng)生成和可視化的資源編輯功能。VISUALC具有的優(yōu)點(diǎn)提供了面向?qū)ο蟮膽?yīng)用程序框架MFC(MICROSOFTFOUNDATIONCLASS),簡(jiǎn)化了程序員的編程工作,提高了模塊的可重用性;提供了基于CASE技術(shù)的可視化軟件的自動(dòng)生成和維護(hù)工具APPWIZARD、CLASSWIZARD、VISUALSTUDIO、WIZARDBAR等,實(shí)現(xiàn)了直觀(guān)、可視的程序設(shè)計(jì)風(fēng)格,方便地編和管理各種類(lèi),維護(hù)程序的源代碼;封裝了WINDOWS的API函數(shù)、USER、KERNEL、GDI函數(shù),簡(jiǎn)化了編程時(shí)創(chuàng)建、維護(hù)窗口的許多復(fù)雜的工作。312本程序中使用的VC控件及其屬性簡(jiǎn)介1CSTATIC靜態(tài)控件顯示一些幾乎固定不變的文字或圖形描述。2CBUTTON(按鈕控件)產(chǎn)生某些命令或改變某些選項(xiàng)設(shè)置。3CEDIT(編輯框控件)完成文字的輸入輸出雙向操作,查看并編輯文字。4CLISTBOX(列表框控件)顯示一個(gè)列表,讓用戶(hù)從中選取一個(gè)或多個(gè)項(xiàng)。5CCOMBOBOX(組合框)將列表框和編輯框有機(jī)地組合在一起,可選擇列表中已有的項(xiàng),還可以編輯出新的項(xiàng)。系統(tǒng)數(shù)據(jù)訪(fǎng)問(wèn)接口的選擇VISUALC中可用的數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象接口有三種ODBC(OPENDATABASECONNECTITY,開(kāi)發(fā)數(shù)據(jù)庫(kù)連接)、DAODATAACCESSOBJECTS,數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象及OLEDBOLEDATABASE,OLE數(shù)據(jù)庫(kù)。1ODBC(OPENDATABASECONNECTITY,開(kāi)發(fā)數(shù)據(jù)庫(kù)連接)ODBC提供了應(yīng)用程序接口(API),使得任何一個(gè)數(shù)據(jù)庫(kù)都可以通過(guò)ODBC驅(qū)動(dòng)器與指定DBMC相聯(lián),用戶(hù)的程序就可以通過(guò)調(diào)用ODBC驅(qū)動(dòng)管理器中相應(yīng)的驅(qū)動(dòng)程序達(dá)到管理數(shù)據(jù)庫(kù)的目的。作為MICROSOFTWINDOWSOPENSTANDARDSARCHITECTUREWOSA,WINDOWS開(kāi)放式服務(wù)體系結(jié)構(gòu)的主要組成部分,ODBC一直沿用至今。2DAODATAACCESSOBJECTS,數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象DAO提供了一種通過(guò)程序代碼創(chuàng)建和操縱數(shù)據(jù)庫(kù)的機(jī)制。多個(gè)DAO對(duì)象構(gòu)成了一個(gè)體系結(jié)構(gòu),在這個(gè)結(jié)構(gòu)里,各個(gè)DAO對(duì)象協(xié)同工作,通過(guò)MICROSOFTJET數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)和數(shù)據(jù)庫(kù)的結(jié)構(gòu)定義。可以訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)類(lèi)型主要有MICROSOFTJET數(shù)據(jù)庫(kù)、ODBC數(shù)據(jù)源、可安裝的ISAM數(shù)據(jù)庫(kù)。DAO是我們可以通過(guò)程序訪(fǎng)問(wèn)和操縱本地的或遠(yuǎn)程的數(shù)據(jù)和數(shù)據(jù)定義,管理數(shù)據(jù)庫(kù)中的對(duì)象或結(jié)構(gòu)。DAO支持兩種不同的數(shù)據(jù)庫(kù)環(huán)境稱(chēng)為工作區(qū)(WORKSPACE)MICROSOFTJETWORKSPACE這是一種使用MICROSOFTJET數(shù)據(jù)庫(kù)引擎來(lái)訪(fǎng)問(wèn)數(shù)據(jù)源的工作區(qū)。ODBCDIRECTWORKSPACE這是一種使用ODBCDIRECT來(lái)直接訪(fǎng)問(wèn)一個(gè)ODBC數(shù)據(jù)源,并繞過(guò)MICROSOFTJET數(shù)據(jù)庫(kù)引擎的工作區(qū)??赏ㄟ^(guò)ODBC訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,而無(wú)須安裝MICROSOFTJET數(shù)據(jù)庫(kù)引擎。3OLEDBOLEDATABASE,OLE數(shù)據(jù)庫(kù)。OLEDB試圖提高一種統(tǒng)一的數(shù)據(jù)訪(fǎng)問(wèn)接口,并能處理除了標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)之外,還能處理包括郵件數(shù)據(jù)、WEB上的文本或圖形、目錄服務(wù)(DIRECTORYSERVICES),以及主機(jī)系統(tǒng)中的IMS和VSAM數(shù)據(jù)。OLEDB提供一個(gè)數(shù)據(jù)庫(kù)編程COM(組件對(duì)象模型)接口,使得數(shù)據(jù)的使用者(應(yīng)用程序)可以使用同樣的方法訪(fǎng)問(wèn)各種數(shù)據(jù),而不用考慮數(shù)據(jù)的具體存儲(chǔ)地點(diǎn)、格式或類(lèi)型。這個(gè)COM接口與ODBC相比,其健壯性和靈活性要高的多。但是,由于OLEDB的程序比較復(fù)雜,因而對(duì)于一般用戶(hù)來(lái)說(shuō)使用ODBC和DAO方式已能滿(mǎn)足一般數(shù)據(jù)庫(kù)處理的需要ACCESS介紹ACCESS是MICROSOFTOFFICE辦公套件中一個(gè)極為重要的組成部分。剛開(kāi)始時(shí)微軟公司是將ACCESS單獨(dú)作為一個(gè)產(chǎn)品進(jìn)行銷(xiāo)售的,后來(lái)微軟發(fā)現(xiàn)如果將ACCESS捆綁在OFFICE中一起發(fā)售,將帶來(lái)更加可觀(guān)的利潤(rùn),于是第一次將ACCESS捆綁到OFFICE97中,成為OFFICE套件中的一個(gè)重要成員?,F(xiàn)在它已經(jīng)成為OFFICE辦公套件中不可缺少的部件了。自從1992年開(kāi)始銷(xiāo)售以來(lái),ACCESS已經(jīng)賣(mài)出了超過(guò)6000萬(wàn)份,現(xiàn)在它已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫(kù)管理系統(tǒng)。后來(lái)微軟公司通過(guò)大量地改進(jìn),將ACCESS的新版本功能變得更加強(qiáng)大。不管是處理公司的客戶(hù)訂單數(shù)據(jù);管理自己的個(gè)人通訊錄;還是大量科研數(shù)據(jù)的記錄和處理,人們都可以利用它來(lái)解決大量數(shù)據(jù)的管理工作。建立一個(gè)數(shù)據(jù)庫(kù)我們有多種選擇,現(xiàn)在市場(chǎng)上有各種各樣的數(shù)據(jù)庫(kù),而且每一種數(shù)據(jù)庫(kù)都有其自身的特點(diǎn),不能說(shuō)哪一種更好,只能在其中尋找一種能更好地適應(yīng)系統(tǒng)需求、更好地滿(mǎn)足用戶(hù)的要求以及適應(yīng)開(kāi)發(fā)人員的習(xí)慣。在本系統(tǒng)中,做為圖書(shū)倉(cāng)庫(kù)管理系統(tǒng)是一個(gè)比較小的應(yīng)用系統(tǒng),它所產(chǎn)生和處理的數(shù)據(jù)量也比較小。因此,沒(méi)有必要使用像SQLSERVER和ORACLE這樣的大型數(shù)據(jù)庫(kù)。我首先想到的數(shù)據(jù)庫(kù)是BORLAND公司的PARADOX數(shù)據(jù)庫(kù)。另外,MICROSOFTOFFICE中的ACCESS數(shù)據(jù)庫(kù)在計(jì)算機(jī)上的應(yīng)用比較普及,是開(kāi)發(fā)小型數(shù)據(jù)庫(kù)系統(tǒng)的比較理想的選擇,所以,在本系統(tǒng)中我選擇了ACCESS數(shù)據(jù)庫(kù)。ACCESS做為一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),它被集成在MICROSOFTOFFICE中。ACCESS數(shù)據(jù)庫(kù)處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫(kù)模式。與其他的數(shù)據(jù)庫(kù)系統(tǒng)相比,ACCESS更加簡(jiǎn)單易學(xué),一個(gè)普通的計(jì)算機(jī)用戶(hù)可以很快地掌握它。ACCESS2000的功能十分強(qiáng)大,利用它可以方便地實(shí)現(xiàn)對(duì)信息保存、維護(hù)、查詢(xún)、統(tǒng)計(jì)、打印、交流、發(fā)布,而且它可以十分方便地與OFFICE其他組件交流數(shù)據(jù),這些功能對(duì)一個(gè)一般用戶(hù)而言已經(jīng)足夠了。41創(chuàng)建工程項(xiàng)目MATERIAL_MIS啟動(dòng)VISUALC60后,從“FILE”菜單中選“NEW”命令,然后,單擊“NEW”對(duì)話(huà)框中的“PROJECTS”選項(xiàng)卡,選擇工程模板中的“MFCAPPWIZARDEXE”選項(xiàng),并在“PROJECT_NAME”中輸入工程的名稱(chēng)MATERIAL_MIS,在LOCATION中選擇保存這個(gè)工程的位置CVC,其他使用系統(tǒng)提供的默認(rèn)選項(xiàng),單擊“OK”按鈕,就會(huì)進(jìn)入MFCAPPWIZARD,這個(gè)向?qū)б还灿?步,STEP1對(duì)話(huà)框中選中“SINGLEDOCUMENT”選項(xiàng)。單擊“NEXT”按鈕,進(jìn)入STEP2OF6對(duì)話(huà)框,這一步要選擇需要的數(shù)據(jù)庫(kù),因?yàn)樯婕暗綌?shù)據(jù)庫(kù)的使用,所以在這里選中“HEADERFILESONLY”選項(xiàng),意思是在這個(gè)實(shí)例中只使用頭文件種類(lèi)所包含的數(shù)據(jù)庫(kù)。單擊“NEXT”按鈕,進(jìn)入STEP3OF6對(duì)話(huà)框,這里保持系統(tǒng)給定的默認(rèn)值。單擊“NEXT”按鈕,進(jìn)入STEP4OF6對(duì)話(huà)框,在這里選中“3DCONTROLS”和“INITIALSTATUSBAR”選項(xiàng),其他選項(xiàng)都不需要選中。單擊“NEXT”按鈕進(jìn)入下一步,這里保持系統(tǒng)給定的默認(rèn)值單擊“NEXT”按鈕進(jìn)入下一步,進(jìn)入MFC向?qū)У淖詈笠徊?,在該?duì)話(huà)框中,保證BASECLASS的下拉列表中選擇的是CVIEW,其他的保持系統(tǒng)提供的默認(rèn)值。單擊“FINISH”按鈕,會(huì)出現(xiàn)一個(gè)“NEWPROJECTINFORMATION”對(duì)話(huà)框,確認(rèn)信息無(wú)誤后,單擊“OK”按鈕,完成創(chuàng)建MATERIAL_MIS工程。42創(chuàng)建主窗體菜單完成上面的工作后,在“WORKSPACE”中選擇“RECOURCEVIEW”命令,然后雙擊MENU文件夾,再雙擊“IDR_MAINFRAME”項(xiàng)目,單擊右邊窗口中的“文件”菜單,雙擊“文件”或者敲ENTER鍵,就會(huì)出現(xiàn)“MENUITEMPROPERTIES”對(duì)話(huà)框,在這個(gè)對(duì)話(huà)框中更改菜單項(xiàng)的內(nèi)容,更改后的內(nèi)容如圖2示,第一級(jí)菜單的設(shè)置都和圖3中的設(shè)置方法相同,二級(jí)菜單的設(shè)置方法如圖3圖2圖3使用上面所講述的設(shè)置方法,最終創(chuàng)建出如表4的菜單結(jié)構(gòu)。表4菜單結(jié)構(gòu)菜單名稱(chēng)ID系統(tǒng)修改密碼ID_MAINMENU_CHANGEPWD添加用戶(hù)ID_MAINMENU_APPENDACCOUNT退出系統(tǒng)ID_APP_EXIT物資基本信息管理添加物資基本信息管理ID_MENU_ADDBASICINFO修改物資基本信息管理ID_MENU_ALTERBASICINFO刪除物資基本信息管理ID_MENU_DELBASICINFO查詢(xún)物資基本信息管理ID_MENU_SEARCHBASICINFO物資入庫(kù)信息管理添加物資入庫(kù)信息ID_MENU_ADDININFO修改物資入庫(kù)信息ID_MENU_ALTERININFO刪除物資入庫(kù)信息ID_MENU_DELININFO查詢(xún)物資入庫(kù)信息ID_MENU_SEARCHININFO物資出庫(kù)信息管理添加物資出庫(kù)信息ID_MENU_ADDOUTINFO修改物資出庫(kù)信息ID_MENU_ALTEROUTINFO刪除物資出庫(kù)信息ID_MENU_DELOUTINFO查詢(xún)物資出庫(kù)信息ID_MENU_SEARCHOUTINFO物資余額信息管理查詢(xún)物資余額信息ID_MENU_SEARCHSURPLUSINFO幫助關(guān)于43創(chuàng)建公用模塊在這個(gè)系統(tǒng)中,頻繁地使用到了對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),修改等操作,所以把針對(duì)數(shù)據(jù)庫(kù)的一些公共操作集中起來(lái),可以使代碼更加規(guī)范和容易維護(hù)。在CLASSVIEW中,利用鼠標(biāo)右鍵單擊“CMATERIAL_MISAPP”項(xiàng)目,選擇“ADDMEMBERVARIABLE”選項(xiàng),然后依次添加這個(gè)工程中要使用到的變量PUBLICCSTRINGM_SCURRENTUSERINTM_ILOGINCOUNT_RECORDSETPTRM_PADOSETPRIVATE_CONNECTIONPTRADOCONN/定義ADO數(shù)據(jù)庫(kù)連接對(duì)象指針選擇ADDMEMBERFUNCTION添加函數(shù)BOOLADOEXECUTE_RECORDSETPTR最后手工添加一個(gè)外部變量的聲明EXTERNCMATERIAL_MISAPPTHEAPP在VISUALC中進(jìn)行數(shù)據(jù)庫(kù)操作一定要引進(jìn)ADO類(lèi),所在把下面這段代碼添加到這個(gè)工程中的STDAFXH中,才能對(duì)記錄集進(jìn)行操作。IMPORT“CPROGRAMFILESCOMMONFILESSYSTEMADOMSADO15DLL“NO_NAMESPACERENAME“EOF“,“ENDOFFILE“RENAME“LOCKTYPEENUM“,“NEWLOCKTYPEENUM“RENAME“DATATYPEENUM“,“NEWDATATYPEENUM“RENAME“FIELDATTRIBUTEENUM“,“NEWFIELDATTRIBUTEENUM“RENAME“EDITMODEENUM“,“NEWEDITMODEENUM“RENAME“RECORDSTATUSENUM“,“NEWRECORDSTATUSENUM“RENAME“PARAMETERDIRECTIONENUM“,“NEWPARAMETERDIRECTIONENUM“在CMATERIAL_MISAPP類(lèi)的INITISTANCE函數(shù)中添加如下代碼M_ILOGINCOUNT0/創(chuàng)建ADO連接對(duì)象IFFAILEDCOINITIALIZENULLAFXMESSAGEBOX“ADOINITFAILED“RETURNFALSETRYADOCONNCREATEINSTANCE_UUIDOFCONNECTIONADOCONNOPEN_BSTR_T“PROVIDERMICROSOFTJETOLEDB40DATASOURCE“GETCURDIR“YLZMDB“,_BSTR_T“,_BSTR_T“,ADMODEUNKNOWN/捕捉例外CATCH_COM_ERRORERRFORMAT“S“,CHAREDESCRIPTIONAFXMESSAGEBOXERRCATCHAFXMESSAGEBOX“UNKNOWNERROR“/初始化ADO記錄集添加以上代碼后,就完成了打開(kāi)數(shù)據(jù)庫(kù)的工作,同時(shí)添加下面的代碼,來(lái)設(shè)置窗口的名稱(chēng)M_PMAINWNDSETWINDOWTEXT_T“物資管理信息系統(tǒng)“在函數(shù)中BOOLADOEXECUTE_RECORDSETPTRTRYADOSETOPENSTRSQL,ADOCONNGETINTERFACEPTR,ADOPENSTATIC,ADLOCKOPTIMISTIC,ADCMDUNKNOWNRETURNTRUECATCH_COM_ERRORERRFORMAT“ADOERRORS“,CHAREDESCRIPTIONAFXMESSAGEBOXERRRETURNFALSE最后添加關(guān)閉數(shù)據(jù)庫(kù)連接的函數(shù)。選擇ADDVIRTUALFUNCTION添加一個(gè)虛函數(shù),重載系統(tǒng)提供的EXITINSTANCE函數(shù),填寫(xiě)代碼如下INTCMATERIAL_MISAPPEXITINSTANCE/TODOADDYOURSPECIALIZEDCODEHEREAND/ORCALLTHEBASECLASS/釋放ADO連接對(duì)象IFADSTATEOPENADOCONNSTATEADOCONNCLOSEADOCONNRELEASE/釋放ADO記錄集IFADSTATEOPENM_PADOSETSTATEM_PADOSETCLOSEM_PADOSETRELEASERETURNCWINAPPEXITINSTANCE通過(guò)以上的編寫(xiě),完成了對(duì)數(shù)據(jù)庫(kù)的基本操作,為下面的工作提供了最基本的功能。第五章系統(tǒng)用戶(hù)管理模塊的創(chuàng)建用戶(hù)管理模塊主要實(shí)現(xiàn)51用戶(hù)登錄該窗口中放置了三個(gè)靜態(tài)文本框(STATIC)控件,在窗口的相應(yīng)位置顯示文字。放置了2個(gè)編輯框(EDIT),一個(gè)供用戶(hù)輸入登錄的用戶(hù)名(M_USERNAME),另一個(gè)供用戶(hù)輸入口令(M_PASSWARD),這個(gè)編輯框的屬性要設(shè)成PASSWORD。輸入的值存放在編輯框控件對(duì)應(yīng)的變量中,另外還放置了兩個(gè)按鈕控件(BUTTON)。如圖5所示。52添加用戶(hù)為了數(shù)據(jù)庫(kù)使用的安全,允許的用戶(hù)和口令都預(yù)先存在數(shù)據(jù)庫(kù)中,如果要加入新的用戶(hù),必須修改數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表。53修改用戶(hù)密碼為了保證數(shù)據(jù)庫(kù)的安全,有時(shí)候需要經(jīng)常修改用戶(hù)的口令。本系統(tǒng)可以在應(yīng)用程序執(zhí)行過(guò)程中修改當(dāng)前用戶(hù)的口令。程序清單CLOGINDLGCLOGINDLGCWNDPPARENT/NULL/CDIALOGCLOGINDLGIDD,PPARENT/AFX_DATA_INITCLOGINDLGM_SPWD_T“M_SUSER_T“ADMINISTRATOR“/AFX_DATA_INITVOIDCLOGINDLGDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCLOGINDLGDDX_TEXTPDX,IDC_LOGIN_PWD,M_SPWDDDX_TEXTPDX,IDC_LOGIN_USER,M_SUSER/AFX_DATA_MAPBEGIN_MESSAGE_MAPCLOGINDLG,CDIALOG/AFX_MSG_MAPCLOGINDLGON_BN_CLICKEDIDC_LOGIN_CAPTION,ONLOGINCAPTION/AFX_MSG_MAPEND_MESSAGE_MAP/CLOGINDLGMESSAGEHANDLERSVOIDCLOGINDLGONOK/TODOADDEXTRAVALIDATIONHERE/CHECKUSERNAMEVADILATYUPDATEDATATRUEM_SUSERTRIMRIGHT“IF“M_SUSERAFXMESSAGEBOX_T“請(qǐng)?zhí)顚?xiě)用戶(hù)名“,MB_ICONEXCLAMATIONRETURN_VARIANT_THOLDER,STRQUERYSTRQUERY“SELECTUSER_ID,USER_PWDFROMUSER_INFOWHEREUSER_ID“M_SUSER“THEAPPADOEXECUTETHEAPPM_PADOSET,STRQUERYINTICOUNTTHEAPPM_PADOSETGETRECORDCOUNTIF0ICOUNTTHEAPPM_ILOGINCOUNTIFTHEAPPM_ILOGINCOUNT2AFXMESSAGEBOX“沒(méi)有這個(gè)用戶(hù)N三次輸入均不正確,請(qǐng)核對(duì)后再來(lái)“,MB_ICONEXCLAMATIONCDIALOGONCANCELRETURNAFXMESSAGEBOX“沒(méi)有這個(gè)用戶(hù),請(qǐng)重新輸入用戶(hù)名“,MB_ICONEXCLAMATIONRETURNCSTRINGSPWDTHEAPPM_PADOSETMOVEFIRSTHOLDERTHEAPPM_PADOSETGETCOLLECT“USER_PWD“SPWDHOLDERVTVT_NULL“CHAR_BSTR_THOLDERIF0SPWDCOMPAREM_SPWDTHEAPPM_ILOGINCOUNTIFTHEAPPM_ILOGINCOUNT2AFXMESSAGEBOX“輸入密碼不正確N三次輸入均不正確,請(qǐng)核對(duì)后再來(lái)“,MB_ICONEXCLAMATIONCDIALOGONCANCELRETURNAFXMESSAGEBOX“輸入密碼不正確,請(qǐng)重新輸入“,MB_ICONEXCLAMATIONRETURN/GETLOGINUSERTHEAPPM_SCURRENTUSERM_SUSERCDIALOGONOKBOOLCLOGINDLGONINITDIALOGCDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHERECEDITGETDLGITEMIDC_LOGIN_USERSETLIMITTEXT15CEDITGETDLGITEMIDC_LOGIN_PWDSETLIMITTEXT10/SETCAPTIONFONT/CFONTM_FONTM_FMYFONTCREATEPOINTFONT180,“華文彩云“,NULLCSTATICGETDLGITEMIDC_LOGIN_CAPTIONSETFONTRETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL/EXCEPTIONOCXPROPERTYPAGESSHOULDRETURNFALSEVOIDCLOGINDLGONLOGINCAPTION/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERE第六章倉(cāng)庫(kù)管理系統(tǒng)的基本信息模塊的創(chuàng)建本系統(tǒng)的主窗體創(chuàng)建如下其運(yùn)行的部分代碼如下所示CMAINFRAMECMAINFRAME/TODOADDMEMBERINITIALIZATIONCODEHERECMAINFRAMECMAINFRAMEINTCMAINFRAMEONCREATELPCREATESTRUCTLPCREATESTRUCTIFCFRAMEWNDONCREATELPCREATESTRUCT1RETURN1IFM_WNDSTATUSBARCREATETHIS|M_WNDSTATUSBARSETINDICATORSINDICATORS,SIZEOFINDICATORS/SIZEOFUINTTRACE0“FAILEDTOCREATESTATUSBARN“RETURN1/FAILTOCREATEM_BMPBKLOADBITMAPIDB_BITMAP_FLASHRETURN0BOOLCMAINFRAMEPRECREATEWINDOWCREATESTRUCT/TODOMODIFYTHEWINDOWCLASSORSTYLESHEREBYMODIFYING/THECREATESTRUCTCSRETURNTRUE物資基本信息模塊的創(chuàng)建物資基本信息管理模塊主要實(shí)現(xiàn)如下功能添加物資基本信息。修改物資基本信息。刪除物資基本信息。查詢(xún)物資基本信息。61添加物資基本信息對(duì)話(huà)框的創(chuàng)建選擇“物資基本信息管理/添加物資基本信息”菜單,將會(huì)出現(xiàn)圖6所示的對(duì)話(huà)框圖6添加物資基本信息對(duì)話(huà)框在這個(gè)對(duì)話(huà)框上面放置多個(gè)文本框,用來(lái)輸入物資基本信息放置兩個(gè)按鈕,用來(lái)確定是否添加物資基本信息多個(gè)標(biāo)簽,用來(lái)提示文本框中需要輸入的內(nèi)容。這些控件的屬性見(jiàn)表7添加物資基本信息對(duì)話(huà)框中各個(gè)控件的屬性設(shè)置控件屬性IDLABEL1物資編號(hào)IDC_STATICLABEL2物資名稱(chēng)IDC_STATICLABEL3規(guī)格型號(hào)IDC_STATICLABEL4類(lèi)別IDC_STATICLABEL5計(jì)量單位IDC_STATICEDITBOX1IDC_BASICINFO_WZIDEDITBOX2IDC_BASICINFO_WZNAMEEDITBOX3IDC_BASICINFO_WZSPECEDITBOX4IDC_BASICINFO_WZKINDEDITBOX5IDC_BASICINFO_WZUNITBUTTON1IDOKBUTTON2IDCANCEL選擇“VIEW/CLASSWIZARD菜單,然后選擇“MESSAGEMAPS”標(biāo)簽頁(yè),在“CLASSNAME”下拉列表中選“ADDBASICINFO”選項(xiàng),在左邊的“OBJECTIDS”中選擇IDOK,然后雙擊右邊“MESSAGES”中的BN_CLICKED添加ONOK函數(shù),在左邊選擇ADDBASICINFO,然后在右邊雙擊選擇WM_INITDIALOG,添加ONINITDIALOG函數(shù),選擇“MEMBERVARIABLES”標(biāo)簽頁(yè),在“CLASSNAME”下拉列表中仍然選擇“ADDBASICINFO”,雙擊“CONTROLIDS”中每一個(gè)ID,添加變量,除了使用這種方法添加變量和函數(shù)以外,用鼠標(biāo)右鍵單擊ADDBASICINFO為,選擇彈出菜單中的“ADDMEMBERVARIABLE”命令,然后在彈出對(duì)話(huà)框中添加變量。對(duì)話(huà)框初始化的時(shí)候,根據(jù)變量M_BAPPEND來(lái)判斷是添加還是修改,并顯示相應(yīng)狀態(tài)。為了響應(yīng)ADDBASICINFO類(lèi)對(duì)話(huà)框的初始化事件,為ONINITDIALOG函數(shù),添加如下代碼BOOLADDBASICINFOONINITDIALOGCDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHERECEDITGETDLGITEMIDC_BASICINFO_WZIDSETLIMITTEXT50CEDITGETDLGITEMIDC_BASICINFO_WZNAMESETLIMITTEXT50CEDITGETDLGITEMIDC_BASICINFO_WZSPECSETLIMITTEXT50CEDITGETDLGITEMIDC_BASICINFO_WZKINDSETLIMITTEXT50CEDITGETDLGITEMIDC_BASICINFO_WZUNITSETLIMITTEXT50IFM_BAPPEND/更新對(duì)話(huà)框?qū)傩許ETWINDOWTEXT_T“添加物資基本信息“ELSE/更新對(duì)話(huà)框?qū)傩許ETWINDOWTEXT_T“修改物資基本信息“RETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL/EXCEPTIONOCXPROPERTYPAGESSHOULDRETURNFALSE為了響應(yīng)“確定”按鈕的單擊事件,為ONOK函數(shù)添加如下代碼VOIDADDBASICINFOONOK/TODOADDEXTRAVALIDATIONHEREUPDATEDATATRUEM_WZIDTRIMRIGHT“M_WZNAMETRIMRIGHT“M_WZKINDTRIMRIGHT“M_WZSPECTRIMRIGHT“M_WZUNITTRIMRIGHT“/確定所有輸入有效CSTRINGSWARNING“IF“M_WZIDSWARNING_T“物資編號(hào)“ELSEIF“M_WZNAMESWARNING_T“物資名稱(chēng)“ELSEIF“M_WZKINDSWARNING_T“類(lèi)別“ELSEIF“M_WZSPECSWARNING_T“規(guī)格型號(hào)“ELSEIF“M_WZUNITSWARNING_T“計(jì)量單位“IF“SWARNINGSWARNING_T“不能為空“AFXMESSAGEBOXSWARNING,MB_ICONEXCLAMATIONRETURN_VARIANT_TSTRQUERYIFM_BAPPEND/判斷物資唯一性STRQUERY“SELECTFROMMATERIALWHEREWZID“M_WZID“THEAPPADOEXECUTETHEAPPM_PADOSET,STRQUERYINTICOUNTTHEAPPM_PADOSETGETRECORDCOUNTIF0ICOUNTAFXMESSAGEBOX_T“已經(jīng)存在此物資的記錄“,MB_ICONEXCLAMATIONRETURNIFM_BAPPENDSTRQUERY“INSERTMATERIALWZID,WZNAME,WZSPEC,WZKIND,WZUNITVALUES“M_WZID“,“M_WZNAME“,“M_WZSPEC“,“M_WZKIND“,“M_WZUNIT“IFTHEAPPADOEXECUTETHEAPPM_PADOSET,STRQUERYAFXMESSAGEBOX_T“添加記錄成功“,MB_ICONINFORMATION/清空輸入數(shù)據(jù)M_WZIDM_WZNAMEM_WZSPECM_WZKINDM_WZUNIT“UPDATEDATAFALSEELSEAFXMESSAGEBOX_T“添加記錄失敗“,MB_ICONEXCLAMATIONELSE/修改記錄STRQUERY“UPDATEMATERIALSETWZNAME“M_WZNAME“,WZSPEC“M_WZSPEC“,WZUNIT“M_WZUNIT“,WHEREWZID“M_WZID“IFTHEAPPADOEXECUTETHEAPPM_PADOSET,STRQUERYAFXMESSAGEBOX_T“修改記錄成功“,MB_ICONINFORMATIONELSEAFXMESSAGEBOX_T“修改記錄失敗“,MB_ICONEXCLAMATION/REFRESHROOMTYPELISTCMATERIAL_MISVIEWPCMATERIAL_MISVIEWCMAINFRAMEAFXGETMAINWNDGETACTIVEVIEWPREFRESHMATERIALIFM_BAPPENDCDIALOGONOK這個(gè)函數(shù)首先判斷是否輸入了內(nèi)容,然后才進(jìn)行下一下。在物資管理中,所有物資都有唯一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省廈門(mén)市英才學(xué)校2026屆生物高一下期末聯(lián)考模擬試題含解析
- 2026屆廣東省佛山市南海區(qū)高一數(shù)學(xué)第二學(xué)期期末預(yù)測(cè)試題含解析
- 2026屆甘肅省慶陽(yáng)市鎮(zhèn)原縣鎮(zhèn)原中學(xué)高一下數(shù)學(xué)期末質(zhì)量檢測(cè)試題含解析
- 2025年日照小學(xué)直播教師筆試真題及答案
- 2025年阿拉爾事業(yè)編考試真題及答案
- 2025年港城市場(chǎng)營(yíng)銷(xiāo)面試題庫(kù)及答案
- 2025年伊春嘉蔭縣事業(yè)單位考試及答案
- 2025年淄礦集團(tuán)定向生筆試及答案
- 2025年瀘溪縣招教考試備考題庫(kù)帶答案解析(奪冠)
- 2024年理塘縣招教考試備考題庫(kù)附答案解析
- 學(xué)校中層管理崗位職責(zé)及分工明細(xì)(2026年版)
- 莆田春節(jié)習(xí)俗介紹
- 江蘇省南京市2025屆中考化學(xué)試卷(含答案)
- 飛行固模課件
- 2025年中考英語(yǔ)真題完全解讀(重慶卷)
- 學(xué)前教育創(chuàng)意短片
- 2026年短視頻合作合同
- 建筑臨時(shí)設(shè)施設(shè)計(jì)方案
- 污水廠(chǎng)春節(jié)復(fù)工安全培訓(xùn)課件
- 電場(chǎng)防寒防凍知識(shí)培訓(xùn)課件
- 審貸分離管理辦法
評(píng)論
0/150
提交評(píng)論