畢業(yè)論文-超市進存銷管理系統(tǒng)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  摘要</b></p><p>  “超市進存銷管理系統(tǒng)”是專門針對醫(yī)藥中小型超市的綜合業(yè)務而開發(fā)的綜合商品管理系統(tǒng)。該軟件集進、銷、存一體化。本軟件的前臺采用目前最流行的面向?qū)ο蟮木幊陶ZVisual C++ 6.0開發(fā),后臺采用Access數(shù)據(jù)庫。軟件的界面美觀大方,軟件運行穩(wěn)定。</p><p>  Visual C++是Microso

2、ft公司推出的面向?qū)ο蟮?、功能強大的可視化軟件開發(fā)工具,它將程序設計方法與可視的軟件開發(fā)環(huán)境完美結合,受到眾多程序設計人員的喜愛。使用Visual C++開發(fā) Windows應用程序主要有兩種方法,一種是使用Windows提供的Windows API函數(shù);另一種是直接使用Microsoft提供的MFC類庫。</p><p>  “超市進存銷管理系統(tǒng)”軟件有以下特點有:功能強大、使用效率高、系統(tǒng)結構靈活、用戶界面操

3、作簡潔、系統(tǒng)性能穩(wěn)定。</p><p>  該系統(tǒng)主要由:基礎信息管理、銷售管理、入庫管理、調(diào)貨管理、入庫管理、調(diào)貨管理、庫存管理、結帳管理、帳務管理、系統(tǒng)管理組成。</p><p><b>  功能如下:</b></p><p>  基礎信息管理:商品信息管理、員工信息管理、供應商信息管理、客戶信息管理。</p><p&g

4、t;  銷售管理:銷售登記、銷售退貨、銷售查詢、銷售退貨查詢、銷售退貨查詢。</p><p>  入庫管理:入庫登記、入庫退貨、入庫查詢、入庫退貨查詢。</p><p>  調(diào)貨管理:調(diào)貨登記、調(diào)貨查詢。</p><p>  庫存管理:庫存盤點、庫存查詢、倉庫管理。</p><p>  結帳管理:銷售結帳、銷售退貨結帳、入庫結帳、入庫退貨結帳

5、。</p><p>  賬務管理:日結算管理、月結算管理、供應商往來賬、客戶往來賬。</p><p>  系統(tǒng)管理:修改用戶密碼、修改權限設置、修改用戶、數(shù)據(jù)備份。</p><p><b>  目錄</b></p><p>  第一章 引言 1.1本課題的研究意義 1.2本論文的目的、內(nèi)

6、容及作者的主要貢獻第二章 研究現(xiàn)狀及設計目標 2.1相近研究課題的特點及優(yōu)缺點分析 2.2現(xiàn)行研究存在的問題及解決辦法 2.3本課題要達到的設計目標第三章 要解決的幾個關鍵問題 3.1研究設計中要解決的問題 3.2具體實現(xiàn)中采用的關鍵技術及復雜性分析第四章 系統(tǒng)結構與模型 4.1編程模型 4.2數(shù)據(jù)結構第五章

7、系統(tǒng)實現(xiàn)技術 5.1登陸窗口第六章 性能測試與分析 第七章 結束語致謝參考文獻附源碼</p><p><b>  第一章 引言</b></p><p>  1.1本課題的研究意義</p><p>  隨著全球信息技術的飛速發(fā)展,尤其是因特網(wǎng)的出現(xiàn)和普及,企業(yè)和決策都發(fā)生了根本的改變。采用信息技術促

8、進、改造企業(yè)的生產(chǎn)、經(jīng)營、管理,有效采集和處理信息,增強企業(yè)決策的有效性,適應全球發(fā)展的要求,將成為企業(yè)發(fā)展的必由之路。信息管理系統(tǒng)已經(jīng)成為現(xiàn)代企業(yè)的一個重要標志和衡量企業(yè)綜合實力的重要組成部分。但是,信息管理系統(tǒng)的開發(fā)卻非常困難。開發(fā)一個成功的企業(yè)信息管理系統(tǒng),不僅要有方方面面的專業(yè)知識,還要充分分析企業(yè)內(nèi)部、外部環(huán)境的變化和關系,以及在信息管理系統(tǒng)開發(fā)過程中所涉及的設備、技術上的復雜性。這就需要系統(tǒng)開發(fā)者不斷總結經(jīng)驗,不斷探索更好的

9、方法和技術。</p><p>  如今我國市場經(jīng)濟的蓬勃發(fā)展和人們對商品需求的迅速增長,零售業(yè)正處于一個高速發(fā)展的時期。行業(yè)的快速發(fā)展必然導致競爭的加劇,要想在激烈的市場競爭中謀求發(fā)展,客觀上要求企業(yè)必須加強內(nèi)部管理,提高運營效率,縮小運營成本。另外,由于商品的種類繁多、銷售模式特殊、業(yè)務量大,單一憑借手工記賬已適應不了企業(yè)的快速發(fā)展的需求。可以說,沒有信息化的商品管理與銷售幾乎是不可想象的。企業(yè)內(nèi)部不能形成完善

10、、高效的激勵和約束的信息化管理機制,企業(yè)發(fā)展的原動力不足,影響企業(yè)的持續(xù)、穩(wěn)定、快速發(fā)展。因此,盡快建立完善的現(xiàn)代化企業(yè)信息管理機制就是商品零售業(yè)發(fā)展的關鍵所在。</p><p>  1.2本論文的目的、內(nèi)容及作者的主要貢獻</p><p>  高效、穩(wěn)定的信息化管理系統(tǒng)是商品零售業(yè)的核心競爭力之一。要建立符合超市經(jīng)營、管理、創(chuàng)新等要求的信息化管理系統(tǒng),開發(fā)期間必須遵循一下規(guī)律:一是系統(tǒng)規(guī)

