版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、酒店客房餐飲管理系統(tǒng)實(shí)現(xiàn)酒店客房餐飲管理系統(tǒng)功能完善,能管理普通酒店的客房住宿和餐飲等服務(wù).本系統(tǒng)采用DELPHI和SQL SERVER工具開(kāi)發(fā),分為前臺(tái)和后臺(tái)管理.前臺(tái)與后臺(tái)管理程序相對(duì)獨(dú)立,均共用一個(gè)數(shù)據(jù)庫(kù)。下面對(duì)該系統(tǒng)的部份功能和模塊以及代碼進(jìn)行分析。一前臺(tái)管理1 數(shù)據(jù)模塊該模塊是整個(gè)程序數(shù)據(jù)的提供者,以及包括大部分的處理函數(shù)和實(shí)現(xiàn)功能.單元文件名:u_data.pas,數(shù)據(jù)模塊名:DM_main。部分代碼分析:返回指表中某字段的最大值,返回值為整型。因此該函數(shù)只能應(yīng)用字段為整型的表。function TDM_main.GetMaxId(aTable,aField:string):int
2、eger;var sSql:string;begin Result:=0; sSql:=select max(s) from s' with Q_getmax do begin SQL。Text:=Format(sSql,aField,aTable); Open; if not IsEmpty then Result:=Fields0.AsInteger+1; Close; end;end;接下來(lái)這個(gè)函數(shù)也是返回最大值,但是其為一個(gè)訂單的最大編號(hào)為字符型。function TDM_main。GetMaxOrderId:string;var id:String; count:Intege
3、r;begin with Q_count_order do begin Open; count:=Fields0.Value; Close; end; id:='000'+IntToStr(count); id:=Copy(id, length(id)3, 4); id:=F'+FormatDateTime(yymmdd',now)+id; Result:=id;end;系統(tǒng)登陸函數(shù):在進(jìn)行系統(tǒng)的操作處理時(shí),必須登陸。該函數(shù)對(duì)用戶輸入的用戶名和密碼數(shù)據(jù)庫(kù)驗(yàn)證。其密碼是進(jìn)行加密的(加密模塊稍后分析)function TDM_main。Login(user, pas
4、swd:String):String;var Flag:Boolean;begin if Database。Connected=false then Database。Connected:=True; passwd:=Copy(passwd+passwd, 1, 10);/加密處理 passwd:=Encrypt(passwd, 111); with Q_login do begin Close; Params。ParamValues'ID':=user; Params.ParamValuesPASSWD:=passwd; Open;/在用戶請(qǐng)中查詢?cè)撚脩艉兔艽a是否存在 Fla
5、g:=( not IsEmpty); if Flag then begin Login:=FieldValuesNAME' IsPass:=Flag; end else begin Login:='; Application。MessageBox('請(qǐng)重新輸入!, 登錄失敗, MB_OK); end; Close; end;end;系統(tǒng)登出:procedure TDM_main.Logout;begin Database.Connected:=False;/斷開(kāi)數(shù)據(jù)庫(kù)的連接end;2 加密模塊:?jiǎn)卧募?crypt.pas。簡(jiǎn)單的加密算法。const C1 = 528
6、45; C2 = 22719;function Encrypt( S: String; Key: Word): String;/S:加密的字符串;Key:密鑰var I: Integer; j: Integer;begin Result := S; for I := 1 to Length(S) do begin ResultI := char(byte(SI) xor (Key shr 8)); Key := (byte(ResultI) + Key) * C1 + C2; end; s:=Result; Result:=; for i:=1 to length(s) do begin j:
7、=Integer(si); Result:=Result + Char(65+(j div 26)+Char(65+(j mod 26); end;end;3 主模塊系統(tǒng)的主界面,包括系統(tǒng)登陸.在沒(méi)有進(jìn)行登陸之前4個(gè)功能按鈕為灰色。第一個(gè)按鈕為客房管理,其次是餐飲管理,再次是客戶查詢,最后是收費(fèi)管理。4 客房管理模塊客房管理包括客房預(yù)定,入住,調(diào)整.其界面如下:操作介紹:預(yù)定:首先在證件編號(hào)文體框中輸入相關(guān)的證件編號(hào),按回車(chē)鍵,顯示如下窗口:輸入完整后單擊添加則返回上一個(gè)界面,相關(guān)的數(shù)據(jù)將自動(dòng)填寫(xiě)。然后在右邊選擇相應(yīng)的客房等級(jí)。在網(wǎng)格中將顯示該等級(jí)的所有空閑房號(hào)。選擇一個(gè)房間,再點(diǎn)擊“新建”按
8、鈕,然后點(diǎn)擊“添加”。客房預(yù)定完畢.入?。涸谧C件編號(hào)文體框中輸入相關(guān)的證件編號(hào),按回車(chē)鍵.如果該客戶已經(jīng)預(yù)定則自動(dòng)顯示信息,否則將彈出上面的窗口要求輸入信息。5 餐飲管理包括選菜、點(diǎn)菜、打單:下面是其相代碼說(shuō)明:procedure TF_foodorder。btnOkClick(Sender: TObject);var id:integer; total:single;begin if sid=' then begin B_neworderClick(nil); end; /訂單明細(xì) id:=DM_main。GetMaxId(order_detail,id); with Q_foode
9、tail do begin Append; Fields0.AsInteger:=id; Fields1。AsString:=sid; Fields2.AsString:=dbtext1。Caption; Fields3。AsString:=edtNum。Text; Fields4。AsString:=dbtext4.Caption; Post; DisableControls; Close; Open; EnableControls; end; /更新總訂單的總金額 with DM_main.T_foodorder do begin Edit; total:=DM_main。GetSumPr
10、ice(sid); Fields3。AsFloat:=total; Post; end;end;/撤銷(xiāo)選擇的一項(xiàng)菜目procedure TF_foodorder。btnCancelClick(Sender: TObject);var total:Single;begin with Q_foodetail do begin if IsEmpty then Exit; if not Active then begin ParamByName('sid').Value:=sid; Open; end; Delete; end; total:=DM_main.GetSumPrice(s
11、id); with DM_main.T_foodorder do begin if not Active then Open; Locate(id',sid,); Edit; Fields3.AsFloat:=total; Post; end;end;procedure TF_foodorder。B_neworderClick(Sender: TObject);begin /新建總訂單 sid:=DM_main。GetMaxOrderId; with DM_main.T_foodorder do begin Open; Append; Fields0.AsString:=sid; Fi
12、elds1。AsString:=DateTimeToStr(Now); Fields2。AsString:=Trim(edtName。Text); Post; end; with Q_foodetail do begin Close; ParamByName(sid).Value:=sid; Prepare; Open; end;end;打單:票據(jù)示例如下。二后臺(tái)管理1 數(shù)據(jù)模塊該模塊是整個(gè)程序數(shù)據(jù)的提供者,以及包括大部分的處理函數(shù)和實(shí)現(xiàn)功能。單元文件名:u_data.pas,數(shù)據(jù)模塊名:DM_main。部分代碼分析:設(shè)置前臺(tái)操作員的密碼:procedure TDM_main。SetOpera
13、torPassword(password:String);begin password:=Copy(password+password, 1, 10); password:=Encrypt(password, 111);/加密單元 with T_operator do begin Edit; FieldValues'PASSWD':=password; end;end;根據(jù)客房ID篩選客房:procedure TDM_main.SetModifyFilter(RoomID:String);begin with T_room_modify do begin Close; if l
14、ength(RoomID)0 then begin Filter:='ID='+RoomID+'''; Filtered:=True; end else Filtered:=False; Open; end;end;獲得客房級(jí)別:procedure TDM_main。GetRoomLevel(RoomLevel:TStrings);begin RoomLevel。Clear; RoomLevel.Add('全部級(jí)別); with Q_room_level do begin Open; First; while not Eof do begin R
15、oomLevel。Add(FieldValuesDESCRIPT'); Next; end; Close; end;end;客房統(tǒng)計(jì)圖實(shí)現(xiàn)函數(shù):/StarDate:開(kāi)始日期;EndDate:結(jié)束日期;procedure TDM_main.GetRoomStat(StartDate,EndDate:TDate; TimeStep, StatType:Boolean;RoomLevel:Integer; BarSeries:TBarSeries);var StatResult:integer; MidDate:TDate; StatLabel:String;begin BarSeries.
16、Clear; while StartDate<EndDate do begin MidDate:=GetNextDate(StartDate, TimeStep); if StatType then StatResult:=SumTurnover(StartDate, MidDate) else StatResult:=SumUsedRoom(StartDate, MidDate, RoomLevel); if TimeStep then StatLabel:=FormatDateTime('dd, StartDate)+日' else StatLabel:=Format
17、DateTime('mm', StartDate)+月'; BarSeries。AddY(StatResult,StatLabel); StartDate:=MidDate; end;end;換算下個(gè)月(日)日期:function TDM_main.GetNextDate(StartDate:TDate;TimeStep:Boolean):TDate;var TimeYear,TimeMonth:String;begin if TimeStep then Result:=StartDate+1 else begin TimeYear:=FormatDateTime(
18、39;yyyy, StartDate); TimeMonth:=FormatDateTime(mm, StartDate); if TimeMonth=12 then begin TimeYear:=IntToStr(StrToInt(TimeYear)+1); TimeMonth:=01' end else TimeMonth:=IntToStr(StrToInt(TimeMonth)+1); Result:=StrToDate(TimeYear+'+TimeMonth+-01'); end;end;2 系統(tǒng)登陸模塊該系統(tǒng)登陸將連接數(shù)據(jù)庫(kù)的管理員用戶表進(jìn)行驗(yàn)證:pro
19、cedure TF_login。b_loginClick(Sender: TObject);var sSql:string;begin if (Trim(i_admin。Text)='')or(i_passwd.Text=) then begin MessageDlg(請(qǐng)輸入管理員帳號(hào)和密碼!', mtWarning, mbOK, mbHelp, 6); i_admin。SetFocus; Exit; end; sSql:=select * from admin_user where name=''%s' and passwd='s
20、9;'' with DM_main.Q_admin do begin SQL.Text:=Format(sSql,Trim(i_admin。Text),i_passwd.Text); Open; if IsEmpty then begin MessageDlg('連接錯(cuò)誤!請(qǐng)確認(rèn)管理員帳號(hào)和密碼!', mtWarning, mbOK, mbHelp, 6); i_admin.SetFocus; Exit; end else begin Close; self.Close; end; end;end;登陸界面:3 主控程序后臺(tái)管理主窗口如下:后臺(tái)管理程序采用MDI風(fēng)格窗體。并采用事件管理機(jī)制ActionList管理所有功能模塊的點(diǎn)擊事件:procedure TF_main。RoomAddExecute(Sender: TObject);begin Application。CreateForm(TF_add, F_add); RoomAdd。Enabled:=False;end;procedure TF_main.RoomModifyExecute(Sender: TObject);begin Application.CreateForm(TF_m
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)總部基地租賃合同范本2篇
- 2025年度現(xiàn)代農(nóng)業(yè)病蟲(chóng)害綜合防治與防治藥物研發(fā)服務(wù)合同3篇
- 二零二五年度河北省二手房買(mǎi)賣(mài)合同附帶貸款利率及還款方式協(xié)商3篇
- 二零二五年度教育培訓(xùn)合同(不含教材)3篇
- 二零二五年度旅游行業(yè)投資并購(gòu)合同3篇
- 二零二五年度搬遷項(xiàng)目進(jìn)度管理合同3篇
- 貪吃蛇c++課程設(shè)計(jì)
- 二零二五年度國(guó)際酒店設(shè)施招標(biāo)采購(gòu)合同3篇
- 海南外國(guó)語(yǔ)職業(yè)學(xué)院《樂(lè)理基礎(chǔ)與視唱(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南外國(guó)語(yǔ)職業(yè)學(xué)院《MATLAB與電機(jī)系統(tǒng)仿真》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025北京豐臺(tái)初二(上)期末數(shù)學(xué)真題試卷(含答案解析)
- 遼寧華電高科環(huán)保技術(shù)有限公司油泥煤循環(huán)流化床協(xié)同資源化工業(yè)化試驗(yàn)項(xiàng)目環(huán)境影響評(píng)價(jià)報(bào)告書(shū)
- 復(fù)旦大學(xué)普物B期末考試試卷
- 剪映教程PPT版本新版剪影零基礎(chǔ)教學(xué)課程課件
- 小學(xué)語(yǔ)文低年級(jí)寫(xiě)話 鴿子
- GB/T 35223-2017地面氣象觀測(cè)規(guī)范氣象能見(jiàn)度
- GB/T 24183-2009金屬材料制耳試驗(yàn)方法
- 醫(yī)院感染質(zhì)量控制中心工作總結(jié)和計(jì)劃課件
- 中共一大介紹
- 生產(chǎn)車(chē)間5s管理培訓(xùn)課件
- 監(jiān)考要求、操作流程及指導(dǎo)語(yǔ)
評(píng)論
0/150
提交評(píng)論