【正文】
i m_nNumOfPages。 m_IDD[m_nNumOfPages1] = ID。 int m_nCurrentPage。 (2) 定義 5 個(gè)成員變量,代碼如下: protected: LPCTSTR m_Title[MAXPAGE]。 在本次畢業(yè)設(shè)計(jì)中,我 要非常感謝指導(dǎo)老師在我不知所措的時(shí)候給了我指點(diǎn)方向 ,在我感覺到自己知識(shí)有所貧乏的時(shí)候給了我細(xì)心 的 指導(dǎo)和技術(shù)上的支持。在系統(tǒng)開發(fā)過程中,獨(dú)立完成從需求分析、設(shè)計(jì)、編碼、測(cè)試到集成部署、運(yùn)行 維護(hù)等一系列開發(fā)步驟,通過開發(fā)本系統(tǒng),不僅掌握了具體的編程技術(shù),而且了解了軟件開發(fā)全過程,加深了對(duì)軟件開發(fā)的認(rèn)識(shí),為今后的項(xiàng)目開發(fā)工作積累了寶貴的經(jīng)驗(yàn)。由于畢業(yè)設(shè)計(jì)時(shí)間較短、本人的水平有限,本系統(tǒng)設(shè)計(jì)得不夠精確、完整,界面也不是很美觀,系統(tǒng)出錯(cuò)處理也不是很好,整個(gè)系統(tǒng)中的代碼相對(duì)簡(jiǎn)單,這些都有待進(jìn)一步的改善。方法是, CCustomGrid 類中包含了兩個(gè)成員變量 col 和 row,根據(jù) col 便可以確定當(dāng)前表格列。在入庫(kù)管理窗口的 PreTranslateMessage 方法中首先截獲WM_KEYUP 消息,判斷其消息句柄是否為編輯框 CKeyEdit,如果是則進(jìn)行處理。 22 在實(shí)現(xiàn)聯(lián)想錄入時(shí),首先需要截獲表格編輯時(shí)的消息,在編輯表格時(shí)進(jìn)行查詢操作時(shí),采用的表格控件是 CCustomGrid,而真正實(shí)現(xiàn)數(shù)據(jù)錄入的并不是CCustomGrid,而是編輯框 CKeyEdit。 根據(jù)上面的功能描述,需要解決如下問題: ? 截獲表格編輯時(shí)的消息。 3 用戶單擊表格時(shí),確定單元格的坐標(biāo) 為了在用戶單擊表格時(shí)確定編輯框出現(xiàn)的位置,首先需要確定用戶單擊時(shí)的單元格坐標(biāo)。處理編輯框的 WM_KILLFOCUS 消息,使其在失去焦點(diǎn)時(shí)將數(shù)據(jù)顯示在列表的當(dāng)前單元格中。 ? 用戶單擊單元格時(shí),確定單元格坐標(biāo)(行和列索引)。但 MFC 提供的列表視圖控件 CListCtrl 只 21 能顯示數(shù)據(jù),而不能編輯,為了使列表視圖控件能夠編輯,筆者改寫了 CListCtrl類,從該類派生一個(gè)子類 CCustomGrid。 ( 3)向窗口添加 3 個(gè)靜態(tài)文本資源、一個(gè)編輯框資源、一個(gè)組合框資源 、 2 個(gè)列表資源、 2 個(gè)時(shí)間控件資源、 2 個(gè)復(fù)選框資源。 ( 4)設(shè)置各主要資源屬性 ,如表 所示。庫(kù)存盤點(diǎn)窗口如圖 所示。 ( 3)在窗口中放置 7 個(gè)靜態(tài)文本資源、 6 個(gè)編輯框資源、 1 個(gè)時(shí)間控制資源、2 個(gè)列表框資源、 2 個(gè)列表視圖資源。商品入庫(kù)管理活動(dòng)圖,如 圖 所示。 ( 4)在窗口類 CDlgInputStorageM 的初始化事件中調(diào)用標(biāo)簽控件( m_tab)的AddPage 方法添加頁面,并顯示頁面和相應(yīng)窗口。 ( 2)定義一個(gè) CTabSheet 對(duì)象,名稱為“ m_tab”,用于窗口管理。 ( 4)創(chuàng)建 標(biāo)簽頁面,顯示所有窗口。 ? 顯示指定標(biāo)簽頁中的窗口。 ? 記錄標(biāo)簽控件的頁數(shù)。至此,完成主窗口的設(shè)計(jì)。 ( 4)處理樹視圖控件的雙擊事件,根據(jù)節(jié)點(diǎn)標(biāo)題顯示相應(yīng)的窗口。在設(shè)計(jì)文檔 /視圖結(jié)構(gòu)程序是,狀態(tài)欄會(huì)由應(yīng)用程序向?qū)ё詣?dòng)創(chuàng)建,因此不用進(jìn)行設(shè)計(jì)。 ( 5)設(shè)置工具欄按鈕大小,加載工具欄按鈕圖像。 ( 1)在主窗口框架中定義一個(gè) CReBar 類對(duì)象 m_wndReBar,一個(gè) CToolBar類對(duì)象 m_wndToolBar,一個(gè) CImageList 類對(duì)象 img,其中 img 用于存儲(chǔ)工具欄上顯示的圖像。 ( 13)在主窗口的源文件消息映射部分添加映射宏。 ( 9)改寫菜單項(xiàng)的“ DrawItem”方法,繪制菜單。 ( 7)添加“ ChangeMenuStyle”方法,從菜單資源中確定菜單項(xiàng)的屬性,參數(shù)bTop 標(biāo)識(shí)菜單項(xiàng)是否為頂層菜單。 ( 3)新建一個(gè)類,類名為“ CMyCoolMenu” ,基類為 CMenu。 圖 入庫(kù)狀態(tài)圖 商品入庫(kù)查詢處理過程分析 在查詢商品入庫(kù)信息時(shí),首先需要設(shè)置查詢條件,用戶可以根據(jù)需要將時(shí)間段查詢與具體條件 查詢組合,進(jìn)行復(fù)雜的數(shù)據(jù)查詢,商品入庫(kù)查詢狀態(tài)如圖 所示。 圖 入庫(kù)單信息實(shí)體 ER 圖 出庫(kù)單信息實(shí)體 ER 圖如圖 所示。 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體結(jié)構(gòu),以及他們之間的關(guān)系,為以后的邏輯結(jié)構(gòu)設(shè)計(jì)打 下基礎(chǔ)。 ? 庫(kù)存狀況信息,包括的數(shù)據(jù)項(xiàng)有編號(hào)、貨物編號(hào)、庫(kù)存數(shù)量、倉(cāng)庫(kù)編 號(hào)等。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字 典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。 : 在入庫(kù)管理中需要實(shí)現(xiàn)商品的入庫(kù),入庫(kù)退貨管理,記錄入庫(kù),入庫(kù)退貨信息 。支持多種類型的入庫(kù)、出庫(kù)、補(bǔ)貨方式,同時(shí)支持多種查詢方式和全面的日志管理,可應(yīng)用于各種行業(yè)的單體倉(cāng)庫(kù)精細(xì)化管理或者應(yīng)用于制造企業(yè)、物流企業(yè)、流通業(yè)及其它特殊行業(yè)的倉(cāng)庫(kù)管理。由于 OLE DB可提供關(guān)系型數(shù)據(jù)源也可以提供非關(guān)系型數(shù) 源 ,所以在非關(guān)系型數(shù)據(jù)源上使 用傳統(tǒng) 6 的 SQL 命令查詢數(shù)據(jù)有可能無效 ,甚至 Command 命令對(duì)象也不能使用。 在 ADO 模型中 ,主體對(duì)象只有 3 個(gè) :Connection、 Command 和 Recordset,其他 4個(gè)集合對(duì)象 Errors、 Properties、 Parameters 和 Fields分別對(duì)應(yīng) Error、 Property、 Parameter和 Field 對(duì)象 ,整個(gè) ADO 對(duì)象模型由這些對(duì)象組成。 ADO 對(duì)象模型定義了一組可編程的自動(dòng)化對(duì)象 ,可用于 Visual Basic、 Visual C++、 Java 以及其他各種支持自動(dòng)化特性的腳本語言。 ADO 簡(jiǎn)介 微軟公司的 ADO (ActiveX Data Objects) 是一個(gè)用于存取數(shù)據(jù)源的 COM 組件。 Microsoft SQL Server 2021 非常明顯的改進(jìn)就是增加了 OLAP(聯(lián)機(jī)分析處理 )功能 ,這可以讓很多中小企業(yè)用戶也可以使用數(shù)據(jù)倉(cāng)庫(kù)的一些特性進(jìn)行分析。這些特點(diǎn)在 .NET 戰(zhàn)略中發(fā)揮著重要的作用。 IT 行業(yè)的實(shí)踐經(jīng)驗(yàn)充分證明了這一點(diǎn)。由于 SQL Server 與 Windows 界面風(fēng)格完全一致,且有許多 向?qū)?(Wizard)幫助,因此易于安裝和學(xué)習(xí),有關(guān) SQL Server 的資料、培訓(xùn)隨處可得,并且目前國(guó)內(nèi)具有 MCDBA 認(rèn)證的工程師不在少數(shù)。它包括支持開發(fā)的引擎、標(biāo)準(zhǔn)的 SQL 語言、擴(kuò)展的特性 (如復(fù)制、 OLAP、分析 )等功能。 SQL Server 2021 數(shù)據(jù)庫(kù)簡(jiǎn)介 數(shù)據(jù)庫(kù)是 MIS 中的重要支持技術(shù),在 MIS 開發(fā)過程中,如何選擇數(shù)據(jù)庫(kù)管理是一個(gè)重要的問題,目前,數(shù)據(jù)庫(kù)產(chǎn)品較多,每種產(chǎn)品都具有各自的特點(diǎn)和適用范圍,因此,在選擇數(shù)據(jù)庫(kù)時(shí),應(yīng)考慮數(shù)據(jù)庫(kù)應(yīng)用的特點(diǎn)及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫(kù)語言是 SQL Server 2021。 3. Platform SDK。從理論 上來講, MFC 也不是專用于 Visual C++, Borland C++,C++Builder 和 Symantec C++同樣可以處理 MFC。其實(shí)不然,雖然 Developer Studio 提供了一個(gè)很好的編輯器和很多 Wizard,但實(shí)際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會(huì)介紹。 Visual C++ 不僅是一個(gè) C++編譯器,而且是一個(gè)基于 Windows 操作系統(tǒng)的可視化集成開發(fā)環(huán)境( integrated development environment,IDE)。 3 第 二 章 開發(fā)工具簡(jiǎn)介 Visual C++ 編程環(huán)境簡(jiǎn)介 Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。本系統(tǒng)在開發(fā)時(shí)選用了穩(wěn)定性較強(qiáng)的 Windows XP中文專業(yè)版和 Visual C++作為開發(fā)語言,同時(shí)選用了 SQL Server 2021數(shù)據(jù)庫(kù) 。 開發(fā)環(huán)境 系統(tǒng)開發(fā)環(huán)境包括硬件平臺(tái)和軟件平臺(tái)兩種。存儲(chǔ)過程只在創(chuàng)造時(shí)進(jìn)行編譯,以后每次執(zhí)行存儲(chǔ)過程都不需再重新編 譯,而一般 SQL 語句每執(zhí)行一次就編譯一次 ,所以使用存儲(chǔ)過程可提高數(shù)據(jù)庫(kù)執(zhí)行速度。大型服務(wù)器可能有成千上萬的用戶同時(shí)連接到 SQL Server 2021 實(shí)例。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本課題主要的目的是是幫助企業(yè)的倉(cāng)庫(kù)管理人員對(duì)企業(yè)生產(chǎn)所需要的物資設(shè)備進(jìn)行管理和控制,使生產(chǎn)設(shè)備得到充分利用 ,以達(dá)到降低成本。一個(gè)企業(yè)在市場(chǎng)中是否具有強(qiáng)有力的競(jìng)爭(zhēng)力,除了要看企業(yè)的人才、資金、技術(shù)、產(chǎn)品之外,更重要的一項(xiàng),就是要看企業(yè)是否有一個(gè)良好的管理體制。 關(guān)鍵 字 : 功能 數(shù)據(jù)庫(kù) 倉(cāng)庫(kù)管理系統(tǒng) Abstract Function and realizing describing of this text separately to the warehouse managemen system, system this adopt SQL Server 2021 as backstage supporter developing instrument of database, employ VC++ develop languages as front desk. This system mainly including the fundamental information management,warehouse entry management, warehouse output management, inquiry management,etc. This system operation is simple and clear, the interface is esthetic, simplify the convoluted traditional management style of warehouse management, manage the systematic electron to warehouse management in simple and clear way apt to be grasped. This text explain basic theories that the management information system develop at first, introduction, systematic choice, database design method,etc. of platform to develop course. Secondly direct against the business demand of sales of goods, provide the realization scheme of an intact warehouse managemen system, including systematic demand analyze systematic system structural design, every module of functions design, the design of storehouse of the data and systematic one are integrated and disposed etc.. Have designed and described the warehouse managemen system in detail. Key words: Function。 本系統(tǒng)操作簡(jiǎn)單明了,界面美觀,簡(jiǎn)化了 倉(cāng)庫(kù)管理 煩瑣的傳統(tǒng)管理方式,以簡(jiǎn)單明了的方式對(duì) 倉(cāng)庫(kù)庫(kù)存 進(jìn)行系統(tǒng)的電子管理。本系統(tǒng)主要包括 基礎(chǔ)信息管理 , 入庫(kù)管理 , 出庫(kù)管理,查 詢管理 等幾個(gè)主模塊 。對(duì)倉(cāng)庫(kù)管理 管理系統(tǒng) 進(jìn)行了詳細(xì)設(shè)計(jì)及描述。在市場(chǎng)競(jìng)爭(zhēng)中,建立科學(xué)、規(guī)范、高效管理制度成為了企業(yè)管理的當(dāng)務(wù)之急。使得管理人員可以告別沉重而且不易于查詢的記事本堆了。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性 2 強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫(kù)。 Microsoft SQL Server 2021 能提供超大型系統(tǒng)所需的數(shù)據(jù)庫(kù)服務(wù)。在存儲(chǔ)方面更出類拔萃。這也就需要程序員也要不斷的更新自己的技術(shù)。 軟件平臺(tái)是指系統(tǒng)開發(fā)與運(yùn)行的軟件環(huán)境。 數(shù)據(jù)庫(kù)采用 SQL Server 2021,由于我們的系統(tǒng)要求,采用它完全可以適合我們的工作需求,并且它所支持的數(shù)據(jù)類型十分豐富,維護(hù)簡(jiǎn)便,費(fèi)用比較低,人員素質(zhì)要求不是很高,容易升級(jí)。所以實(shí)際中,更多的是以 Visual C++ 為平臺(tái)。 Visual C++它大概可以分成三個(gè)主要的部分: 1. Developer Studio,這是一個(gè)集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?99%都是在它上面完成的,再加上它的標(biāo)題赫然寫著 “Microsoft Visual C++”,所以很多 人理所當(dāng)然的認(rèn)為,那就是 Visual C++了。這一點(diǎn)請(qǐng)切記! 2. MFC。但是, Visual C++也不等于 MFC。上面說到 Developer Studio 沒有編譯程序的功能,那么這項(xiàng)工作是由誰來完成 4 的呢?是 CL,是 NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構(gòu)成 Visual