11、劃。商品零售業(yè)管理的信息化是一個系統(tǒng)工程,需要有科學的系統(tǒng)規(guī)劃與設計。二是避免重系統(tǒng)的表面現(xiàn)象輕其內(nèi)核。管理軟件產(chǎn)品必須以管理流程和業(yè)務流程為基礎,其內(nèi)核應蘊含先進的管理思想,缺乏管理思想支撐的系統(tǒng),很難成為優(yōu)秀的超市管理系統(tǒng)。三是避免重產(chǎn)品初期運轉(zhuǎn),輕維護與服務。在信息系統(tǒng)初期應用時,多數(shù)企業(yè)都能給予相當?shù)闹匾?,當完成系統(tǒng)驗收后,企業(yè)往往不重視對該系統(tǒng)資源的保障、維護與服務的投入,以及對系統(tǒng)適應的調(diào)整,使得信息系統(tǒng)生命周期大大縮短。經(jīng)

12、過我對一些中小超市的走訪中發(fā)現(xiàn),在經(jīng)營管理過程中手工管理不能滿足超市的管理需求,需要采用先進的管理方法和管理手段,擺脫傳統(tǒng)的經(jīng)驗型經(jīng)營方式,變粗放、定性核算方式為定量核算,因此利用先進的計算機技術盡快實現(xiàn)商業(yè)管理的自動化迫在眉睫。隨著信息時代的快速發(fā)展,管理者意識到只有采用信息化管理,才能取得市場領域的主導地位。</p><p><b>  研究現(xiàn)狀及設計目標</b></p>

13、<p>  2.1相近研究課題的特點及優(yōu)缺點分析優(yōu)點:現(xiàn)有的經(jīng)營方式的不便之處在于:商品進銷數(shù)量、金額使用手工三級賬處理,速度慢,工作量大,不準確:對票據(jù)、供銷單位信息、應收應付款項易出錯、易遺忘、查詢不便;經(jīng)營決策缺乏準確數(shù)據(jù)依據(jù),數(shù)據(jù)滯后于報表、統(tǒng)計計算工作量大、準確率低。通過具有系統(tǒng)的管理,以上的問題可以比較容易的解決,并且大大的提高了工作效率,贏得寶貴的決策時間。</p><p>  缺點:需

14、要對現(xiàn)有的人員進行操作培訓,使得熟練使用該系統(tǒng)。</p><p>  2.2現(xiàn)行研究存在的問題及解決辦法</p><p>  商品銷售中遇到的問題</p><p>  (1)過去手工銷售時,由于商品種類繁多,幾萬種商品的管理相當困難。</p><p>  (2)由于客戶量大,每天前臺銷售開票、收款要求速度較快,采用手工開票不但效率低,而且開票

15、過程中很容易開錯商品。</p><p><b>  解決辦法:</b></p><p>  (1)強化基礎數(shù)據(jù)管理,在商品銷售時,通過自動提示窗口,即可以顯示商品列表,選擇客戶所要購買的商品。</p><p> ?。?)為了提高銷售和開票的效率,采用表單式商品錄入,銷售過程通過鍵盤和自動提示窗口可快速銷售商品。開票過程中的計算、統(tǒng)計完全由程序自

16、動執(zhí)行。</p><p>  2.庫存管理中遇到的問題</p><p>  在手工管理庫存時,由于商品種類繁多,放置位置雜亂,庫管很難將商品的庫存情況及時有效掌握。經(jīng)常出現(xiàn)這樣的情況,滯銷的商品進了不少,暢銷的商品卻沒有及時補進。這必然造成部分商品積壓,由于庫存商品占用了大量資金,嚴重影響了企業(yè)的流動資金,如果是食品過了保質(zhì)期,會給企業(yè)帶來損失,同時也帶來了庫存管理等一系列問題。</

17、p><p><b>  解決辦法:</b></p><p>  影響庫存的因素有很多方面。根據(jù)每種商品的銷售情況制定庫存上下限可有效管理庫存。每天系統(tǒng)將需要補進的商品列表預警,提示管理者及時調(diào)整。</p><p>  3.往來管理中遇到的問題</p><p>  商品的銷售有自己獨特的要求,也就是常說的“羅圈賬”。銷售順序是

18、廠家將產(chǎn)品發(fā)給各地的代理商,各代理商又將產(chǎn)品發(fā)給各個經(jīng)銷商,這是物流順序;而資金流動方向正好相反,經(jīng)銷商將全部或部分賣出后與代理商結款,代理商收款后在與廠家結算。當然退貨過程中與銷售過程正好相反。這種處理流程用手工操作是很難做到及時準確的。</p><p>  解決辦法:設計日結算、月結算、供應商往來賬、客戶往來賬等模塊進行往來賬目的管理。</p><p>  2.3本課題要達到的設計目標

19、</p><p>  面對商品零售行業(yè)的高速發(fā)展和醫(yī)藥企業(yè)信息化發(fā)展的過程中出現(xiàn)的各種情況,并根據(jù)公司的業(yè)務情況,該系統(tǒng)在實施后,應能夠達到一下目標:</p><p>  建立規(guī)范的業(yè)務管理模式,使業(yè)務人員從繁忙的手工開票、統(tǒng)計報表工作中解脫 </p><p>  出來,提高工作效率,減少人為差錯。</p><p>  實現(xiàn)多點操作的信息共

