freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

delphi學(xué)生公寓管理信息系統(tǒng)(doc畢業(yè)設(shè)計(jì)論文)(編輯修改稿)

2025-07-25 08:15 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ource=(local)39。在Data模塊中,將程序中所有對(duì)數(shù)據(jù)的操作進(jìn)行了有效的封裝,設(shè)計(jì)出了2個(gè)函數(shù)://執(zhí)行沒(méi)有返回值的sql語(yǔ)句,如果正確執(zhí)行則返回true,否則返回falsefunction ExeSqlNoQuery(sql:string):boolean。// 執(zhí)行有返回值的sql語(yǔ)句,返回得到的ADOQuery。function ExeSqlQuery(sql:string):TADOQuery。 Common 類(lèi)模塊在程序中,為每一張表定義了一個(gè)類(lèi)。存放在Common目錄下,類(lèi)的成員變量與對(duì)應(yīng)表中的字段名相同,并在后面加了注釋。例如Tstudent 類(lèi)的定義://學(xué)生信息type TStudent=class id:integer。 stdNo:string。//學(xué)號(hào) stdName:string。//姓名 sex:string。//性別 birthday:string。//出生日期 subject:string。//專(zhuān)業(yè) classes:string。//班級(jí) HouseNo:string。//公寓號(hào) roomNo:string。//寢室號(hào) end。登錄窗體命名為 frm_login。(如圖51)圖51 登錄窗體登錄窗體的主要功能是驗(yàn)證用戶(hù)是否合法,其驗(yàn)證用戶(hù)的主要流程如圖52:開(kāi)始是否輸入用戶(hù)名和密碼把用戶(hù)名和密碼賦值給變量用戶(hù)名是否存在用戶(hù)名與密碼是否匹配登錄成功是否失敗3次否退出程序是否否否是是是圖52 登錄窗體流程圖登錄窗體進(jìn)行身份驗(yàn)證,在用戶(hù)輸入完用戶(hù)名和密碼之后,程序會(huì)將用戶(hù)名和密碼與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行比對(duì),用戶(hù)登錄的機(jī)會(huì)為3次,如果連續(xù)3次密碼錯(cuò)誤,系統(tǒng)會(huì)自動(dòng)關(guān)閉,變量inputNum來(lái)記錄輸入錯(cuò)誤密碼的次數(shù),其初始值為零。登錄窗體在主窗體之前彈出,以確保程序安全性,代碼如下:procedure (Sender: TObject)。var frm_login:Tfrm_login。beginfrm_login:=(self)。 //創(chuàng)建登錄窗體。end。主窗體命名為Frm_main。主窗體由主菜單和工具按鈕組成。(如圖53)圖53系統(tǒng)主界面主窗體畫(huà)面簡(jiǎn)潔明了,外觀大方,體現(xiàn)出了程序的易操作性.用戶(hù)可以根據(jù)自己的需求,通過(guò)菜單來(lái)使用程序的各項(xiàng)功能,工具欄按鈕則提供了用戶(hù)一些常用的功能,讓用戶(hù)可以更加快速,簡(jiǎn)單地進(jìn)行操作,為了使程序更加美觀,本系統(tǒng)使用了vclskin。Vclskin是Delphi的控件,可以對(duì)Delphi程序進(jìn)行換膚功能。特點(diǎn):操作簡(jiǎn)單,不需修改源代碼,可以直接美化程序。擁有大量高質(zhì)量的皮膚。通過(guò)vclskin這個(gè)控件,對(duì)程序的所有窗體的外觀以及按鈕進(jìn)行了美化。l 添加公寓樓房記錄。l 編輯公寓樓房信息。l 刪除公寓樓房記錄。l 查詢(xún)公寓樓房信息。由于本系統(tǒng)中,樓房管理、寢室管理、學(xué)生基本信息管理、交費(fèi)管理和來(lái)訪人員登記管理等在功能和界面上都十分相似,所以對(duì)上述功能模塊的界面進(jìn)行泛化,得到一個(gè)父窗體類(lèi),以便以后各功能模塊的繼承。在父窗體中,主要設(shè)計(jì)了添加、刪除、修改等按鈕的基本功能,該父窗體名稱(chēng)為frm_info。添加按鈕當(dāng)用戶(hù)單擊窗體中的“添加”按鈕時(shí),程序會(huì)進(jìn)入添加狀態(tài),令原“刪除”按鈕顯示為“確定”,“修改”按鈕顯示為“取消”,“添加”按鈕不顯示。對(duì)應(yīng)代碼如下:procedure (Sender: TObject)。beginif =39。添加39。 then begin :=39。確定39。 :=39。取消39。 :=false。 end。end。修改按鈕當(dāng)用戶(hù)單擊窗體中的“修改”按鈕時(shí),當(dāng)程序處于修改狀態(tài),即“修改”按鈕顯示為“修改”,原“刪除”按鈕顯示為“保存”,“修改”顯示為“取消”,“添加”按鈕不顯示;當(dāng)程序處于保存狀態(tài)時(shí),即修改按鈕顯示為“取消”時(shí),要取消操作恢復(fù)按鈕原有顯示。對(duì)應(yīng)代碼如下:procedure (Sender: TObject)。beginif =39。修改39。 then begin :=39。保存39。 :=39。取消39。 :=false。 endelse begin if =39。取消39。 then begin :=true。 :=39。刪除39。 :=39。修改39。 end。 end。end。刪除按鈕當(dāng)用戶(hù)單擊窗體中的“刪除”按鈕時(shí),當(dāng)程序處于添加或修改的狀態(tài),即“刪除按鈕”顯示為“確定”或“保存”時(shí),需要恢復(fù)按鈕原有顯示。對(duì)應(yīng)的代碼如下: procedure (Sender: TObject)。beginif( =39。確定39。) or ( =39。保存39。)then begin :=true。 :=39。刪除39。 :=39。修改39。 end。end。父窗體里的按鈕沒(méi)有實(shí)際功能,只是對(duì)一些數(shù)據(jù)的基本的操作(添加、修改、刪除)的按鈕相互之間的作用、關(guān)系做了編寫(xiě)。父窗體的設(shè)計(jì)主要是給其他窗體繼承用的,因此里面編寫(xiě)了最基本的按鈕的代碼,這樣在建立其他窗體的時(shí)候,可以不用編寫(xiě)同樣的代碼,而且風(fēng)格也得到了統(tǒng)一。樓房管理窗體命名為frm_house,繼承了父窗體frm_info(如圖54)圖54樓房管理窗體添加按鈕當(dāng)用戶(hù)單擊“添加”按鈕時(shí),程序會(huì)將公寓樓號(hào)等文本框清空,以便用戶(hù)可以輸入新的信息,對(duì)應(yīng)代碼如下: procedure (Sender: TObject)。begin inherited。 //繼承父窗體 :=0。 :=39。39。 :=39。39。 :=strtodate(39。19801139。)。 :=39。39。 :=39。39。 。end。修改按鈕當(dāng)用戶(hù)單擊“修改”按鈕時(shí),“公寓樓號(hào)”不能為空,否則將彈出提示框提示“沒(méi)有可以修改的數(shù)據(jù)!”,對(duì)應(yīng)的代碼如下:procedure (Sender: TObject)。begin if =39。修改39。 then begin if =39。39。 then begin MessageBox(Handle, 39。沒(méi)有可以修改的數(shù)據(jù)!39。, 39。信息39。, MB_ICONEXCLAMATION)。 exit。 end else begin 。//公寓樓號(hào)文本框獲得焦點(diǎn) end。 end。 inherited。end。刪除按鈕當(dāng)用戶(hù)點(diǎn)擊“刪除”按鈕并且顯示為“刪除”時(shí),程序?qū)h除選中的公寓信息;當(dāng)顯示為“保存”時(shí),程序?qū)⑿薷牡墓⑿畔⒈4娴綌?shù)據(jù)庫(kù)中;當(dāng)顯示為“確定”時(shí),程序?qū)⑿绿砑拥男畔⒈4娴綌?shù)據(jù)庫(kù)中。在“刪除”按鈕顯示為“保存”和“確定”,即要把數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)時(shí),為了保證數(shù)據(jù)的完整性,程序會(huì)檢測(cè)公寓樓號(hào),樓層數(shù),房間數(shù)是否填寫(xiě),如果用戶(hù)遺忘了上面任何一一項(xiàng),程序都會(huì)自動(dòng)彈出信息框,表示填寫(xiě)信息不正確:if((=39。39。) or (=39。39。) or (=39。39。)) then begin MessageBox(Handle, 39。內(nèi)容填寫(xiě)不正確!39。, 39。信息39。, MB_ICONEXCLAMATION)。 exit。 end。在把數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)的時(shí)候,程序還會(huì)檢查公寓樓號(hào)是否重復(fù),如果重復(fù),則操作不成功,會(huì)彈出信息框提醒用戶(hù):House:=。 House:=GetHouseByHouseNo(trim())。 if(Housenil) then begin if() then begin MessageBox(Handle, 39。公寓號(hào)已經(jīng)存在,請(qǐng)重新設(shè)置!39。, 39。信息39。, MB_ICONEXCLAMATION)。 exit。 end。 end。檢查是否重復(fù)SQL代碼如下:ADOQuery:=(nil)。 sql:=39。select id,公寓號(hào),樓層數(shù),房間數(shù),啟用時(shí)間,備注 from 公寓信息 where 公寓號(hào)=39。+ 39。39。39。39。+HouseNo+39。39。39。39。 ADOQuery:=(sql)。 if(1) then begin result:=nil。 end在窗體被創(chuàng)建的時(shí)候,程序會(huì)自動(dòng)調(diào)用函數(shù)填充數(shù)據(jù),函數(shù)名為Filldata,函數(shù)會(huì)調(diào)用sql語(yǔ)句來(lái)顯示數(shù)據(jù)。l 添加寢室記錄。l 編輯寢室信息。l 刪除寢室記錄。l 查找寢室信息。l 統(tǒng)計(jì)各寢室空床數(shù)。寢室管理窗體命名為frm_room(如圖55)圖55寢室管理窗體本窗體也繼承了父窗體frm_info。寢室管理窗體可以根據(jù)公寓號(hào)和寢室號(hào)來(lái)查詢(xún)相關(guān)寢室的信息。在“刪除”按鈕顯示為“確定”或“保存”時(shí),程序會(huì)檢測(cè)公寓號(hào),寢室號(hào),可住人數(shù)和住宿費(fèi)用四個(gè)項(xiàng)目是否填寫(xiě)完整,如果有其中一項(xiàng)用戶(hù)忘記填寫(xiě),程序會(huì)彈出信息對(duì)話框,提醒用戶(hù),對(duì)應(yīng)代碼如下:if((=39。39。) or (=39。39。) or (=39。39。) or (=39。39。)) then begin MessageBox(Handle, 39。內(nèi)容填寫(xiě)不正確!39。, 39。信息39。, MB_ICONEXCLAMATION)。 exit。 end。在把寢室號(hào)填入到數(shù)據(jù)庫(kù)中去,程序會(huì)通過(guò)寢室信息表查找相同公寓內(nèi)的寢室號(hào)是否存在相同,如果相同則會(huì)提醒用戶(hù),因?yàn)椴辉试S在同一幢公寓里有2個(gè)寢室的寢室號(hào)是相同的。本窗體有公寓號(hào)下拉框bobox,此下拉框中的數(shù)據(jù)是用公寓信息表中的數(shù)據(jù)進(jìn)行填充的,代碼如下:procedure 。var ADOQuery:TADOQuery。begin ADOQuery:=(nil)。 //創(chuàng)建空數(shù)據(jù)集 ADOQuery:=。 //得到公寓信息數(shù)據(jù)集 //判斷數(shù)據(jù)集是否為空,若空則退出 if 1 then begin ADOQuery:=nil。 exit。 end。 。 //將數(shù)據(jù)集中的內(nèi)容循環(huán)寫(xiě)入ComboBox while(not ) do begin ([39。公寓號(hào)39。])。 。 end。 :=0。 ADOQuery:=nil。end。在輸入條件時(shí),在“公寓號(hào)”下拉框中選擇公寓樓號(hào)或者“全部”,寢室管理窗體內(nèi)將顯示相應(yīng)所有寢室的信息;每次在“公寓號(hào)”下拉框中選擇,程序都會(huì)調(diào)用顯示寢室信息的函數(shù),用來(lái)顯示相應(yīng)的信息?!安檎摇庇脕?lái)查找特定寢室信息,所以在單擊“查找”按鈕時(shí),程序上方的寢室號(hào)文本框中必須填入要查找的寢室號(hào),否則程序會(huì)彈出信息“請(qǐng)輸入相應(yīng)的寢室號(hào)”,在“寢室號(hào)”中輸入寢室號(hào),單擊“查找”,就可以顯示該寢室信息。根據(jù)不同的需要,定義了不動(dòng)的函數(shù)來(lái)顯示數(shù)據(jù)//填充所有數(shù)據(jù):獲得所有數(shù)據(jù)并填充到窗體中的數(shù)據(jù)顯示控件中 procedure FillData。//根據(jù)公寓號(hào)填充數(shù)據(jù):根據(jù)選定的公寓樓號(hào)顯示寢室信息。procedure FillDataByHouseID(houseID:string)。 //填充公寓號(hào):在“公寓樓”下拉框中顯示公寓樓信息procedure FillHouseID。//填充查找用公寓號(hào):在“公寓樓號(hào)”下拉框中顯示公寓號(hào)數(shù)據(jù)procedure FillHouseIDForSearch??沾步y(tǒng)計(jì)窗體命名為frm_room_nouse(如圖56)圖56空床統(tǒng)計(jì)窗體空床統(tǒng)計(jì)是為了讓用戶(hù)更加直觀地看到所有公寓里寢室的空床數(shù)量,這樣可以方便用戶(hù)進(jìn)行學(xué)生入住安排,如果學(xué)生要求換寢室,或者學(xué)生在上學(xué)期走讀,這學(xué)期需要住宿的時(shí)候,這個(gè)空床統(tǒng)計(jì)可以幫助用戶(hù)快速找到
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1