




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要超市進(jìn)銷存管理系統(tǒng)是目前應(yīng)用于公司或是企業(yè)進(jìn)銷存管理系統(tǒng)中的典型代表,涉及到了商品或貨物管理中主要的6個方面,即進(jìn)貨、銷售、錢流、庫存、統(tǒng)計及查賬。通過一個典型超市進(jìn)銷存管理系統(tǒng)的例子,介紹了現(xiàn)代企業(yè)進(jìn)銷存管理信息化的一般解決方案,其重要性不言而喻。但是,目前超市在具體的業(yè)務(wù)流程處理過程中仍然使用手工操作的方式來實(shí)施,不僅費(fèi)時、費(fèi)力、效率低下,而且無法達(dá)到理想的效果。本系統(tǒng)是根據(jù)企業(yè)的特點(diǎn),集進(jìn)、銷、存于一體,為企業(yè)量身定做的進(jìn)銷存管理軟件。在設(shè)計過程中最大限度滿足用戶的要求,因此,該系統(tǒng)具有較強(qiáng)的實(shí)用性和針對性。本系統(tǒng)界面友好,操作簡單,可維護(hù)性強(qiáng),功能完備。本論文介紹了進(jìn)銷存管理信息
2、系統(tǒng)開發(fā)的全過程,詳細(xì)介紹了系統(tǒng)的分析、系統(tǒng)的開發(fā)與設(shè)計說明等內(nèi)容,最后給出了系統(tǒng)的使用說明和系統(tǒng)設(shè)計的心得體會。關(guān)鍵詞:超市進(jìn)銷存管理,數(shù)據(jù)庫,統(tǒng)計purchase, sales and inventory managementsystem supermarketabstract purchase, sales and inventory management system supermarket is used in companies or enterprises in the purchase, sales and inventory management system for a t
3、ypical representative of, relating to the goods or goods of the management of six major areas, namely, purchase, sale, money flow, inventories, statistics and auditing . supermarkets, through a typical example of invoicing management system, introduced the modern enterprise management information in
4、voicing solution of the general, the importance of self-evident. however, the supermarket business processes in specific processing still using manual methods to implement, not only time-consuming, laborious, inefficient, and can not achieve the desired results. the system is based on the characteri
5、stics of enterprises, set forward, sell, stored in one invoicing tailored for the enterprise management software. during the design process to maximize the users requirements to meet, so that the system has strong practical and targeted. the system user-friendly, simple operation, maintenance, and f
6、unctions. this paper describes the development of purchase, sales and inventory management information system of the whole process of detailed system analysis, system development and design notes, etc.,and finally gives the system description and system design experiences.key words: the supermarket
7、enters sells saves the management ,database ,statistics目錄摘 要iabstractii第一章 引言11.1問題的提出11. 2課題的研究目的21. 3課題的研究意義2第二章 系統(tǒng)分析32.1 需求分析32.2 可行性分析3第三章 總體設(shè)計53.1 項(xiàng)目規(guī)劃53. 2 數(shù)據(jù)庫設(shè)計6第四章 系統(tǒng)設(shè)計94.1 設(shè)計目標(biāo)94.2 開發(fā)及運(yùn)行環(huán)境94.3 邏輯結(jié)構(gòu)設(shè)計9第五章 主要功能模塊設(shè)計175.1 主窗體設(shè)計175.2 基礎(chǔ)窗體創(chuàng)建205.3 數(shù)據(jù)模塊設(shè)計215.4 庫存商品模塊設(shè)計235.5 商品基本信息模塊設(shè)計275.6 進(jìn)貨單錄入模塊設(shè)
8、計29總結(jié)33參考文獻(xiàn)34致謝36外文原文36中文翻譯40 第一章 引言超市進(jìn)銷存管理系統(tǒng)是超市商品銷售及貨物管理的主要控制部分,直接影響銷售的方便性及管理的規(guī)范性。隨著信息時代的發(fā)展,對效率的要求日益提高,企業(yè)經(jīng)營涉及進(jìn)、銷、存多個環(huán)節(jié),涉及商品種類繁多,業(yè)務(wù)量大,庫存管理復(fù)雜,使用手工管理已無法勝任,因而軟件控制銷售和管理已經(jīng)取代了傳統(tǒng)全手工方式。如何采用先進(jìn)的計算機(jī)系統(tǒng)管理進(jìn)貨、庫存、銷售等諸多環(huán)節(jié)也已成為趨勢及必然。超市具有自身的特點(diǎn):商品要求一般齊全,進(jìn)出貨關(guān)系較為簡單,員工人數(shù)種類不多;在軟件角度看,數(shù)據(jù)較少,對存儲和速度要求不高。但正由于員工較少,使用軟件控制成為必須。1.1 問
9、題的提出目前,大量的中小超市企業(yè)中,存在這樣的現(xiàn)象:分散的、不連貫的進(jìn)銷存信息使超市管理者或相關(guān)管理人員無法看到進(jìn)銷存的全部資料及相關(guān)報表,信息的分散使得產(chǎn)生的結(jié)果也無法保持一致和完整性,造成中小超市在進(jìn)銷存管理上存在如下問題:無法統(tǒng)計銷售信息?無法準(zhǔn)確全面掌握各業(yè)務(wù)進(jìn)展?fàn)顟B(tài)?對銷售人員工作過程掌握不夠?業(yè)務(wù)人員對產(chǎn)品沒有一定認(rèn)識?銷售及市場流程不清晰,流程變動較大?對市場信息、競爭的資訊掌握程度較不完善?無結(jié)構(gòu)統(tǒng)一銷售及市場情況報表?基本銷售及市場費(fèi)用統(tǒng)計較不完備?銷售人員辭職時失單現(xiàn)象嚴(yán)重?等等。加之,現(xiàn)在顧客的期望值越來越高,顧客需要更好的服務(wù)(產(chǎn)品及個性化服務(wù))。企業(yè)的競爭已逐漸從產(chǎn)品
10、的競爭轉(zhuǎn)變?yōu)榉?wù)的競爭,因此中小企業(yè)要發(fā)展就必須需要進(jìn)一步優(yōu)化業(yè)務(wù)流程以提高企業(yè)競爭能力。因此,加強(qiáng)超市進(jìn)銷存管理是企業(yè)發(fā)展的必然,通過計算機(jī)來大量完成本來由工作人員手工完成的工作,真正達(dá)到合理和充分利用現(xiàn)有資源,減輕工作壓力。1.2 課題的研究目的研究該課題是為了通過對“超市進(jìn)銷存管理系統(tǒng)”的設(shè)計與實(shí)現(xiàn),熟悉這類的信息管理系統(tǒng)的開發(fā)原理及流程。在設(shè)計過程,能夠深入地理解面向?qū)ο笤O(shè)計方法的優(yōu)越性,獲得這些方面的相關(guān)經(jīng)驗(yàn)。對一個即將畢業(yè)的計算機(jī)專業(yè)本科生來說,又想在軟件行業(yè)領(lǐng)域里有所發(fā)展,研究并應(yīng)用面向?qū)ο笤O(shè)計方法是百益無一害的,可以使其走向社會后能夠快速地適應(yīng)行業(yè)需求。這正是本次設(shè)計的根本目的
11、所在。1.3 課題的研究意義首先,該課題屬于管理信息系統(tǒng)范疇。而管理信息系統(tǒng)(management information system,簡稱mis)在現(xiàn)代社會已深入到各行各業(yè),是一個不斷發(fā)展的新學(xué)科,是由人和計算機(jī)設(shè)備或其他信息處理手段組成并用于管理信息的系統(tǒng)。再加上行業(yè)信息化的熱潮才剛剛開始,特別是中小型企業(yè)的信息化建設(shè)步伐剛剛邁出第一步。管理信息系統(tǒng)的開發(fā)的市場將是非常龐大的。這種需求對開發(fā)人員在數(shù)量上和素質(zhì)上的要求也是非常迫切的。為了滿足市場的需求以及能在競爭中取勝,系統(tǒng)設(shè)計人員就不僅僅是單純地滿足用戶對功能的要求,還要從設(shè)計方法上來加以改進(jìn)。 其次,面向?qū)ο蠓椒ㄊ且环N非常實(shí)用的軟件開
12、發(fā)方法,它一出現(xiàn)就受到軟件技術(shù)人員的青睞,現(xiàn)在已經(jīng)成為計算機(jī)科學(xué)研究的一個重要領(lǐng)域,并逐漸成為軟件開發(fā)的一種主要方法。面向?qū)ο蟮某绦蛟O(shè)計將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一起,作為一個互相依存、不可分離的整體。采用這種方法來設(shè)計系統(tǒng),可以增加系統(tǒng)的安全性。同時通過繼承與多態(tài)性,使程序具有很高的可重用性,使軟件的開發(fā)和維護(hù)帶來了方便。由于面向?qū)ο蠓椒ǖ耐怀鰞?yōu)點(diǎn),它才被廣大用戶所愛好。第二章 系統(tǒng)分析2.1 需求分析經(jīng)過對系統(tǒng)的業(yè)務(wù)流程和系統(tǒng)數(shù)據(jù)流程的調(diào)查,用戶對系統(tǒng)的功能需求如下:要求此管理軟件將對庫存產(chǎn)品進(jìn)行資料管理和統(tǒng)計,對產(chǎn)品的進(jìn)貨單和產(chǎn)品的銷售單進(jìn)行錄入管理和統(tǒng)計;要求此管理軟件將根據(jù)用戶的
13、需要對進(jìn)貨、銷售、庫存情況進(jìn)行查詢,并能提供庫存短缺預(yù)警功能;要求此管理軟件將為用戶提供賬號管理工具,以便用戶對賬號進(jìn)行管理,具體為添加用戶、刪除用戶、修改用戶密碼;要求此管理軟件提供企業(yè)人員管理,能夠?qū)ζ髽I(yè)員工的分類管理,新員工的加入以及員工刪除,修改基本信息等功能;要求此管理軟件提供數(shù)據(jù)信息的備份和還原功能。對這些功能需求進(jìn)行分類,主要包含有以下幾種:進(jìn)貨管理模塊、庫存管理模塊、銷售管理模塊、員工管理模塊和系統(tǒng)模塊。除上述功能外,系統(tǒng)還需要有以下功能:要有良好的人機(jī)界面,并提供換膚功能。支持多人操作,要求有較好的權(quán)限分配功能。在進(jìn)貨、退貨時存在一對多的關(guān)系,要求支持多行錄入功能。為了方便用
14、戶查詢,要求支持多條件查詢。對于每種商品要求編號惟一,編號需要自動生成。支持多種報表打印。支持賬目的詳細(xì)內(nèi)容瀏覽。2.2 可行性分析開發(fā)任何一個基于計算機(jī)的系統(tǒng),都會受到時間和資源上的限制。因此,在接受任何一個項(xiàng)目開發(fā)任務(wù)之前,必須根據(jù)客戶可能提供的時間和資源條件進(jìn)行可行性分析,以減少項(xiàng)目開發(fā)風(fēng)險,避免人力、物力和財力的浪費(fèi)。本系統(tǒng)數(shù)據(jù)庫采用目前比較流行的microsoft sql server,該數(shù)據(jù)庫系統(tǒng)在安全性、準(zhǔn)確性、運(yùn)行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)庫量大,效率高;開發(fā)工具采用delphi7,delphi7是目前應(yīng)用最廣泛的數(shù)據(jù)庫系統(tǒng)開發(fā)工具,可以快速開發(fā)windows應(yīng)用程序。
15、第三章 總體設(shè)計3.1 項(xiàng)目規(guī)劃超市進(jìn)銷存管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用程序,由登錄模塊、主界面、基本信息模塊、進(jìn)貨管理和銷售管理模塊、錢流管理模塊、庫存管理模塊、查賬模塊、統(tǒng)計分析模塊、系統(tǒng)維護(hù)模塊等組成。特規(guī)劃功能模塊如下:q 基本信息模塊基本信息模塊主要實(shí)現(xiàn)庫存商品、內(nèi)部職員、往來單位、費(fèi)用類型等的管理。q 進(jìn)貨管理模塊進(jìn)貨管理模塊主要管理超市商品進(jìn)貨及退貨信息,支持多行錄入。q 銷售管理模塊銷售管理模塊主要管理超市商品銷售及退貨信息,支持多行錄入。q 錢流管理模塊錢流管理模塊主要實(shí)現(xiàn)往來賬目的錄入和賬目的詳細(xì)信息瀏覽等功能。q 庫存管理模塊庫存管理模塊主要實(shí)現(xiàn)庫存貨品瀏覽、庫存盤點(diǎn)、庫
16、存報警等功能。q 統(tǒng)計分析模塊統(tǒng)計分析模塊主要實(shí)現(xiàn)進(jìn)貨統(tǒng)計分析、銷售統(tǒng)計分析和成本分析等功能。q 查賬模塊查賬模塊主要實(shí)現(xiàn)與供應(yīng)商、代理商對賬、費(fèi)用支出、應(yīng)收應(yīng)付等功能。q 系統(tǒng)維護(hù)模塊系統(tǒng)維護(hù)模塊的主要實(shí)現(xiàn)本單位管理、操作員設(shè)置、數(shù)據(jù)的備份和還原等功能。根據(jù)項(xiàng)目規(guī)劃,可畫出超市進(jìn)銷存管理系統(tǒng)的功能框圖,如圖3-1所示。圖3-1 系統(tǒng)功能模塊圖3.2數(shù)據(jù)庫設(shè)計本系統(tǒng)根據(jù)上面的設(shè)計規(guī)劃出的主要實(shí)體有職員信息、進(jìn)貨、用戶、費(fèi)用、收款、進(jìn)貨退貨。各個實(shí)體的e-r圖分別如圖3-2至圖3-7所示。 圖3-2 職員信息的e-r圖 圖3-3 進(jìn)貨的e-r圖 圖3-4用戶的e-r圖 圖3-5費(fèi)用的e-r圖 圖
17、3-6 進(jìn)貨退貨的e-r圖 圖3-7收款的e-r圖實(shí)體與實(shí)體之間關(guān)系的e-r圖,如圖3-8所示。 圖3-8 實(shí)體之間的e-r圖第四章 系統(tǒng)設(shè)計4.1 設(shè)計目標(biāo)根據(jù)超市的需求和進(jìn)銷存管理的特點(diǎn),該系統(tǒng)實(shí)施后,應(yīng)達(dá)到以下目標(biāo):q 支持多行輸入,自動生成編號。q 界面美觀友好、信息查詢靈活、方便、快捷、準(zhǔn)確。q 強(qiáng)大的庫存預(yù)警功能,在意外中將損失降到最低。q 提高工作效率,降低成本。q 往來賬目詳細(xì)瀏覽。q 圖形化數(shù)據(jù)分析。q 對用戶輸入的數(shù)據(jù)進(jìn)行過濾,當(dāng)輸入有誤時提示用戶。q 數(shù)據(jù)保密性強(qiáng),用戶對應(yīng)不同的操作級別。q 系統(tǒng)最大限度地實(shí)現(xiàn)了易安裝性、易維護(hù)性和易操作性。q 直接調(diào)用word、exce
18、l軟件。q 系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。4.2 開發(fā)及運(yùn)行環(huán)境系統(tǒng)開發(fā)平臺:delphi 7.0。數(shù)據(jù)庫管理系統(tǒng)軟件:sql server 2000。運(yùn)行平臺:windows xp/ windows 2000。分辨率:最佳效果1024*768。4.3 邏輯結(jié)構(gòu)設(shè)計本系統(tǒng)數(shù)據(jù)庫采用sql server 2000數(shù)據(jù)庫,數(shù)據(jù)庫名稱為“db_ems”。數(shù)據(jù)庫db_ems中包含18個表。各個數(shù)據(jù)表的結(jié)構(gòu)如下所示。(1)職員信息表(tb_employ)職員信息表用來保存職員信息。職員信息表的結(jié)構(gòu)如表4-1所示。表4-1 職員信息表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述employecodevarchar
19、6職員編號fullnamevarchar20是職員全稱namevarchar20職員簡稱sexvarchar2性別departmentvarchar20所在部門telvarchar20聯(lián)系電話memovarchar40備注shortcodevarchar10拼音簡碼(2)進(jìn)貨主表(tb_warehouse_main)進(jìn)貨主表用來保存進(jìn)貨中主要和相同的信息。進(jìn)貨主表的結(jié)構(gòu)如表4-2所示。表4-2 進(jìn)貨主表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述billdatedatetime8錄單日期billcodevarchar20是單據(jù)編號unitsvarchar20供貨單位handlevarchar20
20、經(jīng)手人summaryvarchar100摘要fullpaymentfloat8應(yīng)付金額paymentfloat8實(shí)付金額(3)進(jìn)貨明細(xì)表(tb_warehouse_detailed)進(jìn)貨明細(xì)表用來保存進(jìn)貨中商品的詳細(xì)信息。進(jìn)貨明細(xì)表結(jié)構(gòu)如表4-3所示。表4-3 進(jìn)貨明細(xì)表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述billcodevarchar20單據(jù)編號tradecodevarchar20商品編號fullnamevarchar20商品全稱typevarchar10商品型號standardvarchar10商品規(guī)格unitchar4單位producevarchar20產(chǎn)地qtyfloat8數(shù)量p
21、ricefloat8進(jìn)價tsumfloat8金額billdatedatetime8錄單日期(4)用戶權(quán)限表(tb_power)用戶權(quán)限表用來保存用戶權(quán)限設(shè)置信息。用戶權(quán)限表結(jié)構(gòu)如表4-4所示。表4-4 用戶權(quán)限表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述numbervarchar20是用戶編號usersvarchar20用戶名稱passwordvarchar20用戶密碼stockbit1進(jìn)貨管理venditionbit1銷售管理checkedbit1庫存管理moneybit1錢流管理systembit1系統(tǒng)維護(hù)basebit1基本信息(5)費(fèi)用表(tb_cf)費(fèi)用表用于記錄費(fèi)用信息。費(fèi)用表結(jié)構(gòu)
22、如表4-5所示。表4-5 費(fèi)用表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述billdatedatetime8錄單日期billcodevarchar20單據(jù)編號unitsvarchar20收款單位numbervarchar20費(fèi)用項(xiàng)目編號namevarchar20費(fèi)用項(xiàng)目名稱handlevarchar20經(jīng)手人fullpaymentvarchar20應(yīng)付金額paymentfloat8實(shí)付金額(6)往來賬明細(xì)表(tb_currentaccount)往來賬明細(xì)表用于記錄往來單位的應(yīng)收、應(yīng)付賬目。往來賬明細(xì)表結(jié)構(gòu)如表4-6所示。表4-6 往來賬明細(xì)表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述billd
23、atedatetime8錄單日期billcodevarchar20是單據(jù)編號unitsvarhcar20往來單位addgatheringfloat8應(yīng)收增加reducegatheringfloat8應(yīng)收減少balancefloat8應(yīng)收余額summaryvarchar100摘要(7)費(fèi)用類型表(tb_freetype)費(fèi)用類型表用于存儲費(fèi)用類型信息。費(fèi)用類型表表結(jié)構(gòu)如表4-7所示。表4-7 費(fèi)用類型表字段名稱字段類型字段大小主鍵否功能描述subjectcodevarchar3科目編號fullnamevarhcar20是科目全稱namevarchar10科目簡稱memovarhcar40備注sh
24、ortcodevarchar10拼音簡碼(8)收款信息表(tb_gathering)收款信息表用于保存收款信息。收款信息表結(jié)構(gòu)如表4-8所示。表4-8 收款信息表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述billdatedatetime8錄單日期billcodevarchar20是單據(jù)編號unitsvarchar20付款單位gatheringfloat8金額handlevarchar20經(jīng)手人summaryvarchar40摘要(9)付款信息表(tb_payment)付款信息表用于保存付款信息。付款表結(jié)構(gòu)如表4-9所示。表4-9 付款表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述billdate
25、datetime8錄單日期billcodevarchar20是單據(jù)編號unitsvarchar20收款單位paymentfloat8金額handlevarchar20經(jīng)手人summaryvarchar100摘要(10)銷售退貨明細(xì)表(tb_resell_detailed)銷售退貨明細(xì)表用于保存銷售退貨的詳細(xì)信息。銷售退貨明細(xì)表結(jié)構(gòu)如表4-10所示。表4-10 銷售退貨明細(xì)表結(jié)構(gòu)字段名稱字段類型字段大小主鍵否功能描述billcodevarchar20單據(jù)編號tradecodevarchar20商品編號fullnamevarchar20商品全名standardvarchar10商品規(guī)格typeva
26、rchar10商品型號unitchar4單位producevarchar20產(chǎn)地qtyfloat8數(shù)量pricefloat8單價tsumfloat8金額billdatedatetime8錄單日期(11)銷售退貨表(tb_resell_main)銷售退貨表用于保存銷售退貨。銷售退貨表結(jié)構(gòu)如表4-11所示。表4-11 銷售退貨表結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否功能描述billdatedatetime錄單日期billcodevarchar20是單據(jù)編號unitsvarchar20退貨單位handlevarchar20經(jīng)手人summaryvarchar100摘要fullpaymentfloat8應(yīng)付金額p
27、aymentfloat8實(shí)付金額(12)進(jìn)貨退貨明細(xì)表(tb_rewarehouse_detailed)進(jìn)貨退貨明細(xì)表用于保存進(jìn)貨退貨詳細(xì)信息。進(jìn)貨退貨明細(xì)表結(jié)構(gòu)如表4-12所示。表4-12 進(jìn)貨退貨明細(xì)表字段名數(shù)據(jù)類型長度主鍵否功能描述billcodevarchar20單據(jù)編號tradecodevarchar20商品編號fullnamevarchar20商品全稱typevarchar10商品型號standardvarchar10商品規(guī)格unitvarchar4單位producevarchar20產(chǎn)地qtyfloat8數(shù)量pricefloat8進(jìn)價tsumfloat8金額billdatedat
28、etime8錄單日期(13)進(jìn)貨退貨表(tb_rewarehouse_main)進(jìn)貨退貨表用于存儲進(jìn)貨退貨中主要的和相同的信息。進(jìn)貨退貨表結(jié)構(gòu)如表4-13所示。表4-13 退貨表字段名數(shù)據(jù)類型長度主鍵否功能描述billdatedatetime錄單日期billcodevarchar20是單據(jù)編號unitsvarchar20收貨單位handlevarchar20經(jīng)手人summaryvarchar100摘要fullgatheringfloat8應(yīng)收金額gatheringfloat8實(shí)收金額(14)銷售明細(xì)表(tb_sell_detailed)銷售明細(xì)表用于保存銷售詳細(xì)信息。銷售明細(xì)表結(jié)構(gòu)如表4-14
29、所示。表4-14 銷售明細(xì)表字段名數(shù)據(jù)類型長度主鍵否功能描述billcodevarchar20單據(jù)編號tradecodevarchar20商品編號fullnamevarchar20商品全稱typevarchar10商品型號standardvarchar10商品規(guī)格unitvarchar4單位producevarchar20產(chǎn)地qtyfloat8數(shù)量pricefloat8單價tsumfloat8金額billdatedatetime8錄單日期(15)銷售表(tb_sell_main)銷售表用于保存銷售信息中主要的和相同的信息。銷售表結(jié)構(gòu)如表4-15所示。表4-15 銷售表結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵
30、否功能描述billdatevarchar20錄單日期billcodevarchar20是單據(jù)編號unitsvarchar20購貨單位handlevarchar20經(jīng)手人summaryvarchar100摘要fullgatheringfloat8應(yīng)收金額gatheringfloat8實(shí)收金額(16)庫存商品信息表(tb_stock)庫存商品信息表用于保存庫存商品信息。庫存商品表結(jié)構(gòu)如表4-16所示。表4-16 庫存商品表結(jié)構(gòu) 字段名數(shù)據(jù)類型長度主鍵否功能描述tradecodevarchar6商品編號fullnamedvarchar20是商品全名namevarchar10商品簡稱typevarch
31、ar10商品類型standardvarchar10商品規(guī)格unitvarchar4單位producevarchar20產(chǎn)地qtyfloat8庫存數(shù)量pricefloat8進(jìn)貨時的最后一次進(jìn)價averagepricefloat8加權(quán)平均價salepricefloat8銷售時的最后一次銷價checkedfloat8盤點(diǎn)數(shù)量upperlimitint4存貨報警上限lowerlimitint4存貨報警下限provideinfvarchar40商品供貨信息memovarchar40備注shortcodevarchar10拼音簡碼(17)本單位信息表(tb_unit)本單位信息表用于保存本單位的信息。本單
32、位信息表結(jié)構(gòu)如表4-17所示。表4-17 本單位信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否功能描述numbervarchar20是單位編號namevarchar50單位全稱simplenamevarchar10單位簡稱taxvarchar30稅號telvarchar20單位電話linkmanvarchar10聯(lián)系人addressvarchar60單位地址accountsvarchar80開戶行及帳號(18)往來單位信息表(tb_units)往來單位信息表用于保存往來單位的信息。往來單位信息表結(jié)構(gòu)如表4-18所示。表4-18 往來單位信息表結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否功能描述unitcodevarcha
33、r5單位編號fullnamevarchar20是單位全名namevarchar10單位簡稱taxvarchar30稅號telvarchar20單位電話linkmanvarchar10聯(lián)系人addressvarchar60單位地址accountsvarchar80開戶行及帳號gatheringfloat8累計應(yīng)收款paymentfloat8累計應(yīng)付款shortcodevarchar10拼音簡碼第五章 主要功能模塊設(shè)計5.1 主窗體設(shè)計主窗體是程序的控制中心,其他模塊都是通過主窗體來調(diào)用,所以主窗體的界面要設(shè)計的美觀易操作。超市進(jìn)銷存管理系統(tǒng)主窗體運(yùn)行結(jié)果如圖5-1所示。圖5-1 主窗體運(yùn)行界面1
34、.設(shè)計步驟(1)運(yùn)行delphi會自動創(chuàng)建一個窗體,設(shè)置該窗體為程序主窗體,命名為“f_zct”,設(shè)置窗體的caption屬性為“超市進(jìn)銷存管理系統(tǒng)”;borderstyle屬性為“bsdialog”;keypreview屬性為“true”。(2)在“additional”組件頁中點(diǎn)選“tactionmanager”組件,添加到窗體上,命名為“actionmanage1”,雙擊該組件打開“動作編輯器”,選擇“toolbars”選項(xiàng)卡,單擊【new】按鈕添加“tactiontoolbar”對象,命名為“actiontoolbar1”,如圖5-2所示。 圖5-2 添加tactiontoolbar對
35、象(3)選擇“actions”選項(xiàng)卡,單擊【new action】按鈕,添加“taction”對象,并在“object inspector”窗口中設(shè)置caption屬性,如圖5-3所示。圖5-3 添加taction對象(4)在窗體上點(diǎn)選actionmanager1組件,在“object inspector”窗口中,單擊actionbars屬性右側(cè)的【】按鈕,彈出如圖5-4所示的對話框。圖5-4 菜單欄設(shè)置界面1(5)在彈出的對話框中點(diǎn)選“0-actionbar-actiontoobar1”,在“object inspector”窗口中,單擊items屬性右側(cè)的【】按鈕,在彈出的對話框中,單擊【
36、add new】按鈕添加菜單項(xiàng),并設(shè)置各個菜單項(xiàng)的action屬性,如圖5-5所示。 圖5-5 菜單欄設(shè)置界面2(6)點(diǎn)選各菜單項(xiàng),在“object inspector”窗口中,單擊items屬性右側(cè)的【】按鈕,在彈出的對話框中設(shè)置子菜單項(xiàng)。(7)在“win32”組件頁中點(diǎn)選“tstatusbar”組件,添加到窗體上,命名為“statusbar1”。tstatusbar組件用于顯示狀態(tài)信息,雙擊statusbar1組件,在彈出的對話框中單擊【add new】按鈕添加面板。在“object inspector”窗口中設(shè)置面板的width屬性和caption屬性,如圖5-6所示。圖5-6 面板編輯
37、器界面(8)在“standard”組件頁中點(diǎn)選“tpanel”組件。在窗體上添加3個tpanel組件,分別命名為“panel3”、“panel1”、“panel4”,分別設(shè)置其align屬性為“altop”、“alleft”、“alclient”。(9)在“additional”組件頁中點(diǎn)選“timage”組件,分別添加到panel3組件和panel1組件上,并在“object inspector”窗口中通過picture屬性為其加載圖片。當(dāng)用戶單擊主窗體左側(cè)的按鈕時,在右則將彈出相應(yīng)的功能圖片。在右側(cè)的面板中添加多個tpanel組件,并在相應(yīng)的tpanel組件上添加timage組件,并為ti
38、mage組件加載圖片。(10)在“additional”組件頁中點(diǎn)選“tspeedbutton”組件,將tspeedbutton組件添加到圖片相應(yīng)的位置,設(shè)置其flat屬性為“true”;caption屬性為空。2程序相關(guān)代碼在窗體的onkeydown事件處理過程中設(shè)置用戶按下f5鍵時關(guān)閉窗體。代碼如下:procedure tf_zct.formkeydown(sender: tobject; var key: word; shift: tshiftstate);begin f_zct.keypreview:=true; /設(shè)置窗體先接受鍵盤按下事件 if key=vk_f5 then clo
39、se;end;在窗體的onclosequery事件處理過程中讓用戶確認(rèn)是否關(guān)閉窗體。代碼如下:procedure tf_zct.formclosequery(sender: tobject; var canclose: boolean);begin if application.messagebox(是否退出系統(tǒng)?,提示,mb_yesno)=id_no then canclose:=false;end;在窗體右側(cè)按鈕的單擊事件處理過程中,設(shè)置相應(yīng)的面板在其他面板前面。代碼如下:procedure tf_zct.speedbutton1click(sender: tobject);begin k
40、umanage.bringtofront; /設(shè)置面板在最前面end;在窗體右側(cè)的功能按鈕單擊事件處理過程中,動態(tài)創(chuàng)建相應(yīng)的功能窗體。動態(tài)創(chuàng)建“庫存狀況窗體”代碼如下:procedure tf_zct.speedbutton9click(sender: tobject);begin application.createform(tf_kczk, f_kczk); /創(chuàng)建窗體 f_kczk.showmodal; /顯示窗體 f_kczk.free; /釋放窗體end;在窗體的onshow事件處理過程中,添加tcheckbox組件到面板中。指定tcheckbox組件的父對象并設(shè)置該組件的大小和位置
41、。代碼如下:with statusbar1 do begin checkbox1.parent:=statusbar1; checkbox1.top:=4; checkbox1.height:=height-4; checkbox1.width:=75; checkbox1.left:=panels0.width+panels1.width+panels2.width+10; checkbox1.visible:=true; end;5.2 基礎(chǔ)窗體創(chuàng)建創(chuàng)建基礎(chǔ)窗體主要為了提高開發(fā)速度和代碼的利用率,從基礎(chǔ)窗體繼承的子窗體具有基礎(chǔ)窗體的全部功能?;A(chǔ)窗體如圖5-7所示。圖5-7 基礎(chǔ)窗體1基礎(chǔ)
42、窗體設(shè)計步驟添加一個新窗體,命名為“f_base”,設(shè)置其borderstyle屬性為“bsdialog”;keypreview屬性為“true”。2程序相關(guān)代碼在窗體的onkeypress事件處理過程中設(shè)置enter鍵代替tab鍵。代碼如下:procedure tf_base.formkeypress(sender: tobject; var key: char);begin if key=#13 then perform(wm_nextdlgctl,0,0);end;5.3 數(shù)據(jù)模塊設(shè)計數(shù)據(jù)模塊窗體主要功能是統(tǒng)一管理數(shù)據(jù)組件。數(shù)據(jù)模塊如圖5-8所示。圖5-8 數(shù)據(jù)模塊1數(shù)據(jù)模塊創(chuàng)建(1)在
43、delphi中選擇“file”/“new”/“data module”菜單項(xiàng),新建一個數(shù)據(jù)模塊,命名為“f_dm”。(2)在“ado”組件頁中點(diǎn)選“tadoconnection”組件,添加到窗體上,命名為“adoconnection1”。tadoconnection組件用于連接數(shù)據(jù)庫,其他數(shù)據(jù)庫組件通過它連接數(shù)據(jù)庫。(3)點(diǎn)選adoconnection1組件,在“object inspector”窗口中,單擊connectionstring屬性右側(cè)的【】按鈕,彈出對話框,如圖5-9所示。圖5-9 設(shè)置連接字符串界面(4)單擊【build】按鈕,在彈出的對話框中 “提供程序”選項(xiàng)卡中選擇希望連接
44、的數(shù)據(jù)所需的驅(qū)動程序,如圖5-10所示。圖5-10 驅(qū)動程序選擇界面(5)選擇“連接”選項(xiàng)卡,設(shè)置數(shù)據(jù)庫連接相關(guān)設(shè)置,如圖5-11所示。圖5-11 數(shù)據(jù)庫連接設(shè)置界面(6)單擊【測試連接】按鈕,如果連接成功,則提示成功,單擊【確定】按鈕完成數(shù)據(jù)庫的連接。(7)在窗體上添加tadoquery組件和tadocommand組件,設(shè)置它們的connection屬性為“adoconnection1”。5.4 庫存商品模塊設(shè)計庫存商品模塊主要實(shí)現(xiàn)瀏覽、添加、修改、刪除、查詢、打印商品信息等功能。庫存商品模塊運(yùn)行結(jié)果如圖5-12所示。圖5-12 庫存商品模塊運(yùn)行界面1窗體設(shè)計步驟(1)選擇“file”/“n
45、ew”/“other”菜單項(xiàng),打開“new items”對話框,選擇“ima”選項(xiàng)卡,點(diǎn)選“f_base”選項(xiàng),以繼承方式使用該窗體。單擊【ok】按鈕添加一個新窗體,命名為“f_kcsp”,設(shè)置caption屬性為“庫存商品”。(2)在“win32”組件頁中點(diǎn)選“ttoolbar”組件,添加到窗體上。在該組件上添加tspeedbutton組件,在“object inspector”窗口中通過caption屬性為其設(shè)置相應(yīng)的文本,通過glyph屬性為其指定圖標(biāo)。右鍵單擊ttoolbar組件,在彈出的菜單中選擇“new button”菜單項(xiàng),并設(shè)置其style屬性為“tbsdivider”。(3)
46、在窗體上添加tpanel組件,命名為“panel1”,設(shè)置align屬性為“albottom”;visable屬性為“false”。在tpanel組件上添加tgroupbox組件,設(shè)置其caption屬性為“查詢條件”。在“standard”組件頁中找到tlabel組件、tedit組件和tcombobox組件,添加到tgroupbox組件上。點(diǎn)選tcombobox組件,在“object inspector”窗口中,單擊items屬性,在彈出的對話框中添加項(xiàng)目,如圖5-13所示。圖5-13 添加項(xiàng)目界面(4)在“ado”組件頁中點(diǎn)選“tadoquery”組件,添加到窗體上,命名為“adoquer
47、y1”。在“data access”組件頁中點(diǎn)選“tdatasource”組件,添加到窗體上,命名為“datasource1”。設(shè)置adoquery1組件的connection屬性為“f_dm.adoconnection1”;設(shè)置datasource1組件的dataset屬性為“adoquery1”。(5)在“data controls”組件頁中點(diǎn)選“tdbgrid”組件,添加到窗體上,命名為“dbgrid1”,設(shè)置其align屬性為“alclient”;datasource屬性為“datasource1”,雙擊dbgrid1組件,在彈出的列編輯器中設(shè)置字段標(biāo)題,如圖5-14所示。 圖5-14
48、 為tdbgrid組件設(shè)置列標(biāo)題(6)在“rave”組件頁中點(diǎn)選“trvdatasetconnection”組件、“trvproject”組件,添加到窗體上,分別命名為“rvdatasetconnection1”、“rvproject1”,設(shè)置rvdatasetconnection1組件的dataset屬性為“adoquery1”。設(shè)置rvproject1組件的projectfile屬性為制作的報表文件。2程序相關(guān)代碼在窗體的onshow事件處理過程中打開庫存商品表。代碼如下:procedure tf_kcsp.formshow(sender: tobject);begin inherited
49、; /由于窗體是繼承自基窗體該代碼自動生成。意為調(diào)用父類的同名方法。 change:=false; with adoquery1 do begin close; sql.clear; sql.add(select * from tb_stock order by tradecode asc); /排序 open; end;end;在【添加】按鈕的單擊事件處理過程中動態(tài)創(chuàng)建添加庫存商品基本信息窗體。代碼如下:procedure tf_kcsp.speedbutton4click(sender: tobject);begin inherited; /調(diào)用父類的同名方法 application.createform(tf_sbjbcx, f_sbjbcx); /創(chuàng)建窗體 f_sbjbcx.showm
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《紫藤蘿瀑布》說課稿
- 《有趣的數(shù)字》中班數(shù)學(xué)公開課教案
- 單包工圍墻合同范本
- 加工服務(wù)類合同范本
- 加工棉花店轉(zhuǎn)讓合同范本
- 合伙買機(jī)械簡體合同范例
- 《勾股定理》聽課評課稿
- 企業(yè)員工社保合同范本
- 醫(yī)院職工合同范本
- 512護(hù)士節(jié)演講稿兒科
- 凝固點(diǎn)降低獲獎?wù)n件
- 化工原理Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年
- 基因家族分析
- 手機(jī)以舊換新活動方案
- 高中英語牛津譯林版(2020)中國文化+素材
- 施工便道施工方案三工區(qū)縱向便道施工方案
- 2024年河南省高考對口升學(xué)語文英語試題
- 2024年水利安全員(B證)考試題庫-上(單選題)
- 2025年高考地理復(fù)習(xí):農(nóng)業(yè)(解析版)
- 《中醫(yī)藥學(xué)概論》期末考試復(fù)習(xí)題庫(含答案)
- 義務(wù)教育道德與法治課程標(biāo)準(zhǔn)2022版試題庫及答案
評論
0/150
提交評論