20、享,相互之間的信息傳遞要準確、快捷和順暢。</p><p>  提供快速、準確的處理企業(yè)商品進、存銷、調(diào)、退、盤點等多種業(yè)務模式。</p><p>  系統(tǒng)界面友好美觀,操作簡單易行,查詢靈活方便,數(shù)據(jù)存儲安全可靠。</p><p>  利用客戶檔案、應收應付、預警系統(tǒng)等模塊結合啊在一起,可以對往來客戶進行</p><p>  業(yè)務監(jiān)控,防止

21、壞賬的發(fā)生。</p><p><b>  支持多種結算方式。</b></p><p>  事業(yè)務、財務、庫房三賬合一,使三種賬務系統(tǒng)化、集成化,消除三種賬務不統(tǒng)</p><p><b>  一造成混亂。</b></p><p>  系統(tǒng)維護方便可靠,有較高的安全性,滿足實用性,先進性的要求。<

22、/p><p>  第三章 要解決的幾個關鍵問題 </p><p>  3.1研究設計中要解決的問題</p><p>  商品銷售中遇到的問題</p><p>  (1)由于不能及時掌握庫存商品情況,經(jīng)常開出庫存沒有的商品。</p><p> ?。?)手工開票時,經(jīng)常出現(xiàn)算錯賬的情況,給企業(yè)造成了很大的損失。

23、</p><p><b>  解決辦法:</b></p><p>  (1)在庫存提示中將顯示商品庫存情況,如果操作員輸入數(shù)量超過庫存數(shù)量將提示。</p><p> ?。?)計算全部由程序計算和統(tǒng)計。</p><p>  2.庫存管理中遇到的問題</p><p>  手工管理庫存時,要查詢某商品庫

24、存情況很難。</p><p><b>  解決辦法:</b></p><p>  可按不同字段、不同條件查詢商品的庫存信息,并支持模糊查詢以及在查詢結果中查詢。</p><p>  3.2具體實現(xiàn)中采用的關鍵技術及復雜性分析1.加密解密類的設計:</p><p>  加密算法采用的是變換法,先確定密鑰為0x01、0x2

25、E、0x6e。0x6d。由于本算法是針對密碼加密,所以用戶輸入的密碼為明文,加密后的內(nèi)容為密文。算法如下:</p><p>  加密:密文=明文+密鑰(明文+密鑰<=FF)</p><p>  密文=明文+密鑰-256(明文+密鑰>FF)</p><p>  另外對很多無法顯示的字母很難以字符串的形式進行存儲。所以,需要對加密后的內(nèi)容進行處理,使其能以可

26、顯示的字符的形式存儲到數(shù)據(jù)庫中。將任何一個1字節(jié)的數(shù)變成兩個大寫字母來表示。</p><p>  2.在查詢結果中查詢:</p><p>  在查詢結果中查詢,通用的方案有以下兩種。</p><p>  (1)使用統(tǒng)一的SQL語句查詢,可以建立兩個臨時表,利用兩個臨時表進行相互結果的查詢。</p><p>  (2)可以直接在顯示數(shù)據(jù)的列表控

27、件中查詢,不過這都是字符串查詢,也可以將查詢出來的資料以一定的類型存在模板Clist<...>定義出來的鏈表中,然后在鏈表中查詢。</p><p>  3.使CListCtrl控件可編輯</p><p>  CListCtrl控件簡單易用,美中不足是不能編輯,為在銷售定計中實現(xiàn)智能化錄入需要,應使該控件可編輯。</p><p>  4.文檔/視圖的內(nèi)部結

28、構</p><p>  CWinApp有一個CDocManager*m_pDocManager。m_pDocManager用一個指針鏈表來維護一系列的Document Template。每個CDocTemplate有DocTemplate*m_pDocTemplate,指向Document Template;另外一個指針鏈表用來維護一系列的View。CFrameWnd有一個CView*m_pDocument指向相

29、關的Document。</p><p><b>  系統(tǒng)結構與模型</b></p><p><b>  4.1編程模型</b></p><p><b>  4.2數(shù)據(jù)結構</b></p><p><b>  1.tabbf表</b></p>

30、<p>  tabbf表用于備份數(shù)據(jù)庫日期和路徑。</p><p><b>  tabbf表的結構</b></p><p><b>  2.tabck表</b></p><p>  tabck表用于保存?zhèn)}庫信息。</p><p><b>  tabck表結構</b>&

31、lt;/p><p>  3.tabdhdj表</p><p>  Tabdhdj表用于保存調(diào)貨登記信息。</p><p>  4.tabdhph表</p><p>  tabdhph表用于保存調(diào)貨票號。</p><p><b>  5.tabgys表</b></p><p> 

32、 tabgys表用于保存供應商基礎信息。</p><p>  6.tabjsfs表</p><p>  tabjsfs表用來保存結算方式。</p><p><b>  7.tabkc表</b></p><p>  tabkc表用于保存庫存信息。</p><p>  8.tabkcpddj表<

33、/p><p>  tabkcpddj表用于保存庫存盤點信息。</p><p>  9.tabkcpdph表</p><p>  tabkcpdph表用于保存庫存盤點票號。</p><p><b>  10.tabkh表</b></p><p>  tabkh表用于保存客戶信息。</p>

34、<p>  11.tabpurview表</p><p>  tabpurview表用于保存權限信息。</p><p>  12.tabpurviwectrl表</p><p>  tabpurviwectrl表用于保存權限指派信息。</p><p>  13.tabrkdj表</p><p>  tabrk

35、dj表用于保存入庫登記的相關信息。</p><p>  14.tabrkjz表</p><p>  tabrkjz表用于保存入庫結賬的相關信息。</p><p>  15.tabrkph表</p><p>  tabrkph表用于保存入庫票號。</p><p>  16.tabrkthdj表</p>&l

