




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1南京審計學院信息科學學院南京審計學院信息科學學院課程設計報告書課程設計報告書課程名稱:課程名稱: 信息系統(tǒng)開發(fā)工具課程設計信息系統(tǒng)開發(fā)工具課程設計 課題名稱:課題名稱: 餐餐 飲飲 管管 理理 系系 統(tǒng)統(tǒng) 專專 業(yè):業(yè):信息管理與信息系統(tǒng)信息管理與信息系統(tǒng) 班班 級:級: 級信息管理級信息管理 1 1 班班 學學 號:號: 2 姓姓 名:名: 成成 績:績: 目 錄第一章第一章 系統(tǒng)需求分析系統(tǒng)需求分析.1 11.1 系統(tǒng)功能需求分析.11.2 系統(tǒng)數(shù)據(jù)流圖.11.3 數(shù)據(jù)字典.2第二章第二章 系統(tǒng)概要設計系統(tǒng)概要設計.5 52.1 系統(tǒng)總體框圖設計.52.2 各模塊功能分析.5第三章第三章
2、 數(shù)據(jù)庫設計數(shù)據(jù)庫設計.7 73.1 系統(tǒng) E-R 圖設計.73.2 數(shù)據(jù)庫結(jié)構(gòu)的設計.8第四章第四章 系統(tǒng)詳細設計及實現(xiàn)系統(tǒng)詳細設計及實現(xiàn).1111 4.1 系統(tǒng)登陸界面設計.114.2 系統(tǒng)主界面設計.1534.3 菜譜設置模塊.194.3.1 菜譜信息設置設計.194.3.2 菜譜查詢設計.204.3.3 菜譜添加設計.224.3.4 菜譜修改設計.244.3.5 菜譜刪除設計.254.4 開臺管理模塊.274.4.1 搜索臺號設計.274.4.2 開臺設置設計.304.4.3 臺號信息查詢的設計.324.4.4 房臺列表顯示函數(shù)的設計.344.5 點菜管理模塊.344.5.1 客戶點菜
3、設計.354.5.2 客戶放棄開臺設計. 374.5.3 客戶點菜完畢返回設計.37第五章第五章 數(shù)據(jù)模塊的創(chuàng)建與實現(xiàn)數(shù)據(jù)模塊的創(chuàng)建與實現(xiàn).45.455.1 數(shù)據(jù)模塊的創(chuàng)建.455.2 數(shù)據(jù)模塊的實現(xiàn).46第六章第六章 系統(tǒng)調(diào)試與測試系統(tǒng)調(diào)試與測試.53.536.1 軟件功能測試.47第七章第七章 結(jié)論結(jié)論.545447.1 系統(tǒng)開發(fā)遇到的問題.547.2 系統(tǒng)改進方面.547.3 總結(jié).54摘要摘要近幾年來,隨著我國國民經(jīng)濟的穩(wěn)定增長,餐飲業(yè)的競爭也越來越激勵,想在這樣競爭激勵的環(huán)境下生存,就必須運用科學的管理思想與先進的管理方法,使用點餐與管理一體化。這樣不僅提高了工作效率,也避免了以前手
4、工作業(yè)的麻煩,從而使得管理者能夠準確,有效的管理餐飲。因此,餐飲業(yè)的管理者更需要一種綜合實時的管理模式,希望從更科學的管理中取得競爭的優(yōu)勢,在競爭激烈的商業(yè)市場中取勝。結(jié)合管理信息系統(tǒng)的開發(fā)方法及步驟,以此為理論根據(jù),開發(fā)出一個信息管理系統(tǒng)餐飲管理系統(tǒng)。它采用國際通用的先進餐飲管理模式,并結(jié)合中國的管理實際特點開發(fā)而成。通過本系統(tǒng)功能模塊,可為各種大小不同的餐飲管理所使用。為管理者提供高效的管理手段,本系統(tǒng)有著人性理的設置理念,流程清晰、易懂。具有獨特的功能對于開臺管理、點菜、菜譜設置等為管理人員帶來很大的方便,減少人為因素的錯誤,提高服務水平,提升企業(yè)形象。關(guān)鍵字:餐飲管理系統(tǒng)、提高服務水平
5、、提高工作效率5第一章第一章 系統(tǒng)需求分析系統(tǒng)需求分析1.11.1 系統(tǒng)功能需求分析系統(tǒng)功能需求分析隨著現(xiàn)在連鎖餐飲店的不斷崛起,作為餐飲業(yè)不可缺少的一部分餐飲管理系統(tǒng),它的內(nèi)容對于餐飲業(yè)的決策者和管理者來說都非常重要。本系統(tǒng)基于餐飲管理系統(tǒng)之下的一個子系統(tǒng),可以把整個餐飲店的日常經(jīng)營管理信息化,包括點餐、庫存管理、員工信息等日常經(jīng)營的一些統(tǒng)計功能。現(xiàn)在此系統(tǒng)還不夠完善,將來使此系統(tǒng)會集成更多的功能,例如:餐飲管理系統(tǒng)的開發(fā)成功,實現(xiàn)了餐飲業(yè)的現(xiàn)代化,表明了餐飲管理正與國際化接軌,有了更為深入的發(fā)展。餐軟管理系統(tǒng)采用國際通用的先進餐飲管理模式,并結(jié)合中國的管理實際特點開發(fā)而成。通過本系統(tǒng)功能模
6、塊,可為各種大小不同的餐飲管理所使用。為管理者提供高效的管理手段,本系統(tǒng)有著人性理的設置理念,流程清晰、易懂。具有獨特的功能對于開臺管理、點菜、菜譜設置等為管理人員帶來很大的方便,減少人為因素的錯誤,提高服務水平,提升企業(yè)形象。根據(jù)實際情況的需要,系統(tǒng)主要功能如下: 前臺管理:開臺管理、客戶結(jié)賬、退出系統(tǒng)。 系統(tǒng)管理:權(quán)限管理、系統(tǒng)管理、幫助。 基礎信息管理:酒水信息查詢、菜譜信息查詢及設置。1.21.2 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖根據(jù)實際情況要求,系統(tǒng)數(shù)據(jù)流圖如圖 1.2.1 所示6圖 1.2.1 數(shù)據(jù)流圖1.31.3 數(shù)據(jù)字典數(shù)據(jù)字典在這定義的酒店餐飲數(shù)據(jù)字典,主要對數(shù)據(jù)流程圖中的數(shù)據(jù)流、數(shù)
7、據(jù)存儲和處理過程進行說明。(1)主要的數(shù)據(jù)流定義1)數(shù)據(jù)流名稱:客戶信息 位置:客戶P2 定義:客戶信息=房間臺號+所點菜+酒水+開單時間+服務員編號 數(shù)據(jù)流量: 說明:客人點菜時可以進行特色菜和酒水信息的查詢,買單時要核對消費名目是否屬實。2)數(shù)據(jù)流名稱:菜譜信息位置:菜譜P2定義:菜譜信息=編號+房間臺號+菜名+單位+價格+菜系類別+口味說明數(shù)據(jù)流量:說明:編號不能有重復的。3)數(shù)據(jù)流名稱:桌臺狀況 位置:桌臺P1 定義:桌臺狀況=編號+房臺名稱+類型說+餐飲部門+服務費+簡要說明+狀態(tài) 數(shù)據(jù)流量:7說明:只有狀態(tài)為空閑的房臺才能開臺。4)數(shù)據(jù)流名稱:開臺人 位置:服務員定義:開臺人編號姓
8、名員工類別密碼數(shù)據(jù)流量:說明:不同的員工類別具有不同的權(quán)限,管理員具有所有權(quán)限,服務員不具備系統(tǒng)維修等權(quán)限。5)數(shù)據(jù)流名稱:員工信息位置:定義:員工信息員工編號姓名性別出生日期聯(lián)系 聘用日期工作部門員工類別身份證號備注數(shù)據(jù)流量:說明:員工編號不可相同。6)數(shù)據(jù)流名稱:管理員情況位置:管理員定義:管理員姓名口令數(shù)據(jù)流量:平均流量為每年傳輸 50 次。說明:通過管理員來不斷的更新和維護這個系統(tǒng)。7 )數(shù)據(jù)流名稱:開臺信息 位置:P1P4 定義:開臺信息=房間臺號+服務費 數(shù)據(jù)流量: 說明:服務費可以省去。8)數(shù)據(jù)流名稱:點菜信息 位置:P2P4 定義:點菜信息=房間臺號+類別+編號+名稱+類型+數(shù)
9、量+價格+合計+點但日期+結(jié)單日期+服務員編號+服務員姓名+結(jié)帳編號 數(shù)據(jù)流量: 說明:房間臺號是根據(jù)開臺而來的。(2)主要的數(shù)據(jù)存儲定義)數(shù)據(jù)存儲編號:8數(shù)據(jù)存儲名稱:桌臺信息輸入:輸出:數(shù)據(jù)結(jié)構(gòu):桌臺信息=編號+房臺名稱+類型說+餐飲部門+服務費+簡要說明+狀態(tài)存取方式:檢索和更新處理,以檢索為主。說明:編號具有唯一性,狀態(tài)只能是空閑或者營業(yè)。)數(shù)據(jù)存儲編號:D2數(shù)據(jù)存儲名稱:員工信息輸入:P1輸出:P3數(shù)據(jù)結(jié)構(gòu):員工信息=員工類別+口令存取方式:主要是檢索。說明:根據(jù)員工類別的不同,在后面的操作中具有不同的權(quán)限。3)數(shù)據(jù)存儲編號:D3數(shù)據(jù)存儲名稱:菜譜信息輸入:P2輸出:P2數(shù)據(jù)結(jié)構(gòu):菜
10、譜信息=菜名+單位+價格+菜系類別+口味說明存取方式:檢索說明:在點菜時對菜譜進行查詢。(3)主要處理過程1)處理過程編號:P1 處理過程名:開臺 輸入:服務員權(quán)限,桌臺狀況 輸出:開臺信息 處理說明:綜合各方面信息,進行客人消費前最基本的準備。2)處理過程編號:P2處理過程名:點菜 輸入:D1,D3,D4 輸出:點菜信息9 處理說明:客人根據(jù)菜譜信息,酒水信息,特色菜信息,選擇自己中意的項目進行。3)處理過程編號:P3 處理過程名:權(quán)限管理 輸入:員工類型,口令 輸出:相應的操作權(quán)限 處理說明:輸入員工類別和口令獲得相應的操作權(quán)限,管理員比服務員具有更多的操作權(quán)限。第二章第二章 系統(tǒng)概要設計
11、系統(tǒng)概要設計2.12.1 系統(tǒng)總體框架設計系統(tǒng)總體框架設計根據(jù)業(yè)務情況,該系統(tǒng)共分為開臺管理、客人買單、菜譜信息設置、客戶點菜、酒水信息設置等模塊,系統(tǒng)結(jié)構(gòu)圖如圖 2.1 所示。10圖 2.1 餐飲管理系統(tǒng)結(jié)構(gòu)圖2.22.2 各模塊功能分析各模塊功能分析(1 1)系統(tǒng)登錄窗口主要功能)系統(tǒng)登錄窗口主要功能:1)以圖標形式顯示數(shù)據(jù)庫中操作員,并憑口令登入到主界面。2)操作員輸入錯誤密碼提醒錯誤并返回,三次輸入錯誤口令則退出系統(tǒng)。3)實現(xiàn)權(quán)限登錄:系統(tǒng)管理員擁有一切權(quán)利,其他操作員則被限制一些操作權(quán)限。(2 2)系統(tǒng)主界面主要功能)系統(tǒng)主界面主要功能1)根據(jù)操作員權(quán)限設置相應權(quán)限的菜單和工具欄功能
12、。2)可通過菜單或快捷鍵進入相應子界面。3)顯示了系統(tǒng)當前時間和相應操作員。(3 3)系統(tǒng)菜譜信息設置界面主要功能:)系統(tǒng)菜譜信息設置界面主要功能:實現(xiàn)對菜譜信息的添加、修改、刪除、查詢的功能。(4 4)系統(tǒng)開臺管理界面主要功能:)系統(tǒng)開臺管理界面主要功能:1)以圖標模式顯示空臺、營業(yè)臺,點擊臺號圖標則自動顯示相應臺號信息。2)通過輸入臺號檢索符合條件的臺號。3)點擊空房自動彈出與昂查詢窗口從而自動開臺。(5 5)系統(tǒng)點菜界面主要功能:)系統(tǒng)點菜界面主要功能:1)實現(xiàn)菜譜,酒水查詢的鏈接。2)點擊“開始點菜”按鈕臺號狀態(tài)自動變?yōu)殚_臺,并聚焦到編號欄。3)在編號欄輸入菜編號按回車自動錄入菜的信息
13、, 。4)自動生成結(jié)賬編號,輸入菜數(shù)量自動計算合計消費金額。5)可實現(xiàn)掛單、讀單、放棄開臺和點菜完畢返回的功能。11第三章第三章 數(shù)據(jù)庫設計數(shù)據(jù)庫設計3.13.1 系統(tǒng)系統(tǒng) E-RE-R 圖的設計圖的設計系統(tǒng) E-R 圖如圖 3.1 所示1213圖 3.1 系統(tǒng) E-R 圖3.23.2 數(shù)據(jù)庫結(jié)構(gòu)設計數(shù)據(jù)庫結(jié)構(gòu)設計數(shù)據(jù)庫結(jié)構(gòu)設計是總體設計階段非常重要的環(huán)節(jié),好的數(shù)據(jù)庫結(jié)構(gòu)可以簡化開發(fā)過程,使系統(tǒng)功能更加清晰明確。因為數(shù)據(jù)庫結(jié)構(gòu)的變化會造成編碼的改動,所以必須認真設計數(shù)據(jù)庫后再進行編碼,從而避免了無謂的重復的工作。本系統(tǒng)采用了 SQL Server 數(shù)據(jù)庫,數(shù)據(jù)庫名稱為 060412079。該數(shù)
14、據(jù)庫包含 4 個表,分別是:開臺表,點菜表,菜譜費用信息表,臺號信息表。下面分別介紹數(shù)據(jù)表的結(jié)構(gòu)。141、開臺表開臺表用于保存開臺的相關(guān)信息。開臺表的結(jié)構(gòu)見表 3-2-1 所示。表 3-2-1 開臺表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小允許為空否編號int4設置為主鍵房臺名稱char30允許為空類型說明char20允許為空餐飲部門char20允許為空服務費money8允許為空簡要說明char30允許為空狀態(tài)char20允許為空2、點菜表點菜表用于保存點菜信息和相應的消費信息。點菜表的結(jié)構(gòu)見表 3-2-2 所示。表 3-2-2 點菜表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小是否允許為空idchar16設置為主鍵房間
15、臺號int4允許為空類別Char 10允許為空編號int4允許為空名稱char50允許為空類型char20允許為空單位char10允許為空15數(shù)量int4允許為空價格money8允許為空合計Money8允許為空點單日期datetime8允許為空結(jié)單日期datetime8允許為空服務員編號int8允許為空服務員姓名char12允許為空狀態(tài)char10允許為空結(jié)賬編號int4允許為空是否結(jié)單char10允許為空3、菜譜費用信息表用于查詢餐飲店所有的菜的信息。菜譜費用信息表的結(jié)構(gòu)如圖 3-2-3 所示。表 3-2-3 菜譜費用信息結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段大小是否允許為空編號int4設為主鍵菜名cha
16、r50允許為空單位char10允許為空價格money8允許為空菜系類別char20允許為空口味說明char30允許為空4、臺號信息表用于臺號信息的查詢,方便了消費者選臺,開臺及其他的作用。臺號信息表的結(jié)構(gòu)如圖 3-2-4 示。表 3-2-4 臺號信息表結(jié)構(gòu)16字段名稱數(shù)據(jù)類型字段大小是否允許為空編號int4設為主鍵房臺名稱char30設為主鍵類型說明Char20允許為空餐飲部門Char20允許為空服務費money 8允許為空簡要說明char30允許為空狀態(tài)char10允許為空容納人數(shù)Int4允許為空第四章第四章 系統(tǒng)詳細設計及實現(xiàn)系統(tǒng)詳細設計及實現(xiàn)4.14.1 系統(tǒng)登陸界面設計系統(tǒng)登陸界面設計
17、1.實現(xiàn)目標 程序啟動后,首先登陸此界面驗證操作員的密碼。主要實現(xiàn)的功能如下: 1)以圖標形式顯示數(shù)據(jù)庫中操作員,并憑口令登入到主界面。2)操作員輸入錯誤密碼提醒錯誤并返回,三次輸入錯誤口令則退出系統(tǒng)。3)實現(xiàn)權(quán)限登錄:系統(tǒng)管理員擁有一切權(quán)利,其他操作員則被限制一些操作權(quán)限。系統(tǒng)登錄界面如圖 4.1.1 所示。17圖 4.1.1 系統(tǒng)登錄界面2.實現(xiàn)過程 (1)添加窗體設置窗體 caption 屬性為“登錄窗口” ,保存窗體為 u79in.pas。 (2)向窗體中添加Datasource、Query、Edit、Listview、ImageList、Image、Time、Label 等控件。主要
18、控件對象的屬性如表 4-2-1 所示。表 4-2-1 主要控件對象的屬性列表控件名屬性值功能Query1Databasename SQL060412079Select * from 員工信表權(quán)限查詢Database1DatasetQuery1設置數(shù)據(jù)源3.程序主要代碼如下: 單擊“登陸”按鈕,將判斷操作員、操作密碼是否正確,如果正確進入主界面并根據(jù)操作員權(quán)限設置菜單和工具是否可用。如果輸入密碼錯誤將提醒并返回,三次錯誤輸入則自動退出系統(tǒng)。procedure TUser.BitBtn1Click(Sender: TObject);begin MainForm.ToolButton1.Enable
19、d:=True; MainForm.ToolButton2.Enabled:=True; MainForm.ToolButton5.Enabled:=True; MainForm.ToolButton6.Enabled:=True;18 MainForm.N1.Enabled:=True; MainForm.N2.Enabled:=True; MainForm.N4.Enabled:=True; MainForm.N3.Enabled:=True; MainForm.N5.Enabled:=True; MainForm.N6.Enabled:=True; MainForm.N7.Enabled
20、:=True; MainForm.N8.Enabled:=True; MainForm.N9.Enabled:=True; MainForm.N17.Enabled:=True; MainForm.N19.Enabled:=True;if Query1.FieldByName(編號).AsString=controller then /如果是系統(tǒng)管理員 begin if Edit1.TextQuery1.FieldByName(密碼).AsString then begin ShowMessage(+Query1.FieldByName(姓名).AsString+的口令錯誤.); /口令錯誤
21、Edit1.SetFocus; End Else begin MainForm.StatusBar1.Panels1.Text:=用戶+Query1.FieldByName(姓名).AsString+; MainForm.User1:=Query1.FieldByName(姓名).AsString; User_Close:=3; Timer1.Enabled:=False; Close; end; End Else begin19 MainForm.ToolButton1.Enabled:=False; MainForm.ToolButton2.Enabled:=False; MainForm
22、.ToolButton5.Enabled:=False; MainForm.N1.Enabled:=False; MainForm.N2.Enabled:=False; MainForm.N4.Enabled:=False; MainForm.N3.Enabled:=False; MainForm.N5.Enabled:=False; MainForm.N6.Enabled:=False; MainForm.N7.Enabled:=False; MainForm.N8.Enabled:=False; MainForm.N9.Enabled:=False; MainForm.N17.Enable
23、d:=False; MainForm.N19.Enabled:=False; if Edit1.TextQuery1.FieldByName(密碼).AsString then begin ShowMessage(+Query1.FieldByName(姓名).AsString+的口令錯誤.); Edit1.SetFocus; End Else begin Name:=Query1.FieldByName(權(quán)限).AsString; MainForm.EnabledKey(Name); /設置操作員權(quán)限 MainForm.StatusBar1.Panels1.Text:=用戶+Query1.F
24、ieldByName(姓名).AsString+; User_Close:=3; Timer1.Enabled:=False; Close; end; end; END;20窗體啟動,關(guān)閉鑰匙,后將所有操作員添加到操作員列表。procedure TUser.FormShow(Sender: TObject);var List:Array0.1of TListItem;begin Timer1.Enabled:=True; User_Close:=0; /打開關(guān)閉鑰匙 Query1.Close; Query1.Open; ListView1.Items.Clear; While not Quer
25、y1.Eof do begin List0:=ListView1.Items.Add; List0.Caption:=Query1.FieldByName(姓名).AsString; if Query1.FieldByName(編號).AsString=controller then begin List0.ImageIndex:=0; End Else begin List0.ImageIndex:=1; end; Query1.Next; end;end;選擇操作員,點擊其中一個則將員工的姓名和類型添加到了相應位置。procedure TUser.ListView1Click(Sender
26、: TObject);var List:Array0.1of TListItem;begin List0:=ListView1.Selected; if List0Nil then begin21 Query1.Locate(姓名,List0.Caption,loCaseInsensitive);/查詢姓名,但是如果有從名的按第一個算. end;end;4.24.2 主界面設計主界面設計1、程序啟動后。系統(tǒng)在“登陸界面”驗證操作員密碼后,將進入此界面。系統(tǒng)主界面主要功能:根據(jù)操作員權(quán)限設置相應權(quán)限的菜單和工具欄功能??赏ㄟ^菜單或快捷鍵進入相應子界面。顯示了系統(tǒng)當前時間和相應操作員。主程序界面如
27、圖 4.2.1 所示。圖 4.2.1 主程序界面2.實現(xiàn)過程 (1)啟動 Delphi,設置窗體名為 mainfrom,設置窗體 caption 為“餐飲管理系統(tǒng)” ,保存為 u791.pas。 (2)向窗體中添加Imagelist、mainmenu、image、toolbutton、stausbar、panel、time、label 等控件主要屬性為:22控件名屬性值功能Toolbar1imagesImagelist1設置工具欄圖標stausbar 1Panel1用戶登錄【管理員】顯示程序狀態(tài)、參數(shù) (3)主要程序代碼如下:使應用項目的提示信息掛鉤程序。 procedure TMainFor
28、m.FormCreate(Sender: TObject);beginApplication.OnHint:=DisPlayHint; /與應用項目的提示信息掛鉤end;先調(diào)用系統(tǒng)登陸窗口,再設置窗體狀態(tài)參數(shù)程序。procedure TMainForm.FormShow(Sender: TObject);var Year,Month,Day: Word;begin Close_1:=1; User.ShowModal; /調(diào)用系統(tǒng)登陸窗口 If Close_1 = 0 Then Close Else begin Application.MainForm.WindowState:=wsMaxim
29、ized; Application.MainForm.WindowState:=wsNormal; DecodeDate(StrToDate(DateTOStr(Date),Year,Month,day); /分解日期 StatusBar1.Panels2.Text:=系統(tǒng)日期:+IntToStr(Year)+年+IntToStr(Month)+月+IntToStr(day)+日; end;end;調(diào)入開臺界面程序。procedure TMainForm.N8Click(Sender: TObject);beginIf Assigned(KTGL) Then23beginDataModule1
30、.THXX.Open;/打開臺號信息表DataModule1.cybmb.Open;/ 打開餐飲部門表DataModule1.JZBH.Open;/打開結(jié)帳編號表KTGL:=TKTGL.Create(Self);KTGL.ShowModal;end;end;設置“B”類權(quán)限有系統(tǒng)管理和系統(tǒng)維護操作權(quán), “A”類權(quán)限即系統(tǒng)管理員的操作享有一切操作權(quán)限。如圖 4.2.2 所示。圖 4.2.2 B 類權(quán)限主程序界面代碼如下:Function TMainForm.EnabledKey(key:String):Boolean;/聲明操作權(quán)限函數(shù) EnabledKeybegin if Pos(A,key)
31、0 then /具有A類權(quán)限 begin MainForm.ToolButton1.Enabled:=True; MainForm.ToolButton2.Enabled:=True; MainForm.ToolButton5.Enabled:=True; MainForm.ToolButton6.Enabled:=True;24 MainForm.N1.Enabled:=True; MainForm.N2.Enabled:=True; MainForm.N4.Enabled:=True; MainForm.N3.Enabled:=True; MainForm.N8.Enabled:=True
32、; MainForm.N9.Enabled:=True; MainForm.N17.Enabled:=True; MainForm.N19.Enabled:=True; End Else if Pos(B,key)0 then /具有B類權(quán)限 begin MainForm.ToolButton1.Enabled:=True; MainForm.ToolButton2.Enabled:=True; MainForm.ToolButton6.Enabled:=True; MainForm.N1.Enabled:=True; MainForm.N5.Enabled:=True; MainForm.N
33、6.Enabled:=True; MainForm.N7.Enabled:=True; MainForm.N4.Enabled:=True; MainForm.N3.Enabled:=True; MainForm.N8.Enabled:=True; MainForm.N9.Enabled:=True; MainForm.N17.Enabled:=True; MainForm.N19.Enabled:=True; End;end;調(diào)入菜譜信息設置界面程序。procedure TMainForm.N6Click(Sender: TObject);begin If Assigned(CPXXSZ)
34、Then25 begin DataModule1.CPFYXX.Open;/打開菜譜費用信息表 DataModule1.cxlbxx.open;/打開菜系類別信息表 CPXXSZ:=TCPXXSZ.Create(Self); CPXXSZ.ShowModal; end;end;4.34.3 菜譜信息設置界面設計菜譜信息設置界面設計4.3.14.3.1 菜譜設置模塊菜譜設置模塊1.實現(xiàn)目標程序啟動后,調(diào)用菜單“基礎信息設置”下的“菜譜信息設置”項,將打開“菜譜信息設置界面” 。系統(tǒng)菜譜信息設置界面主要功能:實現(xiàn)對菜譜信息的添加、修改、刪除、查詢的功能。2.實現(xiàn)過程 (1)添加新窗體,設置窗體名為
35、 cpxxsz,設置窗體 caption 為“菜譜信息設置” ,保存為 u79cpset.pas。 (2)向窗體中添加query、panel、groupbox、dbgrid、dbedit、edit、dbtext、bitbtn、dblookupcombobox、time、datasetfrist、actionlist、label 等控件,主要控件屬性如表 4-3-1 所示。表 4-3-1 主要控件屬性對象屬性值功能Query1Databasenamesql060412079Slect MAX(編號) from 菜譜信息費用表設置數(shù)據(jù)范圍DatasetFrist1DatasourceCaption
36、HintDatabase1.cpxxfys首記錄移動到第一條記錄移動到首記錄DatasetLast1DatasourceDatabase1.cpxxfys移動到26CaptionHint尾記錄移動到最后一條記錄尾記錄DatasetNext1DatasourceCaptionHintDatabase1.cpxxfys下一條記錄移動到下一條記錄移動到下一條記錄DatasetPrior1DatasourceCaptionHintDatabase1.cpxxfys上一條記錄移動到上一條記錄移動到上一條記錄DBLookupComBox1ListsourceKeyfieldListfieldDatasou
37、rceDtafirldDatabase1.cpfyxxs菜系名稱菜系名稱Database1.cxlbxxs菜系類別選擇菜系類別4.3.24.3.2 菜譜查詢設計菜譜查詢設計1.菜譜信息設置查詢界面如圖 4.3.1 所示。27圖 4.3.1 菜譜信息查詢設置界面2.代碼如下:procedure TCPXXSZ.BitBtn1Click(Sender: TObject);var a,b,c:integer;d:String;begin If Length(Edit1.Text) = 0 Then /如果輸入查詢信息為空 begin ShowMessage(請輸入查詢的編號或菜名信息); Edit1
38、.SetFocus; End Else begin a:=Length(Edit1.Text); c:=0; for b:=1 to a do /for 語句用于判斷查詢是按菜譜編號還是按菜名查詢 begin D:=COPY(edit1.text,b,1); if (D=0) or (D=9) then begin c:=c+1; end; end; If c = Length(Edit1.Text) Then /按菜譜編號查詢 begin if DataModule1.CPFYXX.Locate(編號,StrTOInt(Edit1.Text),loCaseInsensitive) then
39、begin DBGrid1.Setfocus; DBGrid1.SelectedIndex:=0; End Else28 begin ShowMessage(對不起,沒有找到。); Edit1.setfocus; end; End Else /按菜譜編號查詢 begin if DataModule1.CPFYXX.Locate(菜名,Edit1.Text,loPartialKey) then begin DBGrid1.Setfocus; DBGrid1.SelectedIndex:=1; End Else begin ShowMessage(對不起,沒有找到。); Edit1.setfocu
40、s; end; end; end;end;4.3.34.3.3 菜譜添加設計菜譜添加設計1.菜譜信息設置添加界面如圖 4.3.2 所示。29圖 4.3.2 菜譜信息添加設置界面2.代碼如下:procedure TCPXXSZ.BitBtn2Click(Sender: TObject);vara:integer;begin Query1.Close; Query1.Open; if Query1.RecordCount0 then a:=Query1.Fields0.AsInteger else a:=1; if Bitbtn2.Caption=添加 then /添加菜譜信息 begin Dat
41、aModule1.CPFYXX.Refresh; If DataModule1.CPFYXX.RecordCount = 0 Then A:=79000 /添加菜譜信息 Else begin DataModule1.CPFYXX.Last; a:=DataModule1.CPFYXX.FieldByName(編號).AsInteger; end; BitBtn2.Caption:=保存; BitBtn3.CaPtion:=取消; Aenabled(1); DataModule1.CPFYXX.Insert; DataModule1.CPFYXX.FieldByName(編號).AsIntege
42、r:=a+1; DataModule1.CPFYXX.FieldByName(菜系類別).AsString:=DataModule1.CXLBXX.FieldByName(菜系名稱).AsString; DBEdit2.SetFocus; End Else /保存菜譜信息 begin if (Length(DataModule1.CPFYXX.FieldByname(菜名).AsString)=0) or30 (Length(DataModule1.CPFYXX.FieldByname(單位).AsString)=0) or (Length(DataModule1.CPFYXX.FieldBy
43、name(價格).AsString)=0) then begin ShowMessage(請將菜名、單位、價格的數(shù)據(jù)添全。); DBEdit1.SetFocus; EndElse begin AEnabled(2); BitBtn2.Caption:=添加; BitBtn3.Caption:=修改; DataModule1.CPFYXX.Post; /保存菜譜信息 end; end;end;4.3.44.3.4 菜譜修改設計菜譜修改設計1.菜譜信息設置修改界面如圖 4.3.3 所示。圖 4.3.3 菜譜信息設置修改界面2.代碼如下:procedure TCPXXSZ.BitBtn3Click(
44、Sender: TObject);begin if BitBtn3.Caption=修改 then31 begin DataModule1.CPFYXX.Refresh; If DataModule1.CPFYXX.RecordCount = 0 Then /如果數(shù)據(jù)為空 begin ShowMessage(對不起,沒有數(shù)據(jù)可以修改。); End Else /如果數(shù)據(jù)不為空 begin AEnabled(1); BitBtn2.Caption:=保存; BitBtn3.Caption:=取消; DataModule1.CPFYXX.Edit; /編輯 DBEdit1.SetFocus; end
45、; End Else begin AENabled(2); Bitbtn2.Caption:=添加; BitBtn3.Caption:=修改; DataModule1.CPFYXX.Cancel; /取消保存信息 end;end;4.3.54.3.5 菜譜刪除設計菜譜刪除設計1.菜譜信息設置刪除界面如圖 4.3.3 所示。32圖 4.3.3 菜譜信息設置刪除界面2.代碼如下:procedure TCPXXSZ.BitBtn4Click(Sender: TObject);begin DataModule1.CPFYXX.Refresh; If DataModule1.CPFYXX.RecordC
46、ount = 1 Then begin ShowMessage(對不起,這是最后一個菜,不能刪除。); End Else if MessageDLG(確認刪除指定的菜譜信息嗎?,mtCustom,mbYes,mbNO,0)=mrYes then begin DataModule1.CPFYXX.Delete; /刪除數(shù)據(jù) end;end;5. 狀態(tài)編輯與瀏覽狀態(tài)函數(shù)function AEnabled(key:integer):Boolean ; /定義狀態(tài)編輯與瀏覽狀態(tài)函數(shù)begin If key = 1 Then /編輯狀態(tài)33 begin CPXXSZ.BitBtn4.Enabled:=F
47、alse; /“刪除“按鈕不可用 CPXXSZ.BitBtn5.Enabled:=False; /“退出“按鈕不可用 CPXXSZ.BitBtn1.Enabled:=False; /“查詢“按鈕不可用 CPXXSZ.Edit1.Enabled:=False; /查詢輸入框不可用 CPXXSZ.DBGrid1.Enabled:=False; CPXXSZ.GroupBox1.Visible:=True; End Else /瀏覽狀態(tài) begin CPXXSZ.BitBtn4.Enabled:=True; /“刪除“按鈕可用 CPXXSZ.BitBtn5.Enabled:=True; /“退出“按
48、鈕可用 CPXXSZ.BitBtn1.Enabled:=True; /“查詢“按鈕可用 CPXXSZ.Edit1.Enabled:=True; CPXXSZ.DBGrid1.Enabled:=True; CPXXSZ.GroupBox1.Visible:=False; end;end;4.44.4 系統(tǒng)開臺管理設計系統(tǒng)開臺管理設計1.實現(xiàn)目標程序啟動后,調(diào)用菜單“前臺管理”下的“開臺管理”項,將打開“開臺管理”界面。系統(tǒng)開臺管理界面主要功能:以圖標模式顯示空臺、營業(yè)臺,點擊臺號圖標則自動顯示相應臺號信息。通過輸入臺號檢索符合條件的臺號。點擊空房自動彈出與昂查詢窗口從而自動開臺。2.實現(xiàn)過程 (
49、1)添加新窗體,設置窗體名為 ktgl,設置窗體 caption 為“開臺管理” ,保存為u79ktgl.pas。 (2)向窗體中添加datasource、query、groupbox、panel、pagecontrol、dbgrid、dbedit、edit、dbtext、bitbtn、dblookupcombobox、image、label 等控件,主要控件屬性如表 4-3-1 所示。34表 4-3-1 主要控件屬性控件名屬性值功能打他搜如廁DatasetQuery設置數(shù)據(jù)源DBLookupComBox1ListsourceKeyfieldListfieldDatabase1.cybmbs部
50、門名稱部門名稱選擇餐飲部門Dbgrid1datasourceDatabase1.thxxs顯示臺號信息4.4.14.4.1 搜索臺號設計搜索臺號設計1.開臺管理搜索臺號界面如圖 4.4-1 所示。圖 4.4-1 開臺管理搜索臺號界面2.代碼如下:procedure TKTGL.BitBtn1Click(Sender: TObject); /搜索房臺var List:TListItem; Lists:integer; ListText:String; a,b,c:integer; d:String;begin If Length(Edit1.Text) = 0 Then begin35 Show
51、Message(請輸入查詢的房臺編號或房臺名稱信息); Edit1.SetFocus; End Else begin a:=Length(Edit1.Text); c:=0; for b:=1 to a do begin D:=COPY(edit1.text,b,1); if (D=0) or (D=9) then begin c:=c+1; end; end; If c = Length(Edit1.Text) Then begin if DataModule1.THXX.Locate(編號,StrTOInt(Edit1.Text),loCaseInsensitive) then begin
52、 if DataModule1.THXX.FieldByName(狀態(tài)).AsString空閑 then begin PageControl1.ActivePageIndex:=1; /顯示第二頁 BitBtn6.SetFocus;/將焦點移到點菜服務按扭上 End Else begin PageControl1.ActivePageIndex:=0; /顯示第一頁 BitBtn3.SetFocus;/將焦點移到開臺設置按扭上 end; End Else36 begin ShowMessage(對不起,沒有找到。); end; End Else begin if DataModule1.THX
53、X.Locate(房臺名稱,Edit1.Text,loPartialKey) then begin if DataModule1.THXX.FieldByName(狀態(tài)).AsString空閑 then begin PageControl1.ActivePageIndex:=1; /顯示第二頁 BitBtn6.SetFocus;/將焦點移到點菜服務按扭上 End Else begin PageControl1.ActivePageIndex:=0; /顯示第一頁 BitBtn3.SetFocus;/將焦點移到開臺設置按扭上 end; End Else begin ShowMessage(對不起
54、,沒有找到。); end; end; end;end;4.4.24.4.2 開臺設置設計開臺設置設計1.開臺管理開臺設置界面如圖 4.4.2 所示。37圖 4.4.2 開臺管理開臺設置界面2.代碼如下:procedure TYGCX.BitBtn1Click(Sender: TObject);begin GB:=2; If Length(Edit1.Text) = 0 Then begin ShowMessage(請輸入員工編號); Edit1.Setfocus; End Else if DataModule1.YGXXB.Locate(員工編號,StrToInt(Edit1.Text),lo
55、CaseInsensitive) then begin If not Assigned(DCFY_LR) Then begin DCFY_LR:=TDCFY_LR.Create(Self); DCFY_LR.Label14.Caption:=YGCX.Edit1.Text; DCFY_LR.Label15.Caption:=DataModule1.YGXXB.FieldByName(姓名).AsSTring; DCFY_LR.Label16.Caption:=DateTimeToStr(Now); If DataModule1.JZBH.RecordCount = 0 Then begin D
56、ataModule1.JZBH.Append;38 DataModule1.JZBH.FieldByName(編號).AsInteger:=1; DataModule1.JZBH.Post; End Else DCFY_LR.Label17.Caption:=IntToStr(DataModule1.JZBH.FieldbyName(編號).AsInteger+1); DCFY_LR.Show; end; GB:=1; YGCX.Close; End Else begin ShowMessage(對不起,沒有找到此員工信息.); Edit1.Setfocus; end;end;4.4.34.4
57、.3 臺號信息查詢的設計臺號信息查詢的設計1.開臺管理臺號信息查詢界面如圖 4.4.3 所示。圖 4.4.3 開臺管理臺號信息查詢界面2.代碼如下:procedure TKTGL.ListView2Click(Sender: TObject); /選擇房臺var list:TListItem; ListString:String;39begin List:=TlistView(Sender).Selected; If List nil Then begin ListString:=List.Caption; If Length(ListString) 0 Then if DataModule1
58、.THXX.Locate(房臺名稱,ListString,loPartialKey) then begin Query1.Close; query1.sql.clear; query1.sql.add(select 編號,名稱,類型,單位,數(shù)量,價格,合計,狀態(tài),服務員姓名 from 點菜臨時表); query1.sql.add(where 房間臺號=:a and 是否結(jié)單=:b); Query1.Params0.AsInteger:=DataModule1.THXX.FieldByName(編號).AsInteger; Query1.Params1.AsString:=否; Query1.O
59、pen; Query2.Close; Query2.SQL.Clear; Query2.SQL.Add(Select Sum(合計) From 點菜臨時表); Query2.SQL.Add(Where 房間臺號=:A and 是否結(jié)單=:B); Query2.Params0.AsInteger:=DataModule1.THXX.FieldByName(編號).AsInteger; Query2.Params1.AsString:=否; Query2.Open; If Query1.RecordCount 0 Then begin Query1.last; Label13.Caption:=Q
60、uery1.FieldByName(服務員姓名).AsString; Label15.Caption:=FloatToStr(Query2.Fields0.AsFloat+DataModule1.THXX.FieldByName(服務費).AsFloat); End40 Else begin Label13.Caption:=; Label15.Caption:=; end; end;end;end;4.4.44.4.4 房臺列表顯示函數(shù)的設計房臺列表顯示函數(shù)的設計function ADDListView:Boolean; /定義房臺列表顯示函數(shù)begin DataModule1.thxx.R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 咖啡館場地租賃合同
- 建筑單價施工合同
- 亮化工程合同協(xié)議書
- 北京租房居間合同
- 會議接待流程優(yōu)化方案
- 室外地磚施工方案
- 老路破除修補施工方案
- 別墅屋頂防水施工方案
- 浮吊桁架吊裝施工方案
- 堤壩加固施工方案
- 中國普通食物營養(yǎng)成分表(修正版)
- 2024-2025學年九年級化學人教版上冊檢測試卷(1-4單元)
- 人教版新目標九年級英語Unit12單元集體備課教案
- 無縫氣瓶檢驗作業(yè)指導書2024
- 彩票大數(shù)據(jù)預測分析
- 《改革開放史》教學大綱
- 鐵路機車車輛制動鉗工(高級)職業(yè)鑒定考試題及答案(新版)
- 統(tǒng)編版語文七年級上冊第三單元整本書閱讀《朝花夕拾》公開課一等獎創(chuàng)新教學設計
- 2024-2030年中國輻射探測器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- HSE知識能力測驗試題大全附答案
- 國際經(jīng)濟與貿(mào)易《大學生專業(yè)勞動實踐》教學大綱
評論
0/150
提交評論