版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、編號:0704040111 畢業(yè)論文(設計)題目 企業(yè)庫存及銷售管理軟件開發(fā) 院 (系) 計算機與信息工程學院 專 業(yè) 信息工程 學生姓名 成 績 指導教師 (職稱) 講師 2011年6月 日i 北京工商大學畢業(yè)論文(設計)誠信聲明本人鄭重聲明:所呈交的畢業(yè)設計(論文)是我個人在導師指導下, 由我本人獨立完成。有關觀點、方法、數(shù)據(jù)和文獻等的引用已在文中指出,并與參考文獻相對應。據(jù)我查證,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表和撰寫的研究成果,也不包含為獲得其他教育機構(gòu)的學位或證書而使用過的材料。 我承諾,論文中的所有內(nèi)容均真實、可信。如在文中涉及到抄襲或剽竊行為,本人愿
2、承擔由此而造成的一切后果及責任。畢業(yè)論文(設計)作者簽名: 簽名日期:2011年 6月 日摘 要企業(yè)庫存銷售管理系統(tǒng)使中小企業(yè)經(jīng)營者逐漸認識到轉(zhuǎn)變企業(yè)經(jīng)營管理理念,改善企業(yè)經(jīng)營管理模式是企業(yè)適應時代的發(fā)展急需解決的問題?,F(xiàn)代管理,應該建立在真實、有效的數(shù)據(jù)信息基礎之上,應該是一種科學的、理性的管理體制,而這種管理與經(jīng)營的聯(lián)系與互助,又必須依賴于計算機的強大的數(shù)據(jù)統(tǒng)計功能,計算機管理系統(tǒng)便是實際的企業(yè)進銷問題與計算機強大數(shù)據(jù)統(tǒng)計功能相結(jié)合的產(chǎn)物。本系統(tǒng)為中小企業(yè)提供庫存、銷售的管理,包括員工信息、客戶信息、商品信息、供應商信息。能夠?qū)崿F(xiàn)商品的入庫和出庫管理,以及銷售情況的管理。方便企業(yè)管理著管理
3、庫存和商品的流動。減輕管理人員的工作壓力,避免出錯,加強行業(yè)內(nèi)競爭實力,不斷提升企業(yè)的競爭力,也可以有更多的時間考慮如何進一步提高工效,提升公司服務質(zhì)量和降低成本,做到不斷改善。關鍵詞:企業(yè);庫存;銷售;管理 abstractthe management system of inventory and sale of the enterprise makes the managers of the small and medium enterprises gradually to realize that changing the management ideas and the operat
4、ion models is the problem which should be solved immediately by the enterprises for adapting to the development of the era.modern management should base on real and effective data information, and it is a kind of scientific and rational management system. the relations and the mutual corporations be
5、tween the management and the operation must be relied on the powerful functions of the data statistics of the computers. therefore, the computer management system is the combination of the real purchasing-selling-stock problem of the enterprises and the powerful data statistical function of the comp
6、uter. this system is aimed to provide the management of the stock and sales of the small and medium enterprises, including the information of the employees, customers, commodities, and the suppliers. it can achieve the goals of managing the receiving and exhausting of the commodities, and the sales
7、of them. this system also provides an easier way for managers to effectively control the stock and the flow of the products and alleviates the stress of the mangers. what is more, it can help the employees to avoid of making mistakes, improve the competitive strengthen of its own and within the indu
8、stry. therefore, by using this system, the enterprise can have more time to consider about how to improve the construction efficiency, advance the service quality and lower the cost, and continue to be evolving. key words: enterprise; stock; sales; management 目 錄第一章 緒論11.1引言11.2國內(nèi)外發(fā)展概況11.3本課題的研究內(nèi)容21
9、.4本文的組織結(jié)構(gòu)2第二章 軟件開發(fā)的技術基礎42.1程序開發(fā)工具microsoft visual c+ 6.042.2數(shù)據(jù)庫軟件 sql server200052.3系統(tǒng)需求分析6第三章 軟件的總體設計73.1軟件整體規(guī)劃73.2開發(fā)及運行環(huán)境73.3系統(tǒng)功能結(jié)構(gòu)83.4設計目標8第四章 軟件的詳細設計94.1數(shù)據(jù)庫設計94.1.1數(shù)據(jù)庫概要說明94.1.2主要數(shù)據(jù)表的結(jié)構(gòu)94.2主窗口設計124.2.1菜單設計124.2.2狀態(tài)欄設計134.2.3客戶區(qū)設計174.3系統(tǒng)登錄管理174.3.1實現(xiàn)目標174.3.2設計步驟174.3.3程序相關代碼184.4商品銷售管理224.5商品入庫管
10、理36第五章 總結(jié)與展望465.1論文總結(jié)465.2進一步的研究及展望46致 謝47參考文獻48附 錄49附錄 翻譯49中文翻譯49英文原文53第一章 緒論1.1引言企業(yè)經(jīng)營如逆水行舟不進則退。每一個努力發(fā)展的企業(yè)都明白,先進管理的重要作用,引進先進管理系統(tǒng)使企業(yè)經(jīng)營變得規(guī)范、合理。企業(yè)庫存及銷售管理軟件無論是在功能設計還是業(yè)務流程上都盡可能做到滿足經(jīng)營管理運作流程的需求,并且操作方便、功能強大,即使操作者對計算機知識一竅不通也能一用就會。它強化庫存管理,規(guī)范業(yè)務流程,提高資金管理的透明度,加快商品資金周轉(zhuǎn),是企業(yè)經(jīng)營管理中數(shù)據(jù)分析中必不可少的管理工具。1.2國內(nèi)外發(fā)展概況計算機在管理中的應用
11、開始于1954年,當時美國首先用計算機處理工資單。40多年來,計算機在處理管理信息方面發(fā)展迅速。例如,60年代美國計算機在管理中應用項目不到300項,到了1975年達到2670項。而現(xiàn)在,美國在財務會計上90%的工作由計算機完成;物資管理中80%100%的信息處理由計算機完成;計劃管理中是80%90%。據(jù)計算機應用方面發(fā)展較快的國家統(tǒng)計,計算機用于經(jīng)濟管理的約占80%;用于科技運算的占8%;用于生產(chǎn)過程控制的占12%。因此,經(jīng)濟管理是計算機應用的主要領域。當然,由于庫存管理在經(jīng)濟管理中占重要地位,其計算機化在發(fā)達國家中也已經(jīng)達到了相當高的水平。我國在全國范圍內(nèi)推廣計算機在管理中的應用,是在70
12、年代末開始的,雖然起步較晚,近幾年發(fā)展卻較快,特別是微型計算機的出現(xiàn)和普及為信息處理提供了物美價廉的手段,對于推動我國管理信息處理的現(xiàn)代化起了重要的作用。目前存在的問題:庫存管理對企業(yè)來說是一項繁瑣復雜的工作,每天要處理大量的單據(jù)數(shù)據(jù)。為及時結(jié)清每筆業(yè)務,盤點庫存和貨物流動情況,保證企業(yè)生產(chǎn)用料以及貨物安全,庫管人員要花費大量人力物力和時間來作數(shù)據(jù)記錄統(tǒng)計工作。在世界發(fā)達國家,庫存管理的計算機化水平已經(jīng)很高了,盡管我國的生產(chǎn)企業(yè)在這方面也有了很強的意識和長足的進步,但仍存在這樣、那樣的一些問題。表現(xiàn)之一:有的企業(yè)單位的庫存管理部分目前仍為手工、半手工操作。從供應單位辦理入庫登記開始,到使用單位
13、輸領料出庫手續(xù)為止,所有操作基本上都是由倉庫管理人員筆寫,手理,加上算盤、計算器來完成。這不僅繁鎖,效率低,而且缺乏庫存管理的一些基本手段,如庫存狀況統(tǒng)計,查詢經(jīng)濟訂貨量計算等,這給企業(yè)在一定程度上造成了管理上的落后,及經(jīng)濟利益上的損失。表現(xiàn)之二為:有的單位的庫存管理部已上了微機,但對微機的利用效率極低,有的在用它打游戲,有的僅把它當計算器或打字機來用。表現(xiàn)之三為:有的企業(yè)單位既有了微機同時也有了庫存管理軟件,但硬件上去了,軟件上不去。因為他們用的庫存管理軟件,大多為自己的工作人員及其他一些非專業(yè)人員所開發(fā)的簡單的管理程序,很難稱得上是“庫存管理信息系統(tǒng)軟件”這些程序的弱點多表現(xiàn)為:1)系統(tǒng)開
14、發(fā)時無科學的理論支持。2)開發(fā)過程中調(diào)研不全面。3)軟件編寫時模型不清晰完整。4)所用開發(fā)工具落后(如foxbase等)。1.3本課題的研究內(nèi)容本文對企業(yè)庫存及銷售管理軟件開發(fā),通過企業(yè)庫存及銷售管理軟件減輕管理人員的工作壓力,避免出錯。管理信息化與管理改進緊密結(jié)合,可以促進企業(yè)的管理規(guī)范化,提高企業(yè)運作效率和競爭力,企業(yè)可以有時間關注企業(yè)的發(fā)展,加強行業(yè)內(nèi)競爭實力,不斷提升企業(yè)的競爭力,也可以有更多的時間考慮如何進一步提高工效,提升公司服務質(zhì)量和降低成本,做到不斷改善。從概念上講,企業(yè)庫存及銷售管理軟件軟件是為了使公司項目能夠按照預定的成本、進度、質(zhì)量順利完成,而對成本、人員、質(zhì)量、風險等進
15、行分析和管理的活動。實際上,企業(yè)庫存及銷售管理軟件的意義不僅僅如此,企業(yè)庫存及銷售管理軟件有利于將企業(yè)的管理能力提高高,表明這個企業(yè)的管理越趨向于成熟,企業(yè)越能夠穩(wěn)定發(fā)展(即減小風險)。同時,隨著公司規(guī)模的逐漸增大,企業(yè)庫存及銷售管理不再是向過去那樣幾個管理人員可解決的事情。迫切需要一種管理規(guī)范來規(guī)范每個管理人員、銷售人員與支持人員的工作。同時采用規(guī)范化管理,專業(yè)分工也可以降低對開發(fā)人員的要求,從而降低企業(yè)的成本。1.4本文的組織結(jié)構(gòu)本文的第一章如上述,通過引言引出本課題的意義,接下來介紹了畢業(yè)設計的背景及分析,課題的主要內(nèi)容和論文的構(gòu)成及研究內(nèi)容。第二章詳述了系統(tǒng)開發(fā)工具的基礎。包括網(wǎng)頁開發(fā)
16、工具microsoft visual c+ 6.0的特點,數(shù)據(jù)庫軟件sql server2000的功能,為接下來的開發(fā)工作做好了鋪墊。第三章是系統(tǒng)總體設計,首先做出了系統(tǒng)的可行性分析和需求分析,并且介紹了系統(tǒng)的開發(fā)環(huán)境以及運行環(huán)境,接下來為系統(tǒng)的功能做出了詳細的說明,還對系統(tǒng)的架構(gòu)進行了詳細的闡述。第四章作為系統(tǒng)的詳細設計,首先介紹了系統(tǒng)數(shù)據(jù)庫分析和系統(tǒng)數(shù)據(jù)庫設計,而后對系統(tǒng)的主頁與整體風格進行說明。第五章作為總結(jié)。第二章 軟件開發(fā)的技術基礎2.1程序開發(fā)工具microsoft visual c+ 6.0visual c+是一個功能強大的可視化軟件開發(fā)工具。自1993年microsoft公司推
17、出visual c+1.0后,隨著其新版本的不斷問世,visual c+已成為專業(yè)程序員進行軟件開發(fā)的首選工具。雖然微軟公司推出了visual c+.net(visual c+7.0),但它的應用的很大的局限性,只適用于windows 2000,windows xp和windows nt4.0。所以實際中,更多的是以visual c+6.0為平臺。visual c+6.0不僅是一個c+編譯器,而且是一個基于windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,ide)。visual c+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序
18、向?qū)ppwizard、類向?qū)lass wizard等開發(fā)工具。 這些組件通過一個名為developer studio的組件集成為和諧的開發(fā)環(huán)境。visual c+它大概可以分成三個主要的部分:developer studio,這是一個集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的,再加上它的標題赫然寫著“microsoft visual c+”,所以很多人理所當然的認為,那就是visual c+了。其實不然,雖然developer studio提供了一個很好的編輯器和很多wizard,但實際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會介紹。我們也知道,devel
19、oper studio并不是專門用于vc的,它也同樣用于vb,vj,vid等visual studio家族的其他同胞兄弟。所以不要把developer studio當成visual c+, 它充其量只是visual c+的一個殼子而已。mfc,從理論上來講,mfc也不是專用于visual c+,borland c+,c+builder和symantec c+同樣可以處理mfc。同時,用visual c+編寫代碼也并不意味著一定要用mfc,只要愿意,用visual c+來編寫sdk程序,或者使用stl,atl,一樣沒有限制。不過,visual c+本來就是為mfc打造的,visual c+中的許
20、多特征和語言擴展也是為mfc而設計的,所以用visual c+而不用mfc就等于拋棄了visual c+中很大的一部分功能。但是,visual c+也不等于mfc。platform sdk。這才是visual c+和整個visual studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,platform sdk是以microsoft c/c+編譯器為核心(不是visual c+,看清楚了),配合masm,輔以其他一些工具和文檔資料。上面說到developer studio沒有編譯程序的功能,那么這項工作是由誰來完成的呢?是cl,是nmake,和其他許許多多命令行程序,這些我們看不到的
21、程序才是構(gòu)成visual studio的基石。2.2數(shù)據(jù)庫軟件 sql server2000sql server 2000 是microsoft 公司推出的sql server 數(shù)據(jù)庫管理系統(tǒng)的一個版本。該版本繼承了sql server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能,具有使用方便,可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行microsoft windows 98 的膝上型電腦到運行microsoft windows 2000 的大型多處理器的服務器等多種平臺使用。sql server 2000 的特性microsoft sql serve 2000 的特性包括:i
22、nternet 集成。sql server 2000 數(shù)據(jù)庫引擎提供完整的xml 支持。它還具有構(gòu)成最大的web 站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能。sql server 2000 程序設計模型與 windows dna 構(gòu)架集成,用以開發(fā) web 應用程序,并且sql server 2000 支持 english query 和 microsoft 搜索服務等功能,在web 應用程序中包含了用戶友好的查詢和強大的搜索功能。可伸縮性和可用性。同一個數(shù)據(jù)庫引擎可以在不同的平臺上使用,從運行 microsoft windows® 98 的便攜式電腦,到運行 microsof
23、t windows 2000 數(shù)據(jù)中心版的大型多處理器服務器。sql server 2000 企業(yè)版支持聯(lián)合服務器、索引視圖和大型內(nèi)存支持等功能,使其得以升級到最大 web 站點所需的性能級別。企業(yè)級數(shù)據(jù)庫功能。sql server 2000 關系數(shù)據(jù)庫引擎支持當今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護數(shù)據(jù)完整性,同時將管理上千個并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。sql server 2000 分布式查詢使您得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好象這些數(shù)據(jù)是 sql server 2000 數(shù)據(jù)庫的一部分,同時分布式事務支持充分保護任何分布式數(shù)據(jù)更新的完整性。復制同樣使您得以維護多個數(shù)
24、據(jù)復本,同時確保單獨的數(shù)據(jù)復本保持同步??蓪⒁唤M數(shù)據(jù)復制到多個移動的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務器。易于安裝、部署和使用。 sql server 2000 中包括一系列管理和開發(fā)工具,這些工具可改進在多個站點上安裝、部署、管理和使用 sql server 的過程。sql server 2000 還支持基于標準的、與 windows dna 集成的程序設計模型,使 sql server 數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強大的可伸縮系統(tǒng)的無縫部分。這些功能使您得以快速交付 sql server 應用程序,使客戶只需最少的安裝和管理開銷即可實現(xiàn)這些應用程序。數(shù)據(jù)倉
25、庫。 sql server 2000 中包括析取和分析匯總數(shù)據(jù)以進行聯(lián)機分析處理 (olap) 的工具。sql server 中還包括一些工具,可用來直觀地設計數(shù)據(jù)庫并通過 english query 來分析數(shù)據(jù)。2.3系統(tǒng)需求分析根據(jù)設計的需求,要求系統(tǒng)具有以下功能:實現(xiàn)商品入庫、入庫退貨操作。實現(xiàn)商品銷售、銷售退貨操作。實現(xiàn)庫存管理(調(diào)貨、盤點)操作。第三章 軟件的總體設計 3.1軟件整體規(guī)劃根據(jù)需求分析,設計系統(tǒng)框架。進銷存管理系統(tǒng)由等8部分組成。設計各部分具體功能如下:1.基礎信息模塊:基礎信息模塊包括藥品信息、員工信息、供應商信息和客戶信息4部分。2.銷售模塊:銷售模塊由銷售登記、銷
26、售退貨、銷售查詢、銷售退貨查詢4部分。3.入庫模塊:入庫模塊主要由入庫登記、入庫退貨、入庫查詢、入庫退貨查詢4組成。4.調(diào)貨模塊:調(diào)貨模塊包含調(diào)貨登記和調(diào)貨查詢兩部分。5.庫存模塊:庫存模塊由庫存盤點、庫存查詢、倉庫管理3部分組成。6.系統(tǒng)管理模塊:系統(tǒng)管理模塊由修改用戶密碼、修改用戶權限、修改用戶3部分組成。 3.2開發(fā)及運行環(huán)境1硬件要求cpu:300mhz以上的處理器。內(nèi)存:推薦256mb。硬盤:150mb以上剩余空間。2軟件要求操作系統(tǒng):windows2000/nt/xp/數(shù)據(jù)庫:sql server2000。開發(fā)工具:microsoft visual c+ 6.0。 3.3系統(tǒng)功能結(jié)
27、構(gòu)進銷存管理系統(tǒng)的功能結(jié)構(gòu)如圖3.1所示:圖3.1功能結(jié)構(gòu)圖3.4設計目標本系統(tǒng)是根據(jù)中小企業(yè)的實際需求而開發(fā)的,完全能夠?qū)崿F(xiàn)商品入庫、銷售管理,通過本系統(tǒng)可以達到以下目標:系統(tǒng)運行穩(wěn)定,安全可靠;界面設計美觀,人機交互界面友好;信息查詢靈活、方便、快捷、準確,數(shù)據(jù)存儲安全可靠;信息安全保密。第四章 軟件的詳細設計4.1數(shù)據(jù)庫設計4.1.1數(shù)據(jù)庫概要說明本系統(tǒng)采用sql server 2000 數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名為ypgl,總共包含46個表,其中作為臨時表的有20個,作為數(shù)據(jù)存儲表的有26個。臨時表:lsdhinfo0、lsdhinfo1、lsgys0、lsgys1、lskcquery0、l
28、skcquery1、lsrkquery1等。數(shù)據(jù)存儲表:tabbf、tabck、tabdhdj、tabdhph、tabgys、tabjsfs、tabkc、tabkcpddj、tabkcpdph、tabkh、tabpurview、tabpurviewctrl、tabrkdj、tabrkjz、tabrkph、tabrkthdj、tabrkthjz、tabrkthph等。圖2所示的即為本系統(tǒng)中數(shù)據(jù)庫的數(shù)據(jù)表結(jié)構(gòu)圖,該數(shù)據(jù)表結(jié)構(gòu)圖包含系統(tǒng)所有數(shù)據(jù)表。可以清晰地反應數(shù)據(jù)庫信息。圖4.1 數(shù)據(jù)庫概要說明4.1.2主要數(shù)據(jù)表的結(jié)構(gòu)由于篇幅有限,只給出部分數(shù)據(jù)表。下面分別介紹以下各個表的結(jié)構(gòu)。tabdhdj表
29、用于保存調(diào)貨登記信息。tabdhdj表的結(jié)構(gòu)如表4.1所示。表4.1 tabdhdj表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小可否為空說明dh_ph文本20not null調(diào)貨票號(主鍵)out_ck文本20not null調(diào)出的庫(外健)in_ck文本20not null調(diào)入的庫(外健)yp_id文本10not null藥品編號(外健)sl長整型null數(shù)量tabpurview表用于保存權限信息。tabpurview表的結(jié)構(gòu)如表4.2所示。表4.2 tabpurview表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小可否為空說明admi_name文本20not null用戶名(主鍵)admi_password文本25
30、5null用戶密碼admi_purview長整型not null用戶權限(外鍵)tabrkdj表用于保存入庫登記的相關信息。tabrkdj表的結(jié)構(gòu)如表4.3所示。表4.3 tabrkdj表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小可否為空說明rk_ph文本20not null入庫票號(外鍵)yp_id文本10not null藥品編號(外鍵)ck_name文本30not null倉庫名稱(外鍵)sl雙精度型null數(shù)量dj雙精度型null單價je雙精度型null金額tabrkjz表用于保存入庫結(jié)賬的相關信息。tabrkjz表的結(jié)構(gòu)如表4.4所示。表4.4 tabrkjz表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小可否為
31、空說明fk_ph文本20not null收款票號(主鍵)rk_ph文本20not null銷售票號(外鍵)je雙精度型null收款金額fs文本10null收款方式(外鍵)rq日期/時間not null結(jié)款日期czy文本20not null操作員(外鍵)jsr文本20not null經(jīng)手人bz文本100null備注tabrkph表用于保存入庫票號。tabrkph表的結(jié)構(gòu)如表4.5所示。表4.5 tabrkph表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小可否為空說明rk_ph文本20not null入庫票號(主鍵)gys_id文本10not null供應商編號(外鍵)pzs雙精度型null品種數(shù)yf雙精度型n
32、ull應付sf雙精度型null實付wf雙精度型null未付rq日期/時間not null日期jsfs文本10not null結(jié)算方式(外鍵)is_jq布爾型not null是否結(jié)清czy文本20not null操作員(外鍵)jsr文本20not null經(jīng)手人4.2主窗口設計進銷存管理系統(tǒng)主窗口由菜單、客戶區(qū)域和狀態(tài)欄三部分組成,效果如圖4.2所示。圖4.2 進銷存管理系統(tǒng)主窗口4.2.1菜單設計從菜單中選擇“view”/“workspace”項,這時會彈出如圖4.3所示的工作區(qū)窗口(workspace窗口)。在工作區(qū)窗口中,能看到該程序所使用的資源,且每種資源都有一個資源符號,主窗體也使用了
33、一個資源符號idd_a1_dialog,這是vc缺省提供的。可以在這里添加或者刪除各種資源。圖4.3 workspace窗口在工作區(qū)窗口(workspace窗口)右鍵單擊“a1 resources”選項,在彈出菜單中選擇“insert.”選項,將彈出“insert resource”對話框。在該對話框中選擇“menu”選項,然后單擊“new”按鈕,將生成如圖4.4所示的菜單資源。圖4.4 編輯菜單資源右鍵雙擊菜單資源編輯器的虛線空白框,在彈出的菜單中選擇“properties”選項,將彈出“menu item properties”對話框,在“menu item properties”對話框的
34、“caption”(標題)編輯框中鍵入:“基礎信息(&i)”(符號&可以使字母i有一個下劃線,而且可以通過“alt+i”訪問該菜單項。此時關閉“menu item properties”對話框,將在菜單編輯器中生成主菜單“基礎信息”。雙擊“基礎信息”菜單下的虛線空白框,在彈出的“menu item properties”對話框中設計“藥品信息(&m)”、“員工信息(&y)”等菜單項。同上,可以設計其他主菜單及菜單項。最后得到如圖4.5所示的菜單界面。圖4.5 菜單界面4.2.2狀態(tài)欄設計為使應用程序操作界面更加友好,可以使用狀態(tài)條顯示程序當前程序的狀態(tài)信息或提示信息。在vc中提供了cstatu
35、sbarctrl類顯示狀態(tài)欄。在本程序中利用狀態(tài)條顯示操作者、日期、時間等信息。其實還有cstatusbar類可以顯示狀態(tài)欄,但是這個類只能用于主框架(cframewnd)上。分析功能:顯示操作員名字、公司名稱及時間。其中,公司名稱是常量字符串,可以將其加為字符串資源;操作員名字,是登錄的用戶名,將其放在應用程序類中,這樣,就可以在程序的任何地方都可以訪問了;時間,需要設置ontimer時間來處理當時間改變時,刷新顯示。解決創(chuàng)建狀態(tài)欄的相關問題訪問應用程序?qū)ο蟆a1app* app=( ca1app *):afxgetapp();/app是應用程序?qū)ο笾羔?,可以訪問應用程序?qū)ο蟮某蓡T變量,例
36、如:messagebox(app-m_susername);訪問資源字符串。先在“workspace”中的“resource view”選項中建立字符串資源,定義符號ids_company,對應資源為“北京工商大學”。在程序中使用如下代碼:cstring str;str.loadstring(ids_company);str保存相應的字符串資源。將訪問時間轉(zhuǎn)化為字符串。ctime t=ctime:getcurrenttime();cstring s=t.format(%h:%m:%s);s=當前系統(tǒng)時間:+s; s會顯示為“當前系統(tǒng)時間:20:09:25”形式的字符串。ontimer消息響應函
37、數(shù)。為實現(xiàn)每隔1秒刷新一次狀態(tài)欄的顯示內(nèi)容,可以使用wm_timer的消息響應函數(shù)ontimer。要創(chuàng)建主窗體的ontimer函數(shù),首先在“workspace”工作區(qū)“class view”選項卡中右鍵單擊“ca1dlg”選項,在彈出菜單中選擇“add windows message handle.”菜單項,將彈出“new windows message and event handles for class caidlg”對話框。在該對話框中,可以選擇要進行處理的消息句柄,并為其添加消息響應函數(shù)。步驟是從左邊的列表框中雙擊“wm_timer”,將其添加到右上邊的列表框中,雙擊該列表框中的“w
38、m_timer”項,可以看到vc+創(chuàng)建的函數(shù)ontimer,可以設置這個函數(shù)每隔一定的時間響應一次。函數(shù)settimer來設置ontimer的消息響應頻率。uint settimer( uint nidevent, uint nelapse, void (callback export* lpfntimer)(hwnd, uint, uint, dword) );參數(shù)說明:nidevent:用來標識是哪一個timer事件。nelapse:設置該timer事件每隔多長時間發(fā)生一次,單位:毫秒。lpfntimer:設置回調(diào)函數(shù),用來響應事件的發(fā)生,相當于ontimer函數(shù)。如果將其設為null,那
39、么,wm_timer事件由窗口類來處理,即由ontimer函數(shù)處理。在本程序中,設定ontimer函數(shù)1000毫秒響應一次。settimer(12,1000,null);狀態(tài)欄類cstatusbarctrl的使用。crect rect;this-getclientrect(&rect);int indicators3;indicators0=rect.width()/2;indicators1=rect.width()*3/4;indicators2=rect.width();m_statusbarctrl.setparts(3,indicators);以上代碼用來初始化狀態(tài)欄,函數(shù)setpa
40、rts用來設定該狀態(tài)欄由幾個面板組成,每個面板的寬度。實際上,該函數(shù)用整型數(shù)組作參數(shù),數(shù)組元素的值代表面板的寬度。函數(shù)settext用來設定每個面板上顯示的數(shù)據(jù),代碼如下:lbool settext( lpctstr lpsztext, int npane, int ntype );參數(shù)說明:lpsztext:是該面板的字符串。npane:是面板編號(基于0)。ntype:是面板風格,該參數(shù)一般為0。創(chuàng)建狀態(tài)欄。創(chuàng)建狀態(tài)欄的操作步驟如下:在ca1dlg的聲明中定義cstatusbarctrl的對象:cstatusbarctrl*m_statusbarctrl。在ca1dlg的初始化函數(shù)中初始化
41、狀態(tài)欄對象,代碼如下:bool ca1dlg:oninitdialog()cdialog:oninitdialog();seticon(m_hicon, true);/set big iconseticon(m_hicon, false);/set small icon/取得系統(tǒng)時間ctime t=ctime:getcurrenttime();cstring s=t.format(%h:%m:%s);s=當前系統(tǒng)時間:+s;/為狀態(tài)欄創(chuàng)建窗體crect rect;this-getclientrect(&rect);m_statusbarctrl.create(ws_child|ws_visib
42、le|ccs_bottom,rect,this,id_status_bar_ctrl);/設置狀態(tài)欄的顯示區(qū)間數(shù),及相應寬度int indicators3;indicators0=rect.width()/2;indicators1=rect.width()*3/4;indicators2=rect.width();m_statusbarctrl.setparts(3,indicators);/顯示各區(qū)間文本str.loadstring(ids_company);m_statusbarctrl.settext(str,0,0);ca1app * app=( ca1app *):afxgetap
43、p();m_statusbarctrl.settext(當前操作員:+app-m_susername,1,0);m_statusbarctrl.settext(s,2,0);/令ca1dlg每一秒鐘觸發(fā)一次ontimer事件,修改系統(tǒng)時間this-settimer(12,1000,null);return true; /return true unless you set the focus to a control處理wm_timer消息的消息響應函數(shù)ontimer,代碼如下:void ca1dlg:ontimer(uint nidevent) ctime t=ctime:getcurren
44、ttime();cstring s=t.format(%h:%m:%s);s=當前系統(tǒng)時間:+s;this-m_statusbarctrl.settext(s,2,0);cdialog:ontimer(nidevent);4.2.3客戶區(qū)設計一個優(yōu)秀的商業(yè)管理系統(tǒng),不但要有實用的功能,還要有漂亮友好的界面。在本例中,設置窗體背景只需加入一個bitmap資源,其操作步驟如下:在資源對話框上放一個picture控件。然后加入一個需要的bitmap資源,如果圖片包含的顏色超過256種,那么它會提示該圖片不能在資源編輯器里編輯,不用管它,除非真的想編輯它,加進來的圖片的資源符號缺省為idb_bitma
45、p1。設置picture控件屬性類型為bitmap,圖像為idb_bitmap1。4.3系統(tǒng)登錄管理4.3.1實現(xiàn)目標程序啟動后,首先進入系統(tǒng)登錄程序驗證用戶密碼。系統(tǒng)登錄程序主要實現(xiàn)如下功能。輸入密碼的控件采用文本框。密碼如果輸入正確,取得用戶權限并進入系統(tǒng),否則,將提示錯誤,并返回密碼輸入框。記錄錯誤次數(shù),錄入密碼錯誤3次將自動退出系統(tǒng)。用戶按下enter鍵,控制焦點的移動。系統(tǒng)登錄程序運行結(jié)果如圖4.6所示。圖4.6 系統(tǒng)登錄窗口4.3.2設計步驟增加對話框資源,設計窗體資源符號為idd_dialog_login。為該窗口連接相關的類,在資源對話框上右鍵單擊,選擇“classwizard
46、.”選項,會彈出“add a class”對話框,提示idd_dialog_login是一個新的資源,需要為這個資源創(chuàng)建一個類,或為它連接一個現(xiàn)有類。在此,選擇新建一個派生于cdialog的類來連接該資源,該類命名為cdlglogin。向窗口中添加圖片、編輯框、靜態(tài)文本、按鈕等資源,設置主要資源屬性,如表4.6所示。表4.6 相關資源設置資源名稱資源符號資源對應的變量資源屬性bitmapjiemian無來自于文件jiemian.bmppictureidc_static無類型bitmap,圖像jiemianbuttonidok無缺省buttonidcancel無缺省static boxidc_s
47、tatic無標題為:請輸入用戶名和密碼:static boxidc_static無標題為:用戶名:static boxidc_static無標題為:密碼:edit boxidc_edit_namecedit m_editusername取消border,選上static edge”edit boxidc_edit_passwordcedit m_editpassword取消border,選上static edge”和password”4.3.3程序相關代碼系統(tǒng)登錄程序要在顯示主窗體之前顯示,系統(tǒng)登錄程序代碼如下:bool cmedapp:initinstance().lrunsql:initc
48、onnectptr(); /初始化com環(huán)境,進行數(shù)據(jù)庫連接cdlglogin dlg; /創(chuàng)建登錄窗口對象if(dlg.domodal()=idok) /顯示登錄窗口ca1dlg *pdlg=new ca1dlg; /創(chuàng)建主窗體對象m_pmainwnd = pdlg;pdlg-domodal(); /顯示主窗體delete pdlg;pdlg=null;lrunsql:close();/斷開數(shù)據(jù)庫連接return false;當用戶單擊“確定”按鈕時,進行密碼判斷和次數(shù)判斷。處理“確定“按鈕的消息響應函數(shù)如下:void cdlglogon:onok()bool blogon=false;cs
49、tring suserpassword, spurview,susername,sinputpassword;lrunsql m_runsql;cstring sql;_variant_t value;cstring serror;/更新數(shù)據(jù)變量this-m_editpassword.getwindowtext(sinputpassword);this-m_editusername.getwindowtext(susername);ca1app* app=(ca1app *)afxgetapp();sql.format(select admi_password,admi_purview fro
50、m tabpurview where admi_name=%s,susername);if(m_runsql.checksqlresult(sql)value=m_runsql.m_recordset-getcollect(admi_password);if(value.vt!=vt_null)suserpassword=(char*)(_bstr_t)value; value=m_runsql.m_recordset-getcollect(admi_purview);if(value.vt!=vt_null)spurview=(char*)(_bstr_t)value;if(suserpas
51、sword=ccrypt:encrypt(sinputpassword,123)app-m_susername=susername;app-m_spurview=spurview;blogon=true;elseserror=請重新輸入密碼。n注意大小寫!,密碼錯誤;this-m_editpassword.setfocus();elseserror=請確認用戶名大小寫是否正確!,無此用戶;this-m_editusername.setfocus();if(blogon) enddialog(idok);else m_ilogoncount+;if(m_ilogoncount=3)this-en
52、ddialog(0);elsemessagebox(serror);進行焦點控制。定義控制焦點的函數(shù),該函數(shù)定義了當用戶單擊enter鍵時,焦點改變的順序,當需要改變焦點時,調(diào)用此函數(shù)。bool cdlglogon:setthefocus()hwnd hwnd=:getfocus(); uint id=:getdlgctrlid(hwnd);switch(id)case idc_edit_name:this-m_editpassword.setfocus(); :postmessage(m_editpassword.getsafehwnd(),wm_keydown,vk_end,0);retu
53、rn true;case idc_edit_password: this-getdlgitem(idok)-setfocus();return true;case idok:this-onok();return true;case idcancel:this-oncancel();return true;return false;在消息預處理函數(shù)中調(diào)用此函數(shù)。bool cdlglogon:pretranslatemessage(msg* pmsg) if(pmsg-message=wm_keydown&pmsg-wparam=13)if(this-setthefocus()return true;return cdialog:pretranslatemessage(pmsg);/該函數(shù)返回true,表示該消息已被處理4.4商品銷售管理1實現(xiàn)目標自動生成銷售日期及銷售票號。確定用戶輸入數(shù)據(jù)完畢后,可提交數(shù)據(jù)給數(shù)據(jù)庫。自動核算銷售金額。銷售登記模塊運行結(jié)果如圖4.7所示。 圖4.7 銷售登記模塊運行結(jié)果2設計步驟新建一個窗口類,名稱為cd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)產(chǎn)品運輸聘用合同模板
- 農(nóng)藥設備安裝施工合同
- 正式版崗位協(xié)議書
- 設計委托合同范本法規(guī)
- 2024年遺傳病診斷基因檢測協(xié)議
- 住宅網(wǎng)絡布線施工合同
- 獨棟別墅交易合同范本
- 酒莊美麗鄉(xiāng)村施工合同
- 醫(yī)院鋼結(jié)構(gòu)施工承包合同
- 2024年股權轉(zhuǎn)讓合同范本:公司股權易主規(guī)定
- 新點軟件使用培訓課件
- ka賣場行業(yè)分析
- 產(chǎn)科護理疑難病例討
- 胃結(jié)石術后護理
- 消毒供應室述職報告
- 生產(chǎn)制程能力分析報告
- 投放自助洗衣機合同書
- 浙江省溫州市2023-2024學年七年級上學期期末數(shù)學試卷(含答案)
- 汽車音箱營銷方案
- 山東省菏澤市單縣2023-2024學年八年級上學期1月期末數(shù)學試題
- 統(tǒng)編版六年級語文上冊專項 專題07修辭手法-原卷版+解析
評論
0/150
提交評論