36、t;p>  tabrkthdj表用于保存入庫退貨的相關信息。</p><p>  17.tabrkthjz表</p><p>  tabrkthjz表用于保存入庫退貨結帳的相關信息。</p><p>  18.tabrkthph表</p><p>  tabrkthph表用于保存入庫退貨票號。</p><p> 

37、 19.tabxsdj表</p><p>  tabxsdj表用于保存商品的銷售信息。</p><p>  20.tabxsjz表</p><p>  tabxsjz表用于保存銷售結賬信息。</p><p>  21.tabxsph表</p><p>  tabxsph表用于保存銷售票號信息。</p>&

38、lt;p>  22.tabxsthdj表</p><p>  tabxsthdj表用于保存銷售退貨信息。</p><p>  23.tabxsthjz表</p><p>  tabxsthjz表用于保存銷售退貨結賬的相關信息。</p><p>  24.tabxsthph表</p><p>  tabxsthph

39、表用于保存銷售退貨票號信息。</p><p>  25.tabyginfo表</p><p>  tabyginfo表用于保存員工的基礎信息。</p><p>  26.tabypinfo表</p><p>  tabypinfo表用于保存商品的基礎信息。</p><p>  第五章 系統(tǒng)實現(xiàn)技術</p>

40、<p><b>  5.1登陸窗口</b></p><p><b>  (1)界面:</b></p><p><b> ?。?)設計步驟:</b></p><p>  增加對話框資源,設計窗體資源符號為IDD_DIALOG_LOGIN。為該窗口連接相關的類,在資源對話框上右鍵單擊,選擇【

41、Class Wizard...】選項,會彈出【Add a class】對話框,提示IDD_DIALOG_LOGIN是一個新的資源,需要為這個資源創(chuàng)建一個類,或為它連接一個現(xiàn)有類。在此,選擇新建一個派生于CDialog的類來連接資源,該類命名為CDlgLogin。</p><p>  當用戶單擊【確定】時,進行密碼判斷和次數(shù)判斷。</p><p>  進行焦點控制。定義控制焦點的函數(shù),該函數(shù)

42、定義了當用戶單擊【Enter】鍵時,焦點改變的順序,當需要改變焦點時,調(diào)用此函數(shù)。</p><p><b>  5.2主界面</b></p><p><b>  (1)界面:</b></p><p><b> ?。?)設計步驟:</b></p><p><b>  創(chuàng)

43、建程序菜單:</b></p><p>  從菜單中選擇【View】/【W(wǎng)orkspace】項,這時會彈出Workspace窗口。在工作區(qū)窗口中,能看到該程序所有使用的資源,并且每種資源都有一個資源符號,主窗體也使用了一個資源符號IDD_A1_DIALOG,這是VC缺省提供的??梢栽谶@里添加或者刪除各種資源。</p><p>  在工作區(qū)窗口右鍵單擊【a1 resources】選

44、項,在彈出菜單中選擇【insert...】選項,將彈出【Insert Resource】對話框。在該對話框中選擇【Menu】選項,然后單擊【New】按鈕。</p><p>  右鍵雙擊菜單資源編輯器的虛線空白框,在彈出菜單中選擇【Properties】選項,將彈出【Menu Item Properties】對話框,在【Menu Item Properties】對話框的【caption】(標題)編輯框中鍵入:“基礎

45、信息(&I)”。此時關閉【Menu Item Properties】對話框,將在菜單編輯編輯器中生成主菜單“基礎信息”菜單下的虛線白框,在彈出的【Menu Item Properties】對話框中設計“商品信息(&M)”、“員工信息(&Y)”等菜單項。</p><p>  同上,可以設計其他主菜單及菜單項。</p><p><b>  基礎信息管理:<

46、;/b></p><p><b>  (1)界面:</b></p><p><b> ?。?)設計步驟:</b></p><p><b>  創(chuàng)建數(shù)據(jù)訪問基類</b></p><p>  (1)分析數(shù)據(jù)訪問基類如下:</p><p>  每個數(shù)據(jù)訪

47、問類對應一個數(shù)據(jù)庫的表或視圖,因此,該類需要屬性表名、主鍵名以及連接數(shù)據(jù)庫的對象。</p><p>  關于數(shù)據(jù)庫的操作有增加、刪除、修改和查詢某個值是否存在。</p><p>  由于字段名稱是拼音顯示,需要相關的漢字信息來提供給用戶看。關于字段的值于漢字說明的一一對應及相關操作。</p><p>  由于查詢出來的數(shù)據(jù)都放到了CListCtrl控件上,而且列表窗

48、口的標題即字段名(漢字)對數(shù)據(jù)訪問類是可見的。因此,可以把這刷新顯示的功能抽象出來。</p><p> ?。?)以上分析需在CDataTable類中聲明。</p><p> ?。?)具體介紹數(shù)據(jù)訪問基類功能</p><p>  字符串列表指針m_pstrlistFields_Names要保存兩個字符串列表,一個用來保存拼音字段名,另一個用來保存字段名的漢字說明。&l

49、t;/p><p>  另外,需要根據(jù)漢字說明(數(shù)據(jù)列表顯示的列表標題)查找拼音名稱(數(shù)據(jù)庫的字段名),于是,引入了如下兩個函數(shù),分別根據(jù)其中的一個值查找另一個值。</p><p>  關于數(shù)據(jù)庫數(shù)據(jù)訪問的函數(shù)設成純虛函數(shù),由派生類定義。</p><p>  2.創(chuàng)建信息顯示基類CBaseTabCtrl</p><p>  查詢界面分兩個視圖顯示查

