布匹出口管理系統-無憂無慮畢設網_第1頁
布匹出口管理系統-無憂無慮畢設網_第2頁
布匹出口管理系統-無憂無慮畢設網_第3頁
布匹出口管理系統-無憂無慮畢設網_第4頁
布匹出口管理系統-無憂無慮畢設網_第5頁
已閱讀5頁,還剩51頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 本文配套程序下載地址 : 無憂無慮畢設網 ()-大學生畢業設計站 ,免費畢業設計論文 ,無憂無慮畢設網 大學生畢業設計 ,出售各類畢業設計源碼 ,論文 ,程序源碼 ,網站源碼 ,免費視頻教程 ,我們將竭誠為您服務! 畢業設計 院系 _ 專業 _ 班級 _ 姓名 _ 日期 年 月 日 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 中文摘要 布匹出口單管理系統 為布料批發商管理布料出口提供充足的信息和快捷方便的庫存管理 手段,其開發內容主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。利用 DELPHI 6.0 軟件及其提供的各種面向對象的開發工具,建立完整性強、安全性好的數據庫,開發出功能完備,易使用的應用程序。經過調試、編譯與實現,該程序 界面友好、程序設計風格樸素,使用起來美觀大方、方便易用。尤其是系統的“數據管理”的功能極大的減輕工作人員的工作量,并以快速、準確等優點取代人工操作, 提高了布料批發商管理布料出口的工作效率。 關鍵詞 : DELPHI 6.0 信息管理系統 數據庫 模塊 布匹出口管 理 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 引 言 1 1 Delphi 語言概 述 2 1.1 Delphi 簡介 2 1.2 數據庫系統簡介 2 1.3 本應用軟件的基本介紹 3 2 本應用程序的構成和開發步驟 4 2.1 可行性研究 4 2.1.1 經濟可行性 4 2.1.2 時間可行性 4 2.1.3 技術可行性 4 2.1.4 社會可行性 5 2.2 數據庫的建立和連接 5 2.3 系統的總體設計 5 2.4 系統的詳細設計 7 3 本程序的技術實現及具體功能 13 3.1 登錄的界面與程序設計實現 13 3.2 數據錄入界面與代碼設計實現及功能 13 3.3 數據查詢界面與代碼設計實現 14, 3.4 資料管理界面與代碼設計實現 15 結 論 21 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 致 謝 22 參 考 文 獻 23 引 言 隨著經濟的發展,社會的進步,計算機越來越深入到我們日常的工作學習及生活中,成為我們日常生活中不可缺少的輔助工具。 隨著科學技術的不斷提高 ,計算機科學日漸成熟 ,其強大的功能已為人們深刻認識 ,它已進入人類社會的各個領域并發揮著越來越重要的作用。 它已經深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設計、圖形圖像處理、教育培訓以及游戲娛 樂等。各行各業的人們無須經過特別的訓練就能夠使用電腦完成許許多多復雜的工作。然而,雖然現在世界上已經充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發適合自己特殊需求的軟件。以前開發 Windows 應用軟件是專業人員的工作,需要掌握許多專業知識和經過特殊的培訓才能勝任。現在不同了,即使你沒有接受過嚴格的程序設計訓練,使用 Delphi 編程語言 也一樣能夠開發出功能強大、適合自己特殊需求的應用程序了。 Delphi 編程無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 語言 繼承了其他語言易學易用的特點,特別適合于初學者學習Windows 系 統編程。 布匹出口管理系統用計算機管理倉庫布匹出口的一種計算機應用技術的創新 ,在計算機還未普及之前布料出口管理都是由工作人員人工書寫 ,翻閱方式來操作的 .現在一般的商品出口管理都采用計算機智能化管理 ,采用計算機作為工具的實用的計算機訂單管理程序來幫助前臺管理員進行更有效的出口管理工作。布料出口管理系統 是典型的信息管理系統 (MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備 ,易使用等特點 。 經過分析 ,我們使用 Delphi編程語言 開發工具 ,利用其提供的各種面向對象的開發工具 ,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象 ,首先在短時間內建立系統應用原型 ,然后 ,對初始原型系統進行需求迭代 ,不斷修正和改進 ,直到形成用戶滿意的可行系統。 因為本人能力有限,加上時間緊迫,所以設計出來的本系統可能功能比較簡單,另外本系統是單機版,不能實現網絡互聯操作 ,這些都有待于我在以后的工作學習中進一步改進。 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 1.1 Delphi 簡介 1.1 Delphi 簡介 Delphi是 Inprise公司出品的一個優 秀 的可視化程序開發工具軟件,它短小精悍,但功能卻可以與龐大的 visual c+媲美。它易學易用,如同 VB,因而被稱為“第四代編程語言”。 從 1995 年推出 Delphi1.0 至今已經經歷了 7 個版本,Delphi7.0 運行在 win9x 或 winme , win2000, winxp,windowsNT 等操作系統下,是一個 32 位的應用程序開發工具。這里把“ VB”比作是傻瓜相機, Delphi 是帶有自動功能的專業相機。前些年,軟件界流行一句話叫“真正的程序員用 VC,聰明的程序員用 Delphi”。也 有的把 Delphi 稱作 VB殺手。 1.2 數據庫系統簡介 數據庫系統是一個實際可運行的存儲、維護和應用系統提供數據的軟件系統,是存儲介質、處理對象和管理系統的集合體。它通常由軟件、數據庫和數據管理員組成。其軟件主要包括操作系統、各種宿主語言,實用程序以及數據庫管無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 理系統。數據庫是依照某種數據模型組織起來并存放二級存儲器中的數據集合。這些數據為多個應用服務,獨立于具體的應用程序。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行。數據庫管理系統是一種系統軟件,它的主要功能是維護 數據庫并有效地訪問數據庫中任意部分數據。對數據庫的維護包括保持數據的完整性、一致性和安全性。數據管理員負責創建、監控和維護整個數據庫,使數據能被任何有權使用的人有效使用。數據庫管理員一般是由業務水平較高、資歷較深的人員擔任。 數據庫系統的個體含義是指一個具體的數據庫管理系統軟件和用它建立起來的數據庫;它的學科含義是指研究、開發、建立、維護和應用數據庫系統所涉及的理論、方法、技術所構成的學科。在這一含義下,數據庫系統是軟件研究領域的一個重要分支,常稱為數據庫領域。 數據庫研究跨越于計算機應用、系統軟件 和理論三個領域,其中應用促進新系統的研制開發,新系統帶來新的理論研究,而理論研究又對前兩個領域起著指導作用。數據庫系統的出現是計算機應用的一個里程碑,它使得計算機應用從以科學計算為主轉向以數據處理為主,并從而使計算機得以在各行各業乃至家庭普遍使用。在它之前的文件系統雖然也能處理持久數據,但是文件系統不提供對任意部分數據的快無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 速訪問,而這對數據量不斷增大的應用來說是至關重要的。為了實現對任意部分數據的快速訪問,就要研究許多優化技術。這些優化技術往往很復雜,是普通用戶難以實現的,所以就由系統軟件(數據庫管理系統) 來完成,而提供給用戶的是簡單易用的數據庫語言。由于對數據庫的操作都由數據庫管理系統完成,所以數據庫就可以獨立于具體的應用程序而存在,從而數據庫又可以為多個用戶所共享。因此,數據的獨立性和共享性是數據庫系統的重要特征。數據共享節省了大量人力物力,為數據庫系統的廣泛應用奠定了基礎。數據庫系統的出現使得普通用戶能夠方便地將日常數據存入計算機并在需要的時候快速訪問它們,從而使的計算機走出科研機構進入各行各業、進入家庭。 1.3 本應用軟件的基本介紹 1.3 本應用軟件的基本介紹 本應用軟件先是打開一個啟動窗口 ,就可以進入應用程序的主窗口了。主界面是一個圖型界面窗口,整個平臺顯示采用人性化方式,可以非常方便的數據庫、客戶管理、數據分析 ,數據查詢等基本信息,管理日常經營的基本情況,通過各種條件查詢出布匹出口庫存的基本信息,以及打印出查詢出的基本信息,總之一切布匹倉庫基本信息都會顯示在系統平臺上,大大提高了管理人員的工作效率。 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 2 本應用程序的構成和開發步驟 下面從軟件工程的角度介紹本程序的基本開發步驟。Delphi 應用程序一般包含以下三個基本部分: 應用程序運行的接口:負責系統整體環境的設置,運行狀態的監 視,應用程序的啟動等。 應用程序的主體:主要完成用戶的業務邏輯功能,如系統登陸 ,連接數據庫 ,數據分析等 應用程序的輔助部分:協助程序主體完成的一些工作。 下面從軟件工程的角度描述本程序的開發生命周期,開發過程和組織過程。 2.1 可行性研究 任何一個系統或一項工程,在建立之前,必須首選進行可行性分析,可行性分析包括兩層含義,一是可能性,二是必要性??赡苄灾搁_發信息系統的條件是否具備,必要性是指客觀上是否真正需要,通過可行性研究,可避免盲目投資,減少政治性要的損失。下面從四方面來討論: 2.1.1 經濟可行性 主要是只指算一個新的系統開發所需要的投資費用和運算費用,并與估計的新系統收益進行比較,看是否有利。本系統所需的軟硬件成本比較低,投資小,具有一定的通過性,因此 ,在經濟上是可行的。 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 2.1.2 時間可行性 主要包括系統在目前環境下能否正常運行,運行后所引起的各方面,以及這些變化對社會或人的因素所產生的影響。本系統對人事的管理比較全面,可長期使用。 2.1.3 技術可行性 利用現有的設備,軟件及技術人員,新系統的目標能否達到,這也是可行性研究中需要考慮的一個問題。關系型數據 庫的高速發展使管理 信息系統具備了良好的開發環境。本系統使用的 Delphi 普及性好,操作簡單,用戶可以很快掌握使用方法,因此,在技術上是完全可行的。 2.1.4 社會可行性 人類社會文明的發展已進入信息化的高速發展時期,傳統的手工方式支持下的管理模式,已經不能滿足各方面的需要。開發本系統的目標不僅是提高工作效率,減輕勞動強度,而且減少出錯率,具有很好的社會意義。 2.2 數據庫的建立和連接 這個程序采用的數據庫是 Microsoft Access2000, Delphi作為數據庫的前臺開發工具,必須與后臺數據庫進行連接,這樣 才能控制和進行操作數據庫,數據庫的連接方式有兩種, ODBC 和 ADO。 ODBC 是數據庫的通用接口,其缺點是效率低;專用接口調用直接速度快,但是通用性差,如果用 ODBC 連接數據無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 庫一般要兩個步驟: 1.要創建數據源; 2.創建描述文件。數據庫的建立則時在 access2000 中建立的,在這里你可以設置數據庫的密碼,對數據庫進行保護。在創建數據源時可以通過 BDE administrator 進行創建,也可以通過系統控制面板中的 ODBC 數據源進行建立。而描述文件則可以在 Delphi 的主程序中用 Database Profile 中進行建立,之后進行數據庫的連接。接下來的工作是建表。同樣建表的過程也不是唯一的,但是最終實現的結果是唯一的。你可以通過 Access 進行建表,也可以通過在 Visual Basic 主程序中建表,也可以通過powerdesigner 進行可視化的建立,不過用這種方法,在導入的時候要把數據庫要先斷開,否則數據庫的數據容易丟失。建表的過程注意規范化命名規則,如表的字段名等等。同時也要注意表的字段長度和可否為空。因為以后要設計到主鍵,外鍵的問題。如果字段名不同,同一字段長度不同則主鍵和外鍵將會連接不上??梢娊ū頃r 應做好全局的打算。我在程序開發的初期,同樣犯了這個錯誤,導致數據庫出錯,有時還要向表中新加入字段。導致數據窗口不好用的連鎖反映。 2.3 系統的總體設計 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 這個管理系統從 4 月 1 日開始著手設計開發 ,經過一段時間的分析,并根據對布料批發商管理倉庫的具體要求及需要本軟件實現的功能,將本軟件分為 5 個大的模塊,分別是:第一部分:數據錄入 ; 第二部分:數據查詢 ; 第三部分:數據分析模塊; 第四部分:資料管理 程序流程圖如下: 。 2.4 系統的詳細設計 進入 Access 后要做的第一件事就是建立一個數據庫。Access 提供了 6 種用構造數據庫系統的對象,根據本課題的需要,在這里選擇一個空的數據庫,命名 建立了一個數據庫程序登陸 主界面 數據錄入 數據查詢 數據分析 資料管理 關于 幫助 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 名稱為 “ bysj” , 布匹出口管理系統。 并在此數據庫下創建了四個表,用于存放原始數據。它只是存放數據,對其中數據的修改要通過對應的窗體來完成。 創建各表的具體結構如下 : 1.reddname 表 : 2.客戶數據表 : 3.masterdata 表 : 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 4.用戶表 : 3 本程序的技術實現及具體功能 3.1 登錄的界面與程序設計實現 1. 界面設計 : 代碼分析 : object LoginForm: TLoginForm Left = 379 Top = 206 BorderStyle = bsDialog Caption = #30331#24405#31995#32479 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: Width = 138 Height = 21 BevelKind = bkFlat BorderStyle = bsNone CharCase = ecUpperCase PasswordChar = * TabOrder = 0 OnKeyPress = PassEditKeyPress end end 3.2 數據錄入界面與代碼設計實現及功能 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 代碼設計 : 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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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(系統錯誤 ,提取客戶名稱列表時失??! ,0); MDataForm.FreeFind_ADOQuery.Close; end; end; end; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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(系統錯誤 ,提取品種名稱資料失??! ,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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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(系統錯誤 ,讀取你所選擇的品種名稱資料時失?。?,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(清單編號 ) as 編號 from MasterData where 錄入日期=:Today); 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: Parameters.ParamByName(Today).Value := FormatDateTime(yyyy-mm-dd,date); Open; OrderNoEdit.Text := fieldbyname(編號 ).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(系統錯誤 ,產生清單編號時失敗! ,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; /檢查客戶名稱及品種名稱是否已有,保存數據 try with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(select * from ClientName where 客戶名稱 =:cm); Parameters.ParamByName(cm).Value :=ClientNameComboBox.Text; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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(提示 ,你輸入數據太大 ,可能有誤,確定嗎? ,1) then begin DataCheck := false; mcEdit.SelectAll; end; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 /修改調出的庫存成份 if CfNoteEdit.text then begin CfnrEdit.text := CfnrEdit.text+CfNoteEdit.Text+% +CfComboBox.Text+ ; CfComboBox.SetFocus; end else KhpmEdit.SetFocus; end; end; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 /保存數據 try /保存主表數據 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 + 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: +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; /保存從表數據 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(提示 ,數據已經成功保存至數據庫! ,0); mcEdit.ReadOnly := true; except MDataForm.DataADOConnection.RollbackTrans; MainForm.PshowMessage(系統錯誤 ,保存數據至服務器時失??! +#13+ 請檢查數據的有效性,比如數據輸入字母之類。 ,0); end; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: end; end; procedure TInputForm.ClearSpeedButtonClick(Sender: TObject); var Cleari, Clearj :integer; begin if MainForm.PshowMessage(提示 ,是否確定要清除界面數據? ,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 /檢查輸入數據的正確性 Result :=; if OrderNoEdit.Text= then 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: begin Result :=請先按一下輸入清單,生成一個清單編號! ; Exit; end; if ClientNameComboBox.Text = then begin Result :=請輸入客戶名稱! ; exit; end; if CpmcComboBox.Text= then begin Result :=請輸入品種名稱,可以 按 F3 功能鍵! ; exit; end; if CfnrEdit.Text= then begin Result :=請輸入成份內容! ; exit; end; if (ShStyleComboBox.Text=) or (ShEdit.Text=) then begin Result :=請輸入色號內容! ; Exit; end; if WidthEdit.Text= then begin Result :=請輸入幅寬! ; Exit; end; if GhEdit.Text= then begin Result :=請輸入缸號! ; Exit; end; if KhpmEdit.Text= then begin Result :=請輸入客戶名稱! ; Exit; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: begin SQL.Add(select 清單編號 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 清單編號 from MasterData where + OtherComboBox.text+ like :z); Parameters.ParamByName(z).value := %+OtherEdit.text+%; end else begin SQL.Add(select 清單編號 from MasterData where + OtherComboBox.text+ = :z); Parameters.ParamByName(z).value := StrToInt(OtherEdit.text); end; Open; end; end; /查詢完畢 with MDataForm.FindADOQuery do /開始添加數據 begin FindDataListBox.Items.Clear; while not Eof do begin FindDataListBox.Items.Add(FieldByName(清單編號 ).AsString); Next; end; Close; end; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: except MainForm.PshowMessage(系統錯誤 ,查詢系統數據庫時失??! ,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; /根據流水號查詢 try with MDataForm.FindMasterADOQuery do begin Close; SQL.Clear; SQL.Add(select * from MasterData where 清單編號 =:no); Parameters.ParambyName(no).Value :=SelNo; Open; /顯示主庫數據 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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: with MDataForm.FindClientADOQuery do begin Close; SQL.Clear; SQL.Add(select * from ClientData where 清單編號 =:no); Parameters.ParambyName(no).Value :=SelNo; Open; /顯示主庫數據 end; except MainForm.PshowMessage(系統錯誤 ,查詢并顯示數據庫內容時失??! ,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(提示 ,是否確定在刪除編號為“ +DelNo+”數據清單? ,1) then begin try MDataForm.DataADOConnection.BeginTrans; with MDataForm.FreeFind_ADOQuery do begin Close; SQL.Clear; SQL.Add(Delete from MasterData where 清單編號 =:OrderNo); Parameters.ParamByName(OrderNo).Value := DelNo; ExecSQL; end; with MDataForm.FreeADOQuery do begin Close; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: SQL.Clear; SQL.Add(Delete from ClientData where 清單編號 =: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(系統錯誤 ,刪除選定的清單失??! ,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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 =修改數據 (Ctrl+M) then begin if MainForm.PshowMessage(提示 ,是否要進入數據修改狀態? ,1) then begin FindMasterStringGrid.Options := FindMasterStringGrid.Options +goEditing -goRowSelect; ModiSpeedButton.Caption :=保存數據 (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(提示 ,確定要保存修改的數據嗎?確定保存,取消不保存! ,1) then begin /保存修改數據 try with MDataForm.InputMasterADOQuery do begin Close; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: SQL.Clear; SQL.Add(update masterdata set 客 戶 名 稱 =:ClientName, 客 戶 品 名=:ClientBreed, + 品種名稱 =:BreedName, 色號 =:ColorNo, 幅寬 =:Width, 成份 =:cf, + 缸號 =:gh, 合同編號 =:htbh, 東越自編 =:dyzb + where 清單編號 =: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(系統錯誤 ,保存修改數據時失敗! ,0); end; end else FindDataListBoxClick(nil);/取消修改 FindMasterStringGrid.Options := FindMasterStringGrid.Options -goEditing +goRowSelect; ModiSpeedButton.Caption :=修改數據 (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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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 /打開部分數據 FindOK := true; if (FindSmallEdit.Text=) or (FindMaxEdit.text=) then begin FindOK := false; MainForm.PshowMessage(提示 ,請指定編號范圍! ,0); end; if FindOK then begin try With MDataForm.FindClientADOQuery do begin Close; SQL.Clear; SQL.Add(select * from ClientData where 清單編號 =:no and 編號 =:sno and 編號無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: =: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(系統錯誤 ,打開部分數據庫時失?。≌垯z查編號輸入是否正確! ,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. 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 3.4 資料管理界面與代碼設計實現 代碼設計 : 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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 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; 無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure KHListDBGridDrawColumnCell(Sender: TObject; const R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論