




已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 本文配套程序下載地址 : 無憂無慮畢設(shè)網(wǎng) ()-大學(xué)生畢業(yè)設(shè)計(jì)站 ,免費(fèi)畢業(yè)設(shè)計(jì)論文 ,無憂無慮畢設(shè)網(wǎng) 大學(xué)生畢業(yè)設(shè)計(jì) ,出售各類畢業(yè)設(shè)計(jì)源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費(fèi)視頻教程 ,我們將竭誠(chéng)為您服務(wù)! 畢業(yè)設(shè)計(jì) 院系 _ 專業(yè) _ 班級(jí) _ 姓名 _ 日期 年 月 日 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 中文摘要 布匹出口單管理系統(tǒng) 為布料批發(fā)商管理布料出口提供充足的信息和快捷方便的庫存管理 手段,其開發(fā)內(nèi)容主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。利用 DELPHI 6.0 軟件及其提供的各種面向?qū)ο蟮拈_發(fā)工具,建立完整性強(qiáng)、安全性好的數(shù)據(jù)庫,開發(fā)出功能完備,易使用的應(yīng)用程序。經(jīng)過調(diào)試、編譯與實(shí)現(xiàn),該程序 界面友好、程序設(shè)計(jì)風(fēng)格樸素,使用起來美觀大方、方便易用。尤其是系統(tǒng)的“數(shù)據(jù)管理”的功能極大的減輕工作人員的工作量,并以快速、準(zhǔn)確等優(yōu)點(diǎn)取代人工操作, 提高了布料批發(fā)商管理布料出口的工作效率。 關(guān)鍵詞 : DELPHI 6.0 信息管理系統(tǒng) 數(shù)據(jù)庫 模塊 布匹出口管 理 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Cloth exports single management system for the export of fabrics wholesalers management fabrics provide adequate information and convenient means of inventory management, the development mainly to the establishment and maintenance of databases including background applications and front-end development of the two. Delphi 6.0 and the use of object-oriented software development tools, the establishment of strong integrity, good safety database developed functions, easy to use applications. After debugging, Translation and the realization that the process friendly interface, simple programming style, using up aesthetic generous, convenient user-friendly. Especially systems data management function greatly reduce the workload of staff, and to the rapid, accurate, and other advantages replace manually operated, and enhanced management fabrics fabrics wholesalers export efficiency. Keyword : Delphi 6.0 Information Management System database module cloth export management 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 引 言 1 1 Delphi 語言概 述 2 1.1 Delphi 簡(jiǎn)介 2 1.2 數(shù)據(jù)庫系統(tǒng)簡(jiǎn)介 2 1.3 本應(yīng)用軟件的基本介紹 3 2 本應(yīng)用程序的構(gòu)成和開發(fā)步驟 4 2.1 可行性研究 4 2.1.1 經(jīng)濟(jì)可行性 4 2.1.2 時(shí)間可行性 4 2.1.3 技術(shù)可行性 4 2.1.4 社會(huì)可行性 5 2.2 數(shù)據(jù)庫的建立和連接 5 2.3 系統(tǒng)的總體設(shè)計(jì) 5 2.4 系統(tǒng)的詳細(xì)設(shè)計(jì) 7 3 本程序的技術(shù)實(shí)現(xiàn)及具體功能 13 3.1 登錄的界面與程序設(shè)計(jì)實(shí)現(xiàn) 13 3.2 數(shù)據(jù)錄入界面與代碼設(shè)計(jì)實(shí)現(xiàn)及功能 13 3.3 數(shù)據(jù)查詢界面與代碼設(shè)計(jì)實(shí)現(xiàn) 14, 3.4 資料管理界面與代碼設(shè)計(jì)實(shí)現(xiàn) 15 結(jié) 論 21 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 致 謝 22 參 考 文 獻(xiàn) 23 引 言 隨著經(jīng)濟(jì)的發(fā)展,社會(huì)的進(jìn)步,計(jì)算機(jī)越來越深入到我們?nèi)粘5墓ぷ鲗W(xué)習(xí)及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學(xué)技術(shù)的不斷提高 ,計(jì)算機(jī)科學(xué)日漸成熟 ,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí) ,它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。 它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計(jì)、圖形圖像處理、教育培訓(xùn)以及游戲娛 樂等。各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。以前開發(fā) Windows 應(yīng)用軟件是專業(yè)人員的工作,需要掌握許多專業(yè)知識(shí)和經(jīng)過特殊的培訓(xùn)才能勝任?,F(xiàn)在不同了,即使你沒有接受過嚴(yán)格的程序設(shè)計(jì)訓(xùn)練,使用 Delphi 編程語言 也一樣能夠開發(fā)出功能強(qiáng)大、適合自己特殊需求的應(yīng)用程序了。 Delphi 編程無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 語言 繼承了其他語言易學(xué)易用的特點(diǎn),特別適合于初學(xué)者學(xué)習(xí)Windows 系 統(tǒng)編程。 布匹出口管理系統(tǒng)用計(jì)算機(jī)管理倉庫布匹出口的一種計(jì)算機(jī)應(yīng)用技術(shù)的創(chuàng)新 ,在計(jì)算機(jī)還未普及之前布料出口管理都是由工作人員人工書寫 ,翻閱方式來操作的 .現(xiàn)在一般的商品出口管理都采用計(jì)算機(jī)智能化管理 ,采用計(jì)算機(jī)作為工具的實(shí)用的計(jì)算機(jī)訂單管理程序來幫助前臺(tái)管理員進(jìn)行更有效的出口管理工作。布料出口管理系統(tǒng) 是典型的信息管理系統(tǒng) (MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備 ,易使用等特點(diǎn) 。 經(jīng)過分析 ,我們使用 Delphi編程語言 開發(fā)工具 ,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具 ,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫的智能化對(duì)象 ,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型 ,然后 ,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代 ,不斷修正和改進(jìn) ,直到形成用戶滿意的可行系統(tǒng)。 因?yàn)楸救四芰τ邢?,加上時(shí)間緊迫,所以設(shè)計(jì)出來的本系統(tǒng)可能功能比較簡(jiǎn)單,另外本系統(tǒng)是單機(jī)版,不能實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)操作 ,這些都有待于我在以后的工作學(xué)習(xí)中進(jìn)一步改進(jìn)。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 1.1 Delphi 簡(jiǎn)介 1.1 Delphi 簡(jiǎn)介 Delphi是 Inprise公司出品的一個(gè)優(yōu) 秀 的可視化程序開發(fā)工具軟件,它短小精悍,但功能卻可以與龐大的 visual c+媲美。它易學(xué)易用,如同 VB,因而被稱為“第四代編程語言”。 從 1995 年推出 Delphi1.0 至今已經(jīng)經(jīng)歷了 7 個(gè)版本,Delphi7.0 運(yùn)行在 win9x 或 winme , win2000, winxp,windowsNT 等操作系統(tǒng)下,是一個(gè) 32 位的應(yīng)用程序開發(fā)工具。這里把“ VB”比作是傻瓜相機(jī), Delphi 是帶有自動(dòng)功能的專業(yè)相機(jī)。前些年,軟件界流行一句話叫“真正的程序員用 VC,聰明的程序員用 Delphi”。也 有的把 Delphi 稱作 VB殺手。 1.2 數(shù)據(jù)庫系統(tǒng)簡(jiǎn)介 數(shù)據(jù)庫系統(tǒng)是一個(gè)實(shí)際可運(yùn)行的存儲(chǔ)、維護(hù)和應(yīng)用系統(tǒng)提供數(shù)據(jù)的軟件系統(tǒng),是存儲(chǔ)介質(zhì)、處理對(duì)象和管理系統(tǒng)的集合體。它通常由軟件、數(shù)據(jù)庫和數(shù)據(jù)管理員組成。其軟件主要包括操作系統(tǒng)、各種宿主語言,實(shí)用程序以及數(shù)據(jù)庫管無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 理系統(tǒng)。數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合。這些數(shù)據(jù)為多個(gè)應(yīng)用服務(wù),獨(dú)立于具體的應(yīng)用程序。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,數(shù)據(jù)的插入、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)進(jìn)行。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,它的主要功能是維護(hù) 數(shù)據(jù)庫并有效地訪問數(shù)據(jù)庫中任意部分?jǐn)?shù)據(jù)。對(duì)數(shù)據(jù)庫的維護(hù)包括保持?jǐn)?shù)據(jù)的完整性、一致性和安全性。數(shù)據(jù)管理員負(fù)責(zé)創(chuàng)建、監(jiān)控和維護(hù)整個(gè)數(shù)據(jù)庫,使數(shù)據(jù)能被任何有權(quán)使用的人有效使用。數(shù)據(jù)庫管理員一般是由業(yè)務(wù)水平較高、資歷較深的人員擔(dān)任。 數(shù)據(jù)庫系統(tǒng)的個(gè)體含義是指一個(gè)具體的數(shù)據(jù)庫管理系統(tǒng)軟件和用它建立起來的數(shù)據(jù)庫;它的學(xué)科含義是指研究、開發(fā)、建立、維護(hù)和應(yīng)用數(shù)據(jù)庫系統(tǒng)所涉及的理論、方法、技術(shù)所構(gòu)成的學(xué)科。在這一含義下,數(shù)據(jù)庫系統(tǒng)是軟件研究領(lǐng)域的一個(gè)重要分支,常稱為數(shù)據(jù)庫領(lǐng)域。 數(shù)據(jù)庫研究跨越于計(jì)算機(jī)應(yīng)用、系統(tǒng)軟件 和理論三個(gè)領(lǐng)域,其中應(yīng)用促進(jìn)新系統(tǒng)的研制開發(fā),新系統(tǒng)帶來新的理論研究,而理論研究又對(duì)前兩個(gè)領(lǐng)域起著指導(dǎo)作用。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)是計(jì)算機(jī)應(yīng)用的一個(gè)里程碑,它使得計(jì)算機(jī)應(yīng)用從以科學(xué)計(jì)算為主轉(zhuǎn)向以數(shù)據(jù)處理為主,并從而使計(jì)算機(jī)得以在各行各業(yè)乃至家庭普遍使用。在它之前的文件系統(tǒng)雖然也能處理持久數(shù)據(jù),但是文件系統(tǒng)不提供對(duì)任意部分?jǐn)?shù)據(jù)的快無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 速訪問,而這對(duì)數(shù)據(jù)量不斷增大的應(yīng)用來說是至關(guān)重要的。為了實(shí)現(xiàn)對(duì)任意部分?jǐn)?shù)據(jù)的快速訪問,就要研究許多優(yōu)化技術(shù)。這些優(yōu)化技術(shù)往往很復(fù)雜,是普通用戶難以實(shí)現(xiàn)的,所以就由系統(tǒng)軟件(數(shù)據(jù)庫管理系統(tǒng)) 來完成,而提供給用戶的是簡(jiǎn)單易用的數(shù)據(jù)庫語言。由于對(duì)數(shù)據(jù)庫的操作都由數(shù)據(jù)庫管理系統(tǒng)完成,所以數(shù)據(jù)庫就可以獨(dú)立于具體的應(yīng)用程序而存在,從而數(shù)據(jù)庫又可以為多個(gè)用戶所共享。因此,數(shù)據(jù)的獨(dú)立性和共享性是數(shù)據(jù)庫系統(tǒng)的重要特征。數(shù)據(jù)共享節(jié)省了大量人力物力,為數(shù)據(jù)庫系統(tǒng)的廣泛應(yīng)用奠定了基礎(chǔ)。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使得普通用戶能夠方便地將日常數(shù)據(jù)存入計(jì)算機(jī)并在需要的時(shí)候快速訪問它們,從而使的計(jì)算機(jī)走出科研機(jī)構(gòu)進(jìn)入各行各業(yè)、進(jìn)入家庭。 1.3 本應(yīng)用軟件的基本介紹 1.3 本應(yīng)用軟件的基本介紹 本應(yīng)用軟件先是打開一個(gè)啟動(dòng)窗口 ,就可以進(jìn)入應(yīng)用程序的主窗口了。主界面是一個(gè)圖型界面窗口,整個(gè)平臺(tái)顯示采用人性化方式,可以非常方便的數(shù)據(jù)庫、客戶管理、數(shù)據(jù)分析 ,數(shù)據(jù)查詢等基本信息,管理日常經(jīng)營(yíng)的基本情況,通過各種條件查詢出布匹出口庫存的基本信息,以及打印出查詢出的基本信息,總之一切布匹倉庫基本信息都會(huì)顯示在系統(tǒng)平臺(tái)上,大大提高了管理人員的工作效率。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 2 本應(yīng)用程序的構(gòu)成和開發(fā)步驟 下面從軟件工程的角度介紹本程序的基本開發(fā)步驟。Delphi 應(yīng)用程序一般包含以下三個(gè)基本部分: 應(yīng)用程序運(yùn)行的接口:負(fù)責(zé)系統(tǒng)整體環(huán)境的設(shè)置,運(yùn)行狀態(tài)的監(jiān) 視,應(yīng)用程序的啟動(dòng)等。 應(yīng)用程序的主體:主要完成用戶的業(yè)務(wù)邏輯功能,如系統(tǒng)登陸 ,連接數(shù)據(jù)庫 ,數(shù)據(jù)分析等 應(yīng)用程序的輔助部分:協(xié)助程序主體完成的一些工作。 下面從軟件工程的角度描述本程序的開發(fā)生命周期,開發(fā)過程和組織過程。 2.1 可行性研究 任何一個(gè)系統(tǒng)或一項(xiàng)工程,在建立之前,必須首選進(jìn)行可行性分析,可行性分析包括兩層含義,一是可能性,二是必要性??赡苄灾搁_發(fā)信息系統(tǒng)的條件是否具備,必要性是指客觀上是否真正需要,通過可行性研究,可避免盲目投資,減少政治性要的損失。下面從四方面來討論: 2.1.1 經(jīng)濟(jì)可行性 主要是只指算一個(gè)新的系統(tǒng)開發(fā)所需要的投資費(fèi)用和運(yùn)算費(fèi)用,并與估計(jì)的新系統(tǒng)收益進(jìn)行比較,看是否有利。本系統(tǒng)所需的軟硬件成本比較低,投資小,具有一定的通過性,因此 ,在經(jīng)濟(jì)上是可行的。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 2.1.2 時(shí)間可行性 主要包括系統(tǒng)在目前環(huán)境下能否正常運(yùn)行,運(yùn)行后所引起的各方面,以及這些變化對(duì)社會(huì)或人的因素所產(chǎn)生的影響。本系統(tǒng)對(duì)人事的管理比較全面,可長(zhǎng)期使用。 2.1.3 技術(shù)可行性 利用現(xiàn)有的設(shè)備,軟件及技術(shù)人員,新系統(tǒng)的目標(biāo)能否達(dá)到,這也是可行性研究中需要考慮的一個(gè)問題。關(guān)系型數(shù)據(jù) 庫的高速發(fā)展使管理 信息系統(tǒng)具備了良好的開發(fā)環(huán)境。本系統(tǒng)使用的 Delphi 普及性好,操作簡(jiǎn)單,用戶可以很快掌握使用方法,因此,在技術(shù)上是完全可行的。 2.1.4 社會(huì)可行性 人類社會(huì)文明的發(fā)展已進(jìn)入信息化的高速發(fā)展時(shí)期,傳統(tǒng)的手工方式支持下的管理模式,已經(jīng)不能滿足各方面的需要。開發(fā)本系統(tǒng)的目標(biāo)不僅是提高工作效率,減輕勞動(dòng)強(qiáng)度,而且減少出錯(cuò)率,具有很好的社會(huì)意義。 2.2 數(shù)據(jù)庫的建立和連接 這個(gè)程序采用的數(shù)據(jù)庫是 Microsoft Access2000, Delphi作為數(shù)據(jù)庫的前臺(tái)開發(fā)工具,必須與后臺(tái)數(shù)據(jù)庫進(jìn)行連接,這樣 才能控制和進(jìn)行操作數(shù)據(jù)庫,數(shù)據(jù)庫的連接方式有兩種, ODBC 和 ADO。 ODBC 是數(shù)據(jù)庫的通用接口,其缺點(diǎn)是效率低;專用接口調(diào)用直接速度快,但是通用性差,如果用 ODBC 連接數(shù)據(jù)無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 庫一般要兩個(gè)步驟: 1.要?jiǎng)?chuàng)建數(shù)據(jù)源; 2.創(chuàng)建描述文件。數(shù)據(jù)庫的建立則時(shí)在 access2000 中建立的,在這里你可以設(shè)置數(shù)據(jù)庫的密碼,對(duì)數(shù)據(jù)庫進(jìn)行保護(hù)。在創(chuàng)建數(shù)據(jù)源時(shí)可以通過 BDE administrator 進(jìn)行創(chuàng)建,也可以通過系統(tǒng)控制面板中的 ODBC 數(shù)據(jù)源進(jìn)行建立。而描述文件則可以在 Delphi 的主程序中用 Database Profile 中進(jìn)行建立,之后進(jìn)行數(shù)據(jù)庫的連接。接下來的工作是建表。同樣建表的過程也不是唯一的,但是最終實(shí)現(xiàn)的結(jié)果是唯一的。你可以通過 Access 進(jìn)行建表,也可以通過在 Visual Basic 主程序中建表,也可以通過powerdesigner 進(jìn)行可視化的建立,不過用這種方法,在導(dǎo)入的時(shí)候要把數(shù)據(jù)庫要先斷開,否則數(shù)據(jù)庫的數(shù)據(jù)容易丟失。建表的過程注意規(guī)范化命名規(guī)則,如表的字段名等等。同時(shí)也要注意表的字段長(zhǎng)度和可否為空。因?yàn)橐院笠O(shè)計(jì)到主鍵,外鍵的問題。如果字段名不同,同一字段長(zhǎng)度不同則主鍵和外鍵將會(huì)連接不上??梢娊ū頃r(shí) 應(yīng)做好全局的打算。我在程序開發(fā)的初期,同樣犯了這個(gè)錯(cuò)誤,導(dǎo)致數(shù)據(jù)庫出錯(cuò),有時(shí)還要向表中新加入字段。導(dǎo)致數(shù)據(jù)窗口不好用的連鎖反映。 2.3 系統(tǒng)的總體設(shè)計(jì) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 這個(gè)管理系統(tǒng)從 4 月 1 日開始著手設(shè)計(jì)開發(fā) ,經(jīng)過一段時(shí)間的分析,并根據(jù)對(duì)布料批發(fā)商管理倉庫的具體要求及需要本軟件實(shí)現(xiàn)的功能,將本軟件分為 5 個(gè)大的模塊,分別是:第一部分:數(shù)據(jù)錄入 ; 第二部分:數(shù)據(jù)查詢 ; 第三部分:數(shù)據(jù)分析模塊; 第四部分:資料管理 程序流程圖如下: 。 2.4 系統(tǒng)的詳細(xì)設(shè)計(jì) 進(jìn)入 Access 后要做的第一件事就是建立一個(gè)數(shù)據(jù)庫。Access 提供了 6 種用構(gòu)造數(shù)據(jù)庫系統(tǒng)的對(duì)象,根據(jù)本課題的需要,在這里選擇一個(gè)空的數(shù)據(jù)庫,命名 建立了一個(gè)數(shù)據(jù)庫程序登陸 主界面 數(shù)據(jù)錄入 數(shù)據(jù)查詢 數(shù)據(jù)分析 資料管理 關(guān)于 幫助 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 名稱為 “ bysj” , 布匹出口管理系統(tǒng)。 并在此數(shù)據(jù)庫下創(chuàng)建了四個(gè)表,用于存放原始數(shù)據(jù)。它只是存放數(shù)據(jù),對(duì)其中數(shù)據(jù)的修改要通過對(duì)應(yīng)的窗體來完成。 創(chuàng)建各表的具體結(jié)構(gòu)如下 : 1.reddname 表 : 2.客戶數(shù)據(jù)表 : 3.masterdata 表 : 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 4.用戶表 : 3 本程序的技術(shù)實(shí)現(xiàn)及具體功能 3.1 登錄的界面與程序設(shè)計(jì)實(shí)現(xiàn) 1. 界面設(shè)計(jì) : 代碼分析 : object LoginForm: TLoginForm Left = 379 Top = 206 BorderStyle = bsDialog Caption = #30331#24405#31995#32479 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: ClientHeight = 83 ClientWidth = 261 Color = clBtnFace Font.Charset = GB2312_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = #23435#20307 Font.Style = OldCreateOrder = False Position = poMainFormCenter PixelsPerInch = 96 TextHeight = 12 object Bevel1: TBevel Left = 0 Top = 0 Width = 261 Height = 65 Align = alTop Shape = bsBottomLine end 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: object Label1: TLabel Left = 10 Top = 13 Width = 143 Height = 12 Caption = #35831#36755#20837#23494#30721#65306(#40664#35748#20026#31354) end object PassSpeedButton: TSpeedButton Left = 167 Top = 30 Width = 91 Height = 27 Caption = #30830#23450 Flat = True OnClick = PassSpeedButtonClick end object PassEdit: TEdit Left = 10 Top = 32 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Width = 138 Height = 21 BevelKind = bkFlat BorderStyle = bsNone CharCase = ecUpperCase PasswordChar = * TabOrder = 0 OnKeyPress = PassEditKeyPress end end 3.2 數(shù)據(jù)錄入界面與代碼設(shè)計(jì)實(shí)現(xiàn)及功能 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 代碼設(shè)計(jì) : unit input; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, ComCtrls; type TInputForm = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label17: TLabel; Label31: TLabel; OrderNoEdit: TEdit; KhpmEdit: TEdit; CfNoteEdit: TEdit; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: WidthEdit: TEdit; ShEdit: TEdit; CfComboBox: TComboBox; CfnrEdit: TEdit; GhEdit: TEdit; ShStyleComboBox: TComboBox; Label8: TLabel; HtbhEdit: TEdit; Label9: TLabel; DyzbEdit: TEdit; Panel2: TPanel; InputSpeedButton: TSpeedButton; Panel17: TPanel; Panel4: TPanel; ClearSpeedButton: TSpeedButton; SaveSpeedButton: TSpeedButton; Panel19: TPanel; PrintTotalSpeedButton: TSpeedButton; PrintComboBox: TComboBox; Panel3: TPanel; Panel18: TPanel; Bevel1: TBevel; Label26: TLabel; Label27: TLabel; Label28: TLabel; MzEdit: TEdit; KcEdit: TEdit; mcEdit: TEdit; DataInputStringGrid: TStringGrid; Splitter1: TSplitter; Panel5: TPanel; Panel6: TPanel; CkRadioButton: TRadioButton; NxRadioButton: TRadioButton; Panel7: TPanel; Panel8: TPanel; SelectPrintStringGrid: TStringGrid; Panel9: TPanel; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: SortPrintSpeedButton: TSpeedButton; PrintNextSpeedButton: TSpeedButton; ClientNameComboBox: TComboBox; CpmcComboBox: TComboBox; PreviewCheckBox: TCheckBox; PrintCFCheckBox: TCheckBox; XsComboBox: TComboBox; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure XsComboBoxChange(Sender: TObject); procedure ClientNameComboBoxEnter(Sender: TObject); procedure CpmcComboBoxKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure CpmcComboBoxExit(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure InputSpeedButtonClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure mcEditKeyPress(Sender: TObject; var Key: Char); procedure CfNoteEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure SaveSpeedButtonClick(Sender: TObject); procedure ClearSpeedButtonClick(Sender: TObject); procedure PrintTotalSpeedButtonClick(Sender: TObject); procedure SelectPrintStringGridDblClick(Sender: TObject); procedure DataInputStringGridDblClick(Sender: TObject); private Private declarations function InputCheckData():string; public Public declarations end; var InputForm: TInputForm; implementation 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: uses dataform, main, DataManager; $R *.dfm procedure TInputForm.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TInputForm.XsComboBoxChange(Sender: TObject); begin SelectPrintStringGrid.RowCount := StrToInt(XsComboBox.Text); end; procedure TInputForm.ClientNameComboBoxEnter(Sender: TObject); begin if ClientNameComboBox.Items.count 1 then begin /添加客戶名稱至列表 try with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(select * from ClientName); Open; while not Eof do begin ClientNameComboBox.Items.Add(FieldByName(客戶名稱 ).AsString); Next; end; Close; end; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,提取客戶名稱列表時(shí)失敗! ,0); MDataForm.FreeFind_ADOQuery.Close; end; end; end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: procedure TInputForm.CpmcComboBoxKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=VK_F3 then begin try with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(select 品種名稱 from BreedName where 品種名稱 like :pm); Parameters.ParamByName(pm).Value := %+CpmcComboBox.Text+%; Open; CpmcComboBox.Items.Clear; while not Eof do begin CpmcComboBox.Items.Add(FieldByName(品種名稱 ).AsString); Next; end; Close; end; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,提取品種名稱資料失??! ,0); end; end; end; procedure TInputForm.CpmcComboBoxExit(Sender: TObject); begin try /讀取品種資料 with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(select * from BreedName where 品種名稱 = :pm); Parameters.ParamByName(pm).Value := CpmcComboBox.Text; Open; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: WidthEdit.Text := FieldByName(幅寬 ).AsString; MzEdit.Text := FieldByName(碼重 ).AsString; KcEdit.Text := FieldByName(扣除 ).AsString; CfnrEdit.Text := FieldByName(成份 ).AsString; KhpmEdit.Text := CpmcComboBox.Text; Close; end; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,讀取你所選擇的品種名稱資料時(shí)失?。?,0); MDataForm.FreeFind_ADOQuery.Close; end; end; procedure TInputForm.FormKeyPress(Sender: TObject; var Key: Char); begin if (Key=#13) and not(ActiveControl is TStringGrid) then begin if (ActiveControl is TEdit) then begin if (ActiveControl as TEdit).Name mcEdit) then Perform(WM_NEXTDLGCTL,0,0); end else Perform(WM_NEXTDLGCTL,0,0); end; end; procedure TInputForm.InputSpeedButtonClick(Sender: TObject); var qdbh:string; inno:integer; SaveBreed :boolean; begin try with MDataForm.FreeFind_ADOQuery do begin close; SQL.Clear; SQL.Add(select max(清單編號(hào) ) as 編號(hào) from MasterData where 錄入日期=:Today); 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Parameters.ParamByName(Today).Value := FormatDateTime(yyyy-mm-dd,date); Open; OrderNoEdit.Text := fieldbyname(編號(hào) ).AsString; Close; end; if OrderNoEdit.text = then OrderNoEdit.text := FormatDateTime(yyyymmdd,date)+001 else begin qdbh := IntToStr(StrToInt(copy(OrderNoEdit.text,9,3)+1); if Length(qdbh)=3 then OrderNoEdit.text :=copy(OrderNoEdit.text,1,8)+qdbh; if Length(qdbh)=2 then OrderNoEdit.text :=copy(OrderNoEdit.text,1,8)+0+qdbh; if Length(qdbh)=1 then OrderNoEdit.text :=copy(OrderNoEdit.text,1,8)+00+qdbh; end; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,產(chǎn)生清單編號(hào)時(shí)失敗! ,0); end; for inno:=1 to DataInputStringGrid.RowCount-1 do begin DataInputStringGrid.Cells0,inno := IntToStr(inno); DataInputStringGrid.Cells1,inno := ; DataInputStringGrid.Cells2,inno := ; DataInputStringGrid.Cells3,inno := ; DataInputStringGrid.Cells4,inno := ; end; mcEdit.ReadOnly := false; mcEdit.SetFocus; /檢查客戶名稱及品種名稱是否已有,保存數(shù)據(jù) try with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(select * from ClientName where 客戶名稱 =:cm); Parameters.ParamByName(cm).Value :=ClientNameComboBox.Text; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Open; if RecordCount1 then begin /新客戶 if MainForm.PshowMessage(提示 ,該客戶名稱是新客戶名稱,是否保存? ,1) then DataManagerForm.SaveClientName(ClientNameComboBox.Text); end; Close; end; with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(select * from BreedName where 品種名稱 =:pm); Parameters.ParamByName(pm).Value :=CpmcComboBox.Text; Open; /新品種 if RecordCount300 then begin if not MainForm.PshowMessage(提示 ,你輸入數(shù)據(jù)太大 ,可能有誤,確定嗎? ,1) then begin DataCheck := false; mcEdit.SelectAll; end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: end; if DataCheck then begin if (MzEdit.Text ) and (KcEdit.Text) then begin DataInputStringGrid.Cells3,i :=FloatToStr(StrToFloat(mcEdit.text) * StrToFloat(MzEdit.text); DataInputStringGrid.Cells2,i :=FloatToStr(StrToFloat(mcEdit.text) * StrToFloat(MzEdit.text)-StrToFloat(KcEdit.text); DataInputStringGrid.Cells3,i :=Format(%8.1f,StrToFloat(DataInputStringGrid.Cells3,i); DataInputStringGrid.Cells2,i :=Format(%8.1f,StrToFloat(DataInputStringGrid.Cells2,i); DataInputStringGrid.Cells1,i :=mcEdit.Text; mcEdit.SelectAll; end else MainForm.PshowMessage(提示 ,一定要輸入碼重與扣除,不能為空,即使為0 也要輸入! ,0); end; end; end; procedure TInputForm.CfNoteEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=VK_F3 then begin /修改調(diào)出的庫存成份 if CfNoteEdit.text then begin CfnrEdit.text := CfnrEdit.text+CfNoteEdit.Text+% +CfComboBox.Text+ ; CfComboBox.SetFocus; end else KhpmEdit.SetFocus; end; end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: procedure TInputForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (ssCtrl in Shift) and (Key=Word(I) then InputSpeedButtonClick(nil); end; procedure TInputForm.SaveSpeedButtonClick(Sender: TObject); var CheckData :boolean; ErrorMess :string; SaveClient :integer; begin CheckData := true; ErrorMess := InputCheckData; if ErrorMess then begin MainForm.PshowMessage(提示 ,ErrorMess,0); CheckData := false; end; if CheckData then begin /保存數(shù)據(jù) try /保存主表數(shù)據(jù) MDataForm.DataADOConnection.BeginTrans; with MDataForm.InputMasterADOQuery do begin Close; SQL.Clear; SQL.Add(Insert Into MasterData Values(:OrderNo, :InDate, :ClientName, + :ClientBreed, :BreedName, :ColorNo, :Width, :cf, :gh, :htbh, :dyzb); Parameters.ParamByName(OrderNo).Value := OrderNoEdit.Text; Parameters.ParamByName(InDate).Value := Date; Parameters.ParamByName(ClientName).Value := ClientNameComboBox.Text; Parameters.ParamByName(ClientBreed).Value := KhpmEdit.Text; Parameters.ParamByName(BreedName).Value := CpmcComboBox.Text; Parameters.ParamByName(ColorNo).Value := ShStyleComboBox.Text + 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: +ShEdit.Text; Parameters.ParamByName(Width).Value := WidthEdit.Text; Parameters.ParamByName(cf).Value := Trim(CfnrEdit.Text); Parameters.ParamByName(gh).Value := GhEdit.Text; Parameters.ParamByName(htbh).Value := HtbhEdit.Text; Parameters.ParamByName(dyzb).Value := DyzbEdit.Text; ExecSQL; end; /保存從表數(shù)據(jù) for SaveClient :=1 to DataInputStringGrid.RowCount-1 do begin if DataInputStringGrid.Cells1,SaveClient then begin with MDataForm.InputClientADOQuery do begin Close; SQL.Clear; SQL.Add(Insert Into ClientData Values(:OrderNO, :bh, :mc, :jz, :mz); Parameters.ParamByName(OrderNO).Value := OrderNoEdit.Text; Parameters.ParamByName(bh).Value := StrToInt(DataInputStringGrid.Cells0,SaveClient); Parameters.ParamByName(mc).Value := StrToFloat(DataInputStringGrid.Cells1,SaveClient); Parameters.ParamByName(jz).Value := StrToFloat(DataInputStringGrid.Cells2,SaveClient); Parameters.ParamByName(mz).Value := StrToFloat(DataInputStringGrid.Cells3,SaveClient); ExecSQL; end; end; end; MDataForm.DataADOConnection.CommitTrans; MainForm.PshowMessage(提示 ,數(shù)據(jù)已經(jīng)成功保存至數(shù)據(jù)庫! ,0); mcEdit.ReadOnly := true; except MDataForm.DataADOConnection.RollbackTrans; MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,保存數(shù)據(jù)至服務(wù)器時(shí)失??! +#13+ 請(qǐng)檢查數(shù)據(jù)的有效性,比如數(shù)據(jù)輸入字母之類。 ,0); end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: end; end; procedure TInputForm.ClearSpeedButtonClick(Sender: TObject); var Cleari, Clearj :integer; begin if MainForm.PshowMessage(提示 ,是否確定要清除界面數(shù)據(jù)? ,1) then begin for Cleari :=0 to ComponentCount-1 do begin if ComponentsCleari is TEdit then (ComponentsCleari as TEdit).Text :=; if ComponentsCleari is TComboBox then (ComponentsCleari as TComboBox).Text :=; end; with DataInputStringGrid do begin for Cleari :=1 to RowCount-1 do for Clearj :=0 to ColCount-1 do CellsClearj,Cleari :=; end; with SelectPrintStringGrid do begin for Cleari :=1 to RowCount-1 do for Clearj :=0 to ColCount-1 do CellsClearj,Cleari :=; end; end; end; function TInputForm.InputCheckData: string; var checki :integer; begin /檢查輸入數(shù)據(jù)的正確性 Result :=; if OrderNoEdit.Text= then 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: begin Result :=請(qǐng)先按一下輸入清單,生成一個(gè)清單編號(hào)! ; Exit; end; if ClientNameComboBox.Text = then begin Result :=請(qǐng)輸入客戶名稱! ; exit; end; if CpmcComboBox.Text= then begin Result :=請(qǐng)輸入品種名稱,可以 按 F3 功能鍵! ; exit; end; if CfnrEdit.Text= then begin Result :=請(qǐng)輸入成份內(nèi)容! ; exit; end; if (ShStyleComboBox.Text=) or (ShEdit.Text=) then begin Result :=請(qǐng)輸入色號(hào)內(nèi)容! ; Exit; end; if WidthEdit.Text= then begin Result :=請(qǐng)輸入幅寬! ; Exit; end; if GhEdit.Text= then begin Result :=請(qǐng)輸入缸號(hào)! ; Exit; end; if KhpmEdit.Text= then begin Result :=請(qǐng)輸入客戶名稱! ; Exit; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: end; for checki:=1 to DataInputStringGrid.RowCount-1 do begin if DataInputStringGrid.Cells1,checki= then Break; end; if Checki=:sd and 錄入日期=:ed); Parameters.ParamByName(sd).Value := FormatDateTime(yyyy-mm-dd,SFindDateTime.Date); Parameters.ParamByName(ed).Value := FormatDateTime(yyyy-mm-dd,EFindDateTime.Date); end else 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: begin SQL.Add(select 清單編號(hào) from MasterData where 錄入日期 =:sd); Parameters.ParamByName(sd).Value := FormatDateTime(yyyy-mm-dd,SFindDateTime.Date); end; Open; end; end else begin; /開始其它查詢 with MDataForm.FindADOQuery do begin Close; SQL.Clear; if (OtherComboBox.Text=品種名稱 ) or (OtherComboBox.Text=客戶名稱 ) then begin SQL.Add(select 清單編號(hào) from MasterData where + OtherComboBox.text+ like :z); Parameters.ParamByName(z).value := %+OtherEdit.text+%; end else begin SQL.Add(select 清單編號(hào) from MasterData where + OtherComboBox.text+ = :z); Parameters.ParamByName(z).value := StrToInt(OtherEdit.text); end; Open; end; end; /查詢完畢 with MDataForm.FindADOQuery do /開始添加數(shù)據(jù) begin FindDataListBox.Items.Clear; while not Eof do begin FindDataListBox.Items.Add(FieldByName(清單編號(hào) ).AsString); Next; end; Close; end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,查詢系統(tǒng)數(shù)據(jù)庫時(shí)失??! ,0); MDataForm.FindADOQuery.Close; end; end; procedure TFindForm.OtherComboBoxChange(Sender: TObject); begin OtherFindRadioButton.Checked := true; end; procedure TFindForm.SFindDateTimeChange(Sender: TObject); begin DateFindRadioButton.Checked := true; end; procedure TFindForm.FindDataListBoxClick(Sender: TObject); var SelNo :string; ShowI :integer; begin SelNo := FindDataListBox.ItemsFindDataListBox.itemindex; /根據(jù)流水號(hào)查詢 try with MDataForm.FindMasterADOQuery do begin Close; SQL.Clear; SQL.Add(select * from MasterData where 清單編號(hào) =:no); Parameters.ParambyName(no).Value :=SelNo; Open; /顯示主庫數(shù)據(jù) FindMasterStringGrid.ColCount := FieldCount; For ShowI:=0 to FieldCount-1 do begin FindMasterStringGrid.CellsShowI,0 := Fields.FieldsShowI.FieldName; FindMasterStringGrid.CellsShowI,1 := Fields.FieldsShowI.AsString; end; Close; end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: with MDataForm.FindClientADOQuery do begin Close; SQL.Clear; SQL.Add(select * from ClientData where 清單編號(hào) =:no); Parameters.ParambyName(no).Value :=SelNo; Open; /顯示主庫數(shù)據(jù) end; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,查詢并顯示數(shù)據(jù)庫內(nèi)容時(shí)失??! ,0); end; end; procedure TFindForm.DelSpeedButtonClick(Sender: TObject); var DelNO :string; DelList :integer; begin /刪除選定的清單 DelNo := FindMasterStringGrid.Cells0,1; if DelNO then begin if MainForm.PshowMessage(提示 ,是否確定在刪除編號(hào)為“ +DelNo+”數(shù)據(jù)清單? ,1) then begin try MDataForm.DataADOConnection.BeginTrans; with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(Delete from MasterData where 清單編號(hào) =:OrderNo); Parameters.ParamByName(OrderNo).Value := DelNo; ExecSQL; end; with MDataForm.FreeADOQuery do begin Close; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: SQL.Clear; SQL.Add(Delete from ClientData where 清單編號(hào) =:OrderNo); Parameters.ParamByName(OrderNo).Value := DelNo; ExecSQL; end; MDataForm.DataADOConnection.CommitTrans; /清理界面 for DelList:=0 to FindDataListBox.Items.Count-1 do begin if FindDataListBox.Items.StringsDelList= DelNo then begin FindDataListBox.items.Delete(DelList); Break; end; end; MDataForm.FindClientADOQuery.Close; for DelList :=0 to FindMasterStringGrid.ColCount-1 do FindMasterStringGrid.CellsDelList,1 :=; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,刪除選定的清單失敗! ,0); MDataForm.DataADOConnection.RollbackTrans; end; end; end; end; procedure TFindForm.FindListDBGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (MDataForm.FindClientADOQuery.RecNo mod 2) = 1 then begin with FindListDBGrid do begin canvas.brush.color:= $00F2D5D0; DefaultDrawColumnCell(Rect, DataCol,Column,State); end; end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: end; procedure TFindForm.DateCheckBoxClick(Sender: TObject); begin EFindDateTime.Date := Date; end; procedure TFindForm.ModiSpeedButtonClick(Sender: TObject); var SaveData :integer; begin if FindMasterStringGrid.Cells0,1 then begin if ModiSpeedButton.Caption =修改數(shù)據(jù) (Ctrl+M) then begin if MainForm.PshowMessage(提示 ,是否要進(jìn)入數(shù)據(jù)修改狀態(tài)? ,1) then begin FindMasterStringGrid.Options := FindMasterStringGrid.Options +goEditing -goRowSelect; ModiSpeedButton.Caption :=保存數(shù)據(jù) (Ctrl+S); FindListDBGrid.FixedColor := clRed; FindDataListBox.Enabled := false; FindMasterStringGrid.FixedCols :=2; FindMasterStringGrid.SetFocus; FindListDBGrid.ReadOnly := false; FindListDBGrid.Options := FindListDBGrid.Options+dgEditing-dgRowSelect; FindListDBGrid.Columns.Items1.ReadOnly := true; PageControl1.ActivePageIndex :=0; end; end else begin if MainForm.PshowMessage(提示 ,確定要保存修改的數(shù)據(jù)嗎?確定保存,取消不保存! ,1) then begin /保存修改數(shù)據(jù) try with MDataForm.InputMasterADOQuery do begin Close; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: SQL.Clear; SQL.Add(update masterdata set 客 戶 名 稱 =:ClientName, 客 戶 品 名=:ClientBreed, + 品種名稱 =:BreedName, 色號(hào) =:ColorNo, 幅寬 =:Width, 成份 =:cf, + 缸號(hào) =:gh, 合同編號(hào) =:htbh, 東越自編 =:dyzb + where 清單編號(hào) =:OrderNo); Parameters.ParamByName(OrderNo).Value := FindMasterStringGrid.Cells0,1; Parameters.ParamByName(ClientName).Value := FindMasterStringGrid.Cells2,1; Parameters.ParamByName(ClientBreed).Value := FindMasterStringGrid.Cells3,1; Parameters.ParamByName(BreedName).Value := FindMasterStringGrid.Cells4,1; Parameters.ParamByName(ColorNo).Value := FindMasterStringGrid.Cells5,1; Parameters.ParamByName(Width).Value := FindMasterStringGrid.Cells6,1; Parameters.ParamByName(cf).Value := FindMasterStringGrid.Cells7,1; Parameters.ParamByName(gh).Value := FindMasterStringGrid.Cells8,1; Parameters.ParamByName(htbh).Value := FindMasterStringGrid.Cells9,1; Parameters.ParamByName(dyzb).Value := FindMasterStringGrid.Cells10,1; ExecSQL; end; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,保存修改數(shù)據(jù)時(shí)失敗! ,0); end; end else FindDataListBoxClick(nil);/取消修改 FindMasterStringGrid.Options := FindMasterStringGrid.Options -goEditing +goRowSelect; ModiSpeedButton.Caption :=修改數(shù)據(jù) (Ctrl+M); FindListDBGrid.FixedColor := clBtnFace; FindDataListBox.Enabled := true; FindMasterStringGrid.FixedCols :=0; FindListDBGrid.ReadOnly := true; FindListDBGrid.Options := FindListDBGrid.Options-dgEditing+dgRowSelect; FindListDBGrid.Columns.Items1.ReadOnly := false; end; end; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: end; procedure TFindForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (ssCtrl in Shift) and (Key=word(F) then FindSpeedButtonClick(nil); end; procedure TFindForm.FindListDBGridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=VK_Return then Key:=VK_Tab; end; procedure TFindForm.FormCreate(Sender: TObject); begin PageControl1.ActivePageIndex :=0; end; procedure TFindForm.SpeedButton7Click(Sender: TObject); var FindOK :boolean; begin /打開部分?jǐn)?shù)據(jù) FindOK := true; if (FindSmallEdit.Text=) or (FindMaxEdit.text=) then begin FindOK := false; MainForm.PshowMessage(提示 ,請(qǐng)指定編號(hào)范圍! ,0); end; if FindOK then begin try With MDataForm.FindClientADOQuery do begin Close; SQL.Clear; SQL.Add(select * from ClientData where 清單編號(hào) =:no and 編號(hào) =:sno and 編號(hào)無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: =:mno); Parameters.ParambyName(no).Value :=FindMasterStringGrid.Cells0,1; Parameters.ParambyName(sno).Value := StrToInt(FindSmallEdit.Text); Parameters.ParambyName(mno).Value := StrToInt(FindMaxEdit.text); Prepared; Open; end; except MainForm.PshowMessage(系統(tǒng)錯(cuò)誤 ,打開部分?jǐn)?shù)據(jù)庫時(shí)失??!請(qǐng)檢查編號(hào)輸入是否正確! ,0); end; end; end; procedure TFindForm.PageControl1Change(Sender: TObject); begin if PageControl1.ActivePageIndex =1 then FindSmallEdit.SetFocus; end; procedure TFindForm.FindMoreDBGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (MDataForm.FindClientADOQuery.RecNo mod 2) = 1 then begin with FindMoreDBGrid do begin canvas.brush.color:= $00F2D5D0; DefaultDrawColumnCell(Rect, DataCol,Column,State); end; end; end; end. 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 3.4 資料管理界面與代碼設(shè)計(jì)實(shí)現(xiàn) 代碼設(shè)計(jì) : unit DataManager; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, ComCtrls, StdCtrls, Grids, DBGrids; type TDataManagerForm = class(TForm) Panel1: TPanel; PzmcSpeedButton: TSpeedButton; ClientNameSpeedButton: TSpeedButton; Panel2: TPanel; ExitSpeedButton: TSpeedButton; Bevel1: TBevel; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: InputPageControl: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; Panel3: TPanel; PMListDBGrid: TDBGrid; Label1: TLabel; PzmcEdit: TEdit; Label2: TLabel; CfEdit: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; WidthEdit: TEdit; MzEdit: TEdit; KcEdit: TEdit; Panel5: TPanel; Bevel2: TBevel; Panel9: TPanel; Panel10: TPanel; KHListDBGrid: TDBGrid; Label11: TLabel; ClientNameEdit: TEdit; AddPMSpeedButton: TSpeedButton; DelPMSpeedButton: TSpeedButton; AddKHSpeedButton: TSpeedButton; DelKHSpeedButton: TSpeedButton; procedure ExitSpeedButtonClick(Sender: TObject); procedure PzmcSpeedButtonClick(Sender: TObject); procedure ClientNameSpeedButtonClick(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure AddPMSpeedButtonClick(Sender: TObject); procedure DelPMSpeedButtonClick(Sender: TObject); procedure AddKHSpeedButtonClick(Sender: TObject); procedure DelKHSpeedButtonClick(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure PMListDBGridDblClick(Sender: TObject); procedure PMListDBGridDrawColumnCell(Sender: TObject; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure KHListDBGridDrawColumnCell(Sender: TObject; const R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國(guó)自動(dòng)刀閘閥行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 幼兒園體能體態(tài)訓(xùn)練計(jì)劃
- 2025至2030中國(guó)胎兒和新生兒設(shè)備行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)肉牛養(yǎng)殖業(yè)行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展報(bào)告
- 2025至2030中國(guó)聚氨酯發(fā)泡機(jī)行業(yè)深度研究及發(fā)展前景投資評(píng)估分析
- 2025至2030中國(guó)羊毛脂衍生物行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)網(wǎng)上證券行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資機(jī)會(huì)報(bào)告
- 2025至2030中國(guó)繡花女式襯衫行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國(guó)組合群閃光信標(biāo)浮標(biāo)行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國(guó)紙錐杯行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 中國(guó)陶瓷史題目及答案
- 湖北省2025年中考英語真題試卷(含答案)
- 2025年中遠(yuǎn)海運(yùn)集團(tuán)招聘筆試備考題庫(帶答案詳解)
- 護(hù)理查房與病歷討論
- 2025-2030中國(guó)遙控武器站行業(yè)現(xiàn)狀調(diào)研與前景趨勢(shì)預(yù)測(cè)報(bào)告
- 內(nèi)蒙古呼倫貝爾能源投資開發(fā)有限責(zé)任公司招聘筆試真題2024
- WST821-2023托育機(jī)構(gòu)質(zhì)量評(píng)估標(biāo)準(zhǔn)
- 2025至2030中國(guó)循環(huán)腫瘤細(xì)胞(CTC)行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國(guó)大型連鎖超市行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- T-GDMDMA 0044-2025 一次性使用血液灌流器的臨床使用指南
- 2025-2030年中國(guó)鱈魚腸行業(yè)市場(chǎng)發(fā)展分析及發(fā)展前景與投資策略研究報(bào)告
評(píng)論
0/150
提交評(píng)論