50、詢數(shù)據(jù),一個視圖用列表控件顯示所有查詢數(shù)據(jù),另一個視圖用來顯示某條指定的單個商品記錄的詳細數(shù)據(jù)。為此,決定從CTabCtrl控件繼承出界面基類。</p><p>  創(chuàng)建新類CBaseTabCtrl,選擇【Insert】/【NewClass...】,在彈出的對話框中,設置【ClassName】為CBaseTabCtrl,【BaseClass】為CTabCtrl,之后單擊【確定】即可。 </p>&l

51、t;p>  5.3銷售登記模塊運行界面</p><p><b>  (1)界面:</b></p><p><b> ?。?)設計步驟</b></p><p>  1.設計對話框及相關資源。</p><p>  2.創(chuàng)建左上角的標題信息。</p><p>  3.自動產(chǎn)生

52、銷售編。</p><p><b>  4.傳劍列表控件。</b></p><p>  5.在對話框的初始化函數(shù)中進行數(shù)據(jù)初始化。</p><p><b>  6.實現(xiàn)按鈕功能。</b></p><p>  7.實現(xiàn)彈出提示窗口。</p><p><b>  8.其他

53、細節(jié)問題。</b></p><p> ?。?)設計對話框及相關資源。</p><p>  (2)創(chuàng)建左上角的標題信息。</p><p> ?。?)自動產(chǎn)生銷售編號。</p><p> ?。?)創(chuàng)建列表控件。</p><p> ?。?)在對話框的初始化函數(shù)中進行數(shù)據(jù)初始化。</p><p&

54、gt; ?。?)實現(xiàn)按鈕功能:確定、打印、刪除、退出。</p><p> ?。?)實現(xiàn)彈出提示窗口。</p><p><b>  5.4銷售退貨模塊</b></p><p><b> ?。?)運行界面:</b></p><p><b> ?。?)設計步驟:</b></p&

55、gt;<p>  銷售退貨模塊大部分于銷售登記模塊相同,在界面上少了客戶信息,多了銷售票號。另外在自動提示窗口中顯示的提示信息也有所不同。</p><p>  1.設計對話框及相關資源</p><p>  2.長劍左上角的標題信息</p><p>  3.自動生成銷售退貨號</p><p><b>  4.創(chuàng)建列表框控

56、件</b></p><p>  5.在對話框的初始化函數(shù)中進行數(shù)據(jù)初始化。</p><p><b>  6.實現(xiàn)按鈕功能</b></p><p><b>  7.實現(xiàn)彈出提示框</b></p><p><b>  8.其他細節(jié)問題</b></p>&l

57、t;p>  5.5 入庫登記模塊</p><p><b> ?。?)運行界面:</b></p><p><b> ?。?)設計步驟:</b></p><p>  設計對話框及相關資源</p><p>  創(chuàng)建左上角的標題信息</p><p><b>  自動產(chǎn)

58、生入庫號</b></p><p><b>  長劍列表控件</b></p><p>  在對話框的初始化函數(shù)中進行數(shù)據(jù)初始化。</p><p><b>  實現(xiàn)按鈕功能</b></p><p><b>  實現(xiàn)彈出提示框</b></p><p&g

59、t;<b>  其他細節(jié)問題</b></p><p>  5.6結賬管理模塊設計</p><p><b> ?。?)運行界面:</b></p><p><b> ?。?)設計步驟:</b></p><p>  設計對話框及相關資源</p><p><

60、;b>  票號信息初始化</b></p><p><b>  結賬信息初始化</b></p><p>  處理編輯框的OnChange事件</p><p><b>  確定信息</b></p><p><b>  性能測試與分析</b></p>

61、<p>  超市進存銷管理系統(tǒng)是專為中小型超市開發(fā)的一款軟件。它集成了進、存銷一體化。</p><p>  打開登陸界面時顯示輸入用戶名和密碼,如果輸入錯誤則顯示“請確認用戶名大小寫是否正確”的對話框,三次輸入錯誤自動退出登錄界面,程序關閉。點擊【確認】后進入主界面。</p><p>  點擊【基礎信息】工具欄,彈出【商品信息】、【員工信息】、【供應商信息】和【客戶信息】。<

62、;/p><p>  點擊【商品信息】后,彈出商品信息查詢表單。表單包括商品信息查詢和商品信息管理兩部分。在查詢中可以通過全部商品編號或部分商品編號等查詢商品。商品管理中可以添加、刪除和修改商品的信息。</p><p>  點擊【員工信息】后,彈出員工信息查詢表單。表單包括員工信息查詢和員工信息管理兩部分。在查詢中可以通過全部員工編號或部分員工編號等查詢員工。員工管理中可以添加、刪除和修改員工的

63、信息。</p><p>  點擊【供應商信息】后,彈出供應商信息查詢表單。表單包括供應商信息查詢和供應商信息管理兩部分。在查詢中可以通過全部供應商編號或部分供應商編號等查詢供應商。供應商管理中可以添加、刪除和修改供應商的信息。</p><p>  點擊【供應商】后,彈出供應商信息查詢表單。表單包括供應商信息查詢和供應商信息管理兩部分。在查詢中可以通過全部供應商編號或部分供應商編號等查詢供應

64、商。供應商管理中可以添加、刪除和修改供應商的信息。</p><p>  點擊【銷售模塊】工具欄,彈出【銷售登記】、【銷售退貨】、【銷售查詢】和【銷售退貨查詢】。</p><p>  點擊【銷售登記】后,彈出銷售登記表單。表單可輸入客戶的編號、客戶名稱、結算方式、經(jīng)手人、銷售日期、實收金額。并可以刪除和打印相關信息。推出時彈出是否推出和是否保存的對話框。點擊主界面的【銷售模塊】快捷按鈕后同樣

65、彈出銷售登記表單。</p><p>  點擊【銷售退貨】后彈出提示框:要進行銷售退貨,必須選擇銷售票號。點擊【確定】后進入銷售查詢表單。表單包括銷售查詢和銷售管理兩部分。在查詢中可以通過全部銷售票號或部分部銷售票號查詢。在銷售管理中可看到銷售查詢中查詢到的詳細信息。點擊【確定】后彈出銷售退貨表單。表單可輸入結算方式、經(jīng)手人、日期、實收金額。并可以刪除和打印相關信息。推出時彈出是否推出和是否保存的對話框。點擊主界面

66、的【銷售退貨】快捷按鈕后同樣彈出銷售查詢表單。</p><p>  點擊【銷售查詢】表單后彈出銷售查詢表單。表單包括銷售查詢和銷售管理兩部分。在查詢中可以通過全部銷售票號或部分部銷售票號查詢。在銷售管理中可看到銷售查詢中查詢到的詳細信息。點擊【確定】后彈出銷售退貨表單。表單可輸入結算方式、經(jīng)手人、日期、實收金額。并可以刪除和打印相關信息。推出時彈出是否推出和是否保存的對話框。</p><p&g

67、t;  點擊【銷售退貨查詢】后,彈出銷售退貨查詢表單。表單包括銷售退貨信息查詢和所選銷售退貨信息兩部分。在查詢中可以通過全部退貨票號或部分退貨票號等查詢。在所選銷售退貨信息中可以看到詳細信息。</p><p>  入庫模塊與銷售模塊功能類似,所以方法相同。</p><p>  點擊【調(diào)貨模塊】后,彈出【調(diào)貨登記】和【調(diào)貨查詢】</p><p>  點擊【調(diào)貨登記】后

68、,彈出調(diào)貨登記表單。表單中可以輸入日期、經(jīng)手人和備注。點擊刪除可以刪除相關的信息。單擊打印可以打印出相關信息。點擊主界面的【調(diào)貨登記】快捷按鈕后同樣彈出調(diào)貨登記表單。</p><p>  點擊【調(diào)貨查詢】后,彈出調(diào)貨信息表單。其功能與商品信息表單相似,所以方法相同。</p><p>  4.【庫存模塊】包括【庫存盤點】、【庫存查詢】和【倉庫管理】三項。</p><p&g

69、t;  點擊【庫存盤點】后彈出庫存盤點表單。其中可以輸入日期經(jīng)手人。并可以刪除和打印相關的信息。</p><p>  點擊【庫存查詢】后彈出庫存查詢表單,其功能與商品查詢相似,所以方法相同。</p><p>  點擊【倉庫管理】后彈出【倉庫管理】表單。在其中可以添加、修改和刪除倉庫名稱和倉庫管理員。</p><p>  5.【結賬模塊】中包含有【銷售結賬】、【銷售退

70、貨結賬】、【入庫結賬】、【入庫退貨結賬】。</p><p>  點擊【銷售結賬】后彈出對話框:請選擇銷售票號。單擊【確定】后彈出銷售查詢對話框。</p><p>  點擊【銷售退貨結賬】后彈出對話框:請選擇銷售退貨票號。單擊【確定】后彈出銷售退貨查詢對話框。</p><p>  點擊【入庫結賬】后彈出對話框:請選擇入庫票號。單擊【確定】后彈出入庫查詢對話框。點擊主界

71、面的【入庫結賬】快捷按鈕后同樣彈出。</p><p>  點擊【入庫結賬】后彈出對話框:請選擇入庫票號。單擊【確定】后彈出入庫查詢對話框。點擊主界面的【入庫查詢】快捷按鈕后同樣彈出。</p><p>  6.【賬務模塊】中包含有【日結】、【月結】、【供應商往來賬】、【客戶往來賬】四個部分。</p><p>  點擊【日結】后彈出日結表單。并單擊【打印】后可以打印出賬

72、目。</p><p>  點擊【月結】后彈出月結表單。并單擊【打印】后可以打印出賬目。</p><p>  點擊【供應商往來賬】后彈出往來賬表單。表單中可以輸入供應商標號、供應商名稱、從什么時間到什么時間,來實現(xiàn)查詢和打印。</p><p>  【客戶往來賬】的模塊與【供應商往來賬】的模塊和功能相似,所以方法相同。</p><p>  7.【

73、系統(tǒng)管理】中包含了【修改用戶密碼】、【修改權限設置】、【修改用戶】和【數(shù)據(jù)備份】。</p><p>  點擊【修改用戶密碼】后彈出修改密碼對話框。其中可以輸入新的密碼然后在確認輸入一次點擊【確定】后彈出對話框顯示修改成功。</p><p>  點擊【修改權限設置】后彈出修改權限表單。其中可以設置用戶的權限。權限的不同可以使用的模塊就不同。</p><p>  點擊【

74、修改用戶】后彈出修改用戶權限表單。在其中可以對用戶進行添加刪除和修改。點擊用戶后點擊【修改】可以彈出修改權限表單。</p><p>  點擊【數(shù)據(jù)備份】中有【備份】和【恢復】兩項。</p><p>  點擊【備份】后彈出對話框提示:請選擇路徑和名稱。單擊確定后彈出另存為的對話框。然后選擇路徑保存。之后彈出:ok對話框。</p><p>  單擊【恢復】后彈出恢復數(shù)據(jù)

75、對話框。其中可以刪除所備份的數(shù)據(jù)。選擇備份數(shù)據(jù)號后單擊【確定】,彈出對話框:ok,單擊【確定】結束。</p><p>  8.在主表單中有【退出】按鈕。點擊后推出系統(tǒng)。</p><p><b>  第七章 結束語</b></p><p>  計算機技術在當今乃至于未來生活中都具有重要的地位,這是我們所不能忽視的。不管自己家里是否購買了電腦,每

76、個人都必須在這方面有所準備。因為計算機的普及使用是遲早的事情,一個企業(yè)的信息化程度同樣是衡量這個企業(yè)發(fā)展?jié)摿Φ臉藴手弧D転槠髽I(yè)開發(fā)出一個高效的管理平臺,那將是一件非常光榮的事情。</p><p><b>  致謝</b></p><p>  本研究課題論文是在我的導師xx老師的親切關懷和虛心指導下完成的。她嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感

77、染和激勵著我。從課題的選擇倒項目的最終完成,xx老師都始終給予我細心的指導和不懈的支持。兩個多月來,xx老師不僅在學業(yè)上給我精心的指導,同時還在思想上給我以無微不至的關懷,在此謹向xx老師致以崇高的敬意。</p><p>  在此,我還要感謝在一起愉快地度過研究生活同門兄弟們,正是由于你們地幫助和支持,我才能克服一個又一個地困難和疑惑,直至本文的順利完成。</p><p>  在論文即將完

78、成之際,我的心情無法平靜,從開始選擇課題到論文順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我最誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!</p><p><b>  參考文獻</b></p><p><b>  附源碼</b></p><p><b>  源碼一:&l

79、t;/b></p><p>  BOOL CA1App::InitInstance()</p><p><b>  {</b></p><p>  // CG : Initialize OLE libraries</p><p>  if (!AfxOleInit())</p><p>&l

80、t;b>  {</b></p><p>  AfxMessageBox(_T("OLE initialization failed."));</p><p>  return FALSE;</p><p><b>  }</b></p><p>  AfxEnableControlC

81、ontainer();</p><p>  // Standard initialization</p><p>  // If you are not using these features and wish to reduce the size</p><p>  // of your final executable, you should remove

82、from the following</p><p>  // the specific initialization routines you do not need.</p><p>  #ifdef _AFXDLL</p><p>  Enable3dControls();// Call this when using MFC in a shared

83、DLL</p><p><b>  #else</b></p><p>  Enable3dControlsStatic();// Call this when linking to MFC statically</p><p><b>  #endif</b></p><p>  #ifdef

84、_DEBUG</p><p>  CMfxTrace::Init();</p><p><b>  #endif</b></p><p>  this->SetRegistryKey("超市管理系統(tǒng)");</p><p>  WriteProfileInt("Settings"

85、;, "x", 23);</p><p>  WriteProfileInt("Settings", "y", 12);</p><p>  WriteProfileInt("Settings", "cx", 32);</p><p>  WriteProfileIn

86、t("Settings", "cy", 1233);</p><p>  WriteProfileInt("Settings", "TraceWhere", 23);</p><p>  if(LRunSql::InitConnectPtr()==false)//初始化COM環(huán)境,進行數(shù)據(jù)庫連接</p

87、><p>  return false;</p><p>  pDocTemplate = new LSingleDocTemplate(</p><p>  IDR_MENU_MYFRAME,</p><p>  RUNTIME_CLASS(CScrollPrintDoc),</p><p>  RUNTIME_CLAS

88、S(CMyFrame),// main SDI frame window</p><p>  RUNTIME_CLASS(CScrollPrintView));</p><p>  AddDocTemplate(pDocTemplate);</p><p>  CMemoryState mem;</p><p>  mem.Checkpo

89、int();</p><p>  CDlgLogin dlg;//創(chuàng)建登錄窗口對象</p><p>  if(dlg.DoModal()==IDOK)//顯示登錄窗口</p><p><b>  {</b></p><p>  CA1Dlg *pdlg=new CA1Dlg;//創(chuàng)建主窗口對象</

90、p><p>  m_pMainWnd = pdlg;</p><p>  pdlg->DoModal();//顯示主窗口</p><p>  delete pdlg;</p><p>  pdlg=NULL;</p><p><b>  }</b></p><p> 

91、 mem.DumpAllObjectsSince();</p><p>  LRunSql::Close();//斷開數(shù)據(jù)庫連接</p><p>  // Since the dialog has been closed, return FALSE so that we exit the</p><p>  // application, rather tha

92、n start the application's message pump.</p><p>  return FALSE;</p><p><b>  }</b></p><p><b>  源碼二:</b></p><p>  #include "DataYG.h"

93、</p><p>  #if !defined(AFX_TABYG_H__5A781F20_AD3E_43D9_A61B_5718F6158ADC__INCLUDED_)</p><p>  #define AFX_TABYG_H__5A781F20_AD3E_43D9_A61B_5718F6158ADC__INCLUDED_</p><p>  #if _MSC_

94、VER > 1000</p><p>  #pragma once</p><p>  #endif // _MSC_VER > 1000</p><p>  #include "BaseTabCtrl1.h"</p><p>  #include "DataYG.h"</p>

95、<p>  class CTabYG : public CBaseTabCtrl </p><p><b>  {</b></p><p><b>  public:</b></p><p>  CString ChanShengID();</p><p>  CTabYG(int e

96、_n);</p><p>  virtual ~CTabYG();</p><p>  bool InitBaseInfo();</p><p>  bool InitValues();</p><p>  bool InitSelf();</p><p>  bool InitList();</p>&

97、lt;p>  bool PrepareTables(CString &output, CString &input);</p><p>  CString PrepareSQL();</p><p>  bool SetValuesIntoEdits();</p><p>  bool GetValuesFromEdits();</p&g

98、t;<p>  void SetKey(int mark);</p><p>  void SetTheBaseInfoFocus();</p><p>  void SetTheFocus();</p><p>  bool EnableBaseInfo(bool enabled);</p><p>  int ShowBas

99、eInfo(int show);</p><p>  enum{ID_YUANGONG_RQ=217};</p><p>  CDateTimeCtrl m_rq;</p><p>  CDataYG m_dataYg;</p><p>  protected:</p><p>  //{{AFX_MSG(CTabYG

100、)</p><p>  afx_msg void OnSelchange(NMHDR* pNMHDR, LRESULT* pResult);</p><p>  afx_msg void OnCancelClick();</p><p>  afx_msg void OnXiuGaiClick();</p><p>  afx_msg voi

101、d OnShanChuClick();</p><p>  afx_msg void OnZengJiaClick();</p><p>  afx_msg void OnBaoCunClick();</p><p>  afx_msg void OnChaXun();</p><p>  //}}AFX_MSG</p><

102、;p>  DECLARE_MESSAGE_MAP()</p><p><b>  };</b></p><p>  #endif // !defined(AFX_TABYG_H__5A781F20_AD3E_43D9_A61B_5718F6158ADC__INCLUDED_)</p><p><b>  源碼三:</b&g

103、t;</p><p>  #if !defined(AFX_PREVIEW_H__03894546_1C39_11D4_B336_00104B13D514__INCLUDED_)</p><p>  #define AFX_PREVIEW_H__03894546_1C39_11D4_B336_00104B13D514__INCLUDED_</p><p>  #if

104、 _MSC_VER >= 1000</p><p>  #pragma once</p><p>  #endif // _MSC_VER >= 1000</p><p>  // PreView.h : header file</p><p><b>  //</b></p><p>

105、;  /////////////////////////////////////////////////////////////////////////////</p><p>  // CPreView view</p><p>  #include "afxpriv.h"</p><p>  class CMyView;</p>

106、<p>  class CPreView : public CScrollView</p><p><b>  {</b></p><p>  DECLARE_DYNCREATE(CPreView)</p><p>  protected:</p><p>  CPreView(); //

107、 protected constructor used by dynamic creation</p><p>  // Attributes</p><p><b>  public:</b></p><p>  CMyView* m_pOrigView;</p><p>  CMyView* m_pPrintView

108、;</p><p>  CPreviewDC * m_pPreviewDC; // Output and attrib DCs Set, not created</p><p>  CDC m_dcPrint; // Actual printer DC</p><p>  // Operations</p><p>

109、  // Returns TRUE if in a page rect. Returns the page index</p><p>  // in nPage and the point converted to 1:1 screen device coordinates</p><p>  // Returns .cx/.cy as the numerator/denominator

110、 pair for the ratio</p><p>  // using CSize for convenience</p><p>  // Operations</p><p>  protected:</p><p>  virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = N

111、ULL);</p><p>  void SetCurrentPage(int nPage);</p><p>  void RefreshPreview();</p><p>  bool FindPageRect(CPoint& point, int & row,int & column);</p><p>  v

112、oid BeginRowColumn(int rows,int columns);</p><p>  void BeginScale(int scale);</p><p>  void SetPagePosition();</p><p>  int GetPageNumber(int row,int column);</p><p> 

113、 BOOL SetPrintView(CMyView* pPrintView);</p><p>  void SetScale(int scale);</p><p>  void ClosePreview();</p><p>  // Overrides</p><p>  // ClassWizard generated virtua

114、l function overrides</p><p>  //{{AFX_VIRTUAL(CPreView)</p><p><b>  public:</b></p><p>  virtual void OnDraw(CDC* pDC); // overridden to draw this view</p><p

115、>  protected:</p><p>  virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);</p><p>  virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);&l

116、t;/p><p>  //}}AFX_VIRTUAL</p><p>  CPrintPreviewState* m_pPreviewState; // State to restore</p><p>  CDialogBar* m_pToolBar; // Toolbar for preview</p><p>  // been displ

117、ayed on status line</p><p>  int m_nCurrentPage;</p><p>  CPrintInfo* m_pPreviewInfo;</p><p>  //---------------------------------------------------------------------</p>&l

118、t;p>  //我對這個類的修改:</p><p>  //當前最大的第一顯示頁</p><p>  intm_iMaxCurPage;</p><p><b>  //數(shù)據(jù)變量</b></p><p>  intm_nUserRows;</p><p>  intm_nU

119、serColumns;</p><p><b>  //行數(shù)</b></p><p>  intm_nRows;</p><p>  intm_nMaxRows;</p><p><b>  //列數(shù)</b></p><p>  intm_nColumns;

120、</p><p>  intm_nMaxColumns;</p><p><b>  //頁面實際大小</b></p><p>  CSizem_sizePhysicalPage;</p><p><b>  //頁面顯示大小</b></p><p>  CSize

121、m_sizeShowPage;</p><p>  //Physical/Show顯示比例;10<,,<500計算時要除以100;</p><p>  intm_iScale;</p><p><b>  //頁間距/2</b></p><p>  intm_iSpaceBetweenl2;

122、</p><p><b>  //區(qū)域變量</b></p><p>  //預覽窗口顯示頁的大的區(qū)域包括邊距,GetClientRect()也行,但考慮到有可能向客戶區(qū)放控件,會影響客戶區(qū)的大?。?lt;/p><p>  CRectm_rectClient;</p><p>  //顯示當前屏的所有頁的區(qū)域</p&

123、gt;<p>  CRectm_rectShowPages;</p><p>  //每頁所占的空間,包括1/2頁間距,包括邊框,及周圍的空間,主要用來確定空間</p><p>  CRectm_rectPage;</p><p>  //每頁的實際內(nèi)容的真實反映,提供給OnPrint的區(qū)域,這里只記錄第一頁的區(qū)域</p><

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論