計算機vf程序設計._第1頁
計算機vf程序設計._第2頁
計算機vf程序設計._第3頁
計算機vf程序設計._第4頁
計算機vf程序設計._第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 濰坊科技學院設 計 用 紙 Visual FoxPro課程設計報 告 書 設計題目 點歌系統(tǒng) 專業(yè)班級 2011英語本科2班 姓 名 李雙雙 學 號 201103480013 指導教師 趙曉靜 日 期 2012.12.232013.1.9 成 績 課程設計任務書院系:外國語學院 專業(yè):11級英語本科 班級:11級英語本科2班學號:201103480034題目:點歌系統(tǒng)一、課程設計時間2012年12月23日至2013年1月9日,共計2周。二、課程設計內(nèi)容用VF數(shù)據(jù)庫軟件完成以下任務:本系統(tǒng)是對點歌業(yè)務進行數(shù)字化管理。系統(tǒng)的主要功能:歌手信息維護、歌曲管理、信息查詢、點歌次數(shù)管理等,同時能夠完成

2、這些信息的增、刪、改、查等操作。三、課程設計要求1. 程序質(zhì)量:² 貫徹事件驅(qū)動的程序設計思想,使用可視化對象來維護數(shù)據(jù)庫。² 用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾,如有登陸界面,密碼修改等。² 用戶界面中的菜單至少應包括“歌手信息維護”、“歌曲業(yè)務管理”、“信息查詢”、“點歌次數(shù)管理”、“數(shù)據(jù)備份”、“退出”等。² 代碼應適當縮進,并給出必要的注釋,以增強程序的可讀性。2. 課程設計說明書:課程結束后,上交課程設計說明書和數(shù)據(jù)庫系統(tǒng)程序。課程設計說明書的格式和內(nèi)容參見提供的模板。四、指導教師和學生簽字指導教師:_ 學生簽名:_五、說

3、明書成績:目錄一、系統(tǒng)需求分析1二、系統(tǒng)主要功能模塊2三、數(shù)據(jù)庫設計4四、各功能模塊的具體設計5五、課設總結26六、參考文獻2727濰坊科技學院設計用紙1、 系統(tǒng)需求分析 本系統(tǒng)是用于開發(fā)一套專門用于歌手管理工作的數(shù)據(jù)庫系統(tǒng),經(jīng)過仔細研究分析,我們決定將系統(tǒng)分為三大部分,分別為歌手數(shù)據(jù)信息管理,歌曲管理,后臺操作管理三部分。為了便于使用者對歌曲情況的管理,其中主要側重點在歌手人事檔案管理方面。在歌手人事檔案管理又分為歌手人事維護打印和查詢打印兩個分支。歌手成績菜單具有查詢打印功能。系統(tǒng)管理分為操作員管理,密碼管理,數(shù)據(jù)備份等部分。1. 歌手信息維護:管理歌手號、姓名、星座等,一些主要功能:數(shù)據(jù)

4、錄入、修改、刪除、查詢、瀏覽、保存、打印等。2. 歌手數(shù)據(jù)信息的查詢:提供歌手號,姓名,作曲查詢。分別利用不同的命令代碼方式實現(xiàn)查詢打印功能,功能是便于用戶的檢索查詢3. 歌曲點歌次數(shù)查詢的管理:提供歌手號,姓名,作曲,與歌手信息查詢相似。4、三大部分緊密結合聯(lián)系,包括歌手數(shù)據(jù)管理表、歌曲數(shù)據(jù)管理表、用戶口令三個部分。二、系統(tǒng)主要功能模塊歌手管理系統(tǒng)基于Visual FoxPro 6.0中文版開發(fā),VFP在數(shù)據(jù)庫開發(fā)方面具有方面,實用,簡單,直接等優(yōu)點,同時其也具有一定的局限性。本系統(tǒng)主要面向歌曲管理者,歌曲查詢者等開發(fā)使用,因此主要側重于系統(tǒng)的使用性和方便性,同時在安全性方面,我們也十分重視

5、。特別是操作員級別的劃分等密碼管理,我們都做了仔細的分析研究。 一、“電臺歌曲點播系統(tǒng)”的開發(fā) 在開發(fā)應用程序時,可以利用“項目管理器”將應用程序的各個部分組織起來。用集成化的方法建立應用系統(tǒng)項目,并進行項目測試。1 建立電臺歌曲點播系統(tǒng)項目文件 (1)創(chuàng)建子目錄一個完整的應用程序,即使規(guī)模不大,也會涉及多種類型的文件,如dbc數(shù)據(jù)庫、dbf表以及菜單、表單、報表、位圖等。如果把這些文件都放在一個文件夾下,將會給以后的修改、維護工作帶來很大的不便。因此,需要建立一個層次清晰的目錄結構,讓不同類型的文件各歸其所。圖1-4所示的就是一種目錄結構的示例。圖1-4 目錄結構(2)建立電臺歌曲點播系統(tǒng)項

6、目文件選擇“文件”菜單中的“新建”命令或單擊常用工具欄上的“新建”按鈕,在dgxt文件夾位置建立一個名為“Dgxt.PJX”的項目文件,如圖1-5所示。圖1-5項目管理器Dgxt2. 建立數(shù)據(jù)庫與數(shù)據(jù)表 (1)建立數(shù)據(jù)庫 1)在項目管理器上切換到“數(shù)據(jù)”選項卡,選取該選項卡中的“數(shù)據(jù)庫”選項。 2)單擊右邊的“新建”按鈕,出現(xiàn)“新建數(shù)據(jù)庫”對話框,單擊“新建數(shù)據(jù)庫”按鈕,在彈出的“保存新建文件”對話框中;輸入數(shù)據(jù)庫名稱“Order”,保存在“DATA”子目錄下。 3)單擊“保存”按鈕,進入Order數(shù)據(jù)庫設計器三、數(shù)據(jù)庫設計數(shù)據(jù)庫設計是總體設計階段非常重要的環(huán)節(jié),數(shù)據(jù)庫結構的變化會造成編碼的改

7、動,所以必須認真設計數(shù)據(jù)庫結構后再進行編碼,從而避免無謂的重復工作。本系統(tǒng)的數(shù)據(jù)庫包括3個表,即歌手數(shù)據(jù)管理表,歌曲數(shù)據(jù)管理表、用戶口令表。1.歌手數(shù)據(jù)表(歌手.dbf)歌手數(shù)據(jù)管理表(歌手.dbf)用于記錄歌手編號、姓名、性別、生日、星座等信息,其邏輯結構如表1所示。字段類型描述鍵索引說明歌手編號C(3)歌手編號主主000999,不允許為空姓名C(16)姓名中文18,西文16個字符XBC(2)性別男或女生日D生日星座C(6)星座最多3個漢字,如天秤座代表作C(30)代表作115個漢字國籍C(10)國籍最多5個漢字檔案M檔案表1 歌手基本信息表2.歌曲數(shù)據(jù)表(歌曲.dbf)歌曲數(shù)據(jù)表(歌曲.d

8、bf)用于歌曲的基本信息,包括歌曲編號、歌曲名、歌手編號、點歌次數(shù)等信息,其邏輯結構如表2所示。表1-2 歌曲數(shù)據(jù)表.DBF描述如下 字段類型描述鍵索引說明歌曲編號C(4)歌曲編號主主00009999,不允許為空歌曲名C(30)歌曲名115個漢字歌手編號C(3)歌手編號外001999作詞C(30)作詞一個人、兩個人或樂隊,最多15個漢字作曲C(30)作曲同上歌曲G歌曲記錄歌曲,便于播放點歌次數(shù)I點歌次數(shù)普通0999另外,為了便于系統(tǒng)管理,還需增設一個口令管理數(shù)據(jù)表,如表1-3所示。表1-3 口令管理數(shù)據(jù)表KLB.DBF 字段類型描述說明用戶名C(8)用戶名最多4個漢字,8個字符用戶口令C(8)

9、用戶口令最多8個字符3.用戶口令數(shù)據(jù)管理表(用戶口令.dbf)用于記錄系統(tǒng)用戶的基本信息,包括用戶名,密碼等,其邏輯結構如表3所示。表3 用戶表字段類型描述說明用戶名C(8)用戶名最多4個漢字,8個字符用戶口令C(8)用戶口令最多8個字符下一步就是設計軟件的大概功能圖,根據(jù)本系統(tǒng)的情況,其概要圖如圖1-2所示。輸入口令歌曲管理歌手管理系統(tǒng)圖1-2 電臺歌曲點播系統(tǒng)概要圖錄入歌曲點播歌曲打印歌單打印排行榜錄入歌手查詢檔案打印歌手單數(shù)據(jù)管理口令維護關于系統(tǒng)退出系統(tǒng)輸入口令歌曲管理歌手管理系統(tǒng) 第三步就是詳細設計,這里要求對Visual FoxPro有一定的了解。如果知道Visual FoxPro能

10、提供什么樣的組件,就可以比較輕松地細化系統(tǒng)。本系統(tǒng)初步細化的框圖如圖1-3所示。圖1-3 電臺歌曲點播系統(tǒng)框圖 這里,還要聽取用戶的意見,如果用戶同意方案,就可以開工了。否則,還要根據(jù)用戶的意見進行修改。第四步就是運行調(diào)試。當我們將系統(tǒng)開發(fā)完畢以后,就要交付給用戶使用,就是所說的運行了。一般來說半年以內(nèi)不出現(xiàn)錯誤,并且驗收合格后,開發(fā)工作結束。第五步,編寫使用說明書。作為開發(fā)者,我們并不希望為用戶開發(fā)的軟件,用戶卻不會用。對用戶來講,使用說明書是比較重要的。因此,軟件不僅僅是程序本身,還要包括相關的文檔信息。二、具體設計步驟1、 數(shù)據(jù)庫的建立1) 在文件菜單中,點擊新建選擇數(shù)據(jù)庫,保存在f:周

11、琦文件夾下,進行表的設計,如圖所示:2) 表的建立在數(shù)據(jù)庫設計器中點擊新建然后在索引選項卡中,將歌手編號選為主索引。歌手數(shù)據(jù)表、歌曲數(shù)據(jù)表、口令管理數(shù)據(jù)表如圖所示: 四、各功能模塊的具體設計密碼驗證作為系統(tǒng)最基本的安全管理步驟。用戶如果不輸入合法的用戶名和密碼,系統(tǒng)是不能進入的。當用戶輸入合法的用戶名和密碼時,系統(tǒng)管理會自動判斷此用戶,使用戶的操作具有合法性。密碼驗證頁包括操作員姓名和密碼兩個部分。具體的代碼實現(xiàn)也將在詳細設計書說明。下面是密碼登陸頁的圖示(圖4):用戶在文本框輸入操作員及口令,若正確則調(diào)用系統(tǒng)主界面(菜單)。允許輸入三次,若三次均不正確剛自動退出系統(tǒng)。若用戶輸入的操作員姓名及

12、口令正確,要完成下列工作:圖4 登陸界面1) 要參數(shù)設置(1) 設置一個全局變量operat,用于記錄登陸系統(tǒng)的操作員姓名,系統(tǒng)中有3個地方要用到操作員的姓名和代號:一是進入主界面后在標題欄顯示的操作員姓名;二是操作員在系統(tǒng)管理模塊的口令設置中更改自己的口令,系統(tǒng)要知道是哪個操作員;三是退出系統(tǒng)時系統(tǒng)日志中要記錄操作員的退出時間。(2) 在系統(tǒng)日志表log.dbf中增加一條記錄,并同時記錄此操作員的登錄系統(tǒng)的時間。從權限表menuright.dbf中讀出此操作員對應各菜單項的權限,并賦值給數(shù)組。調(diào)用菜單文件,顯示系統(tǒng)主界面。2) 登陸表單界面中主要控件屬性如表5所示。表5 登陸表單控件屬性對象

13、名稱屬性名稱屬性值Form1caption口令輸入窗口AutoCenter.T.Command1caption確定Command2caption退出3)事件代碼:Form1的init事件代碼:SET EXACT ON &&精確比較PUBLIC ARRAY rr18 &&數(shù)組用于實現(xiàn)菜單項權限PUBLIC i &&i用于記錄用戶名及口令輸入次數(shù)PUBLIC operat &&operat用于保存操作員姓名 i=0THISFORM.Text1.Setfocus“確定”按鈕(COMMAND1)CLICK事件代碼:*判斷密碼是否正確i=i

14、+1SELECT operatorLOCATE FOR 操作員姓名=ALLTRIM(THISFORM.Text1.Value)DO CASECASE i<=3 AND FOUND() AND THISFORM.Text2.Value=operator.口令 *輸入次數(shù)未超過3次且用戶名正確、口令正確 operat=THISFORM.Text1.ValueINSERT INTO log(操作員代號,操作員姓名,登錄時間) VALUES(operator.操作;員代號,operator.操作員姓名,DATETIME()_SCREEN.Caption="05計專歌手管理系;統(tǒng)&quo

15、t;+SPACE(40)+DTOC(DATE()+SPACE(40)+"操作員:"+operatSELECT 權限 FROM menuright INTO ARRAY rr WHERE 操作員代號;=operator.操作員代號 ORDER BY 菜單項編號 RELEASE THISFORM DO .mainmain_menu.mprCASE i<=3 AND FOUND() AND THISFORM.Text2.Value!=operator.口令 *輸入次數(shù)未超過3次且用戶名正確、口令不正確 MESSAGEBOX("密碼錯誤,請重輸!",&qu

16、ot;警告") THISFORM.Text2.Value="" THISFORM.Text2.Setfocus CASE i<=3 AND NOT FOUND() &&輸入次數(shù)未超過3次且用戶名不正確 MESSAGEBOX("操作員姓名錯誤,請重輸!","警告") THISFORM.Text1.Value="" THISFORM.Text2.Value="" THISFORM.Text1.Setfocus CASE i>3 &&輸入次數(shù)超過3

17、次 MESSAGEBOX("禁止進入系統(tǒng)!","警告") THISFORM.ReleaseENDCASE 退出按鈕(COMMAND2)CLICK事件代碼:RELEASE THISFORMCLEAR EVENTS4) 系統(tǒng)主頁面當操作員的名稱和密碼均正確的時候,系統(tǒng)便會進入系統(tǒng)主界面使用主菜單。主菜單共分為三個分菜單項:歌手信息管理,歌手成績管理,系統(tǒng)管理。如圖:在歌手信息管理中分為歌手信息維護和歌手信息查詢兩個菜單項,在歌手信息管理中含有歌手點歌次數(shù)查詢打印菜單項,在系統(tǒng)管理中分為:操作員管理、口令設置、權限管理、系統(tǒng)日志、數(shù)據(jù)備份、數(shù)據(jù)恢復、 退出系統(tǒng)

18、七項。以下為各個界面的成果圖:界面 6、系統(tǒng)菜單設計1、 歌手信息管理系統(tǒng)的菜單在應用系統(tǒng)中,各個了模塊是通過菜單組織在一起的。通過對歌手信息管理系統(tǒng)功能模塊的設計,可以交系統(tǒng)劃分為3大模塊:歌曲信息管理、點歌次數(shù)查詢、系統(tǒng)管理,具體的菜單設計見表6:表6 系統(tǒng)菜單歌手信息管理點歌次數(shù)管理系統(tǒng)管理歌手信息維護點歌次數(shù)查詢操作員管理口令設置歌手信息查詢權限管理系統(tǒng)日志數(shù)據(jù)備份數(shù)據(jù)恢復退出系統(tǒng)在菜單設計器中實現(xiàn)權限設置在菜單項設計器中,通過提示選項對話框設置菜單項的跳過條件可以實現(xiàn)用戶權限。每個操作員對每個菜單項有兩種權限:0或1?!?”表示此操作員對該菜單項沒有操作權,系統(tǒng)運行后,該菜單項為灰色

19、。不能打開對應的表單,“1”代表該操作員對該菜單項具有操作權,系統(tǒng)運行后,該菜單項可用,鼠標單擊菜單項能打開對應的表單。操作員對各菜單項的權限保存在表文件menuright.dbf中,在登錄系統(tǒng)時讀出該操作員對應各菜單項的權限,并賦值給一個數(shù)組RR。本系統(tǒng)共10個菜單項,所以定義的數(shù)組也包含10個元素。6.歌手信息查詢表單(歌手.dbf)的設計歌手數(shù)據(jù)信息的查詢?nèi)鐖D8,是基于RSB.dbf表,提供歌手號,姓名,全體查詢。分別利用不同的命令代碼方式實現(xiàn)查詢打印功能。功能是便于使用者,歌手用戶的檢索查詢。1) 歌手信息查詢表單界面中主要控件屬性如表8所示。表8歌手信息查詢表單控件屬性對象名稱屬性名

20、稱屬性值Form1caption歌手信息查詢AutoCenter.T.Grid1recordsourcetype1-別名recordsourcersbOptiongroup1buttoncount4value1Command1caption查詢2) 各事件的代碼如下:FORM1的INIT事件代碼:*輸入編號、姓名提示標簽及文本框THISFORM.Label2.Visible=.F.THISFORM.Text1.Visible=.F.THISFORM.Text1.Setfocus()*輸入起始日期、截止日期提示標簽及文本框不可見THISFORM.Label4.Visible=.F.THISFOR

21、M.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F.*表格數(shù)據(jù)不可修改THISFORM.Grid1.Readonly=.T.Optiongroup1的CLICK事件代碼:*選定查詢類別后,設置各控件是否可見DO CASE CASE THIS.Value=1 &&按歌手號查詢 THISFORM.Label2.Visible=.T. THISFORM.Text1.Visible=.T. THISFORM.Label4.Visible=

22、.F. THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F. THISFORM.Label2.Caption="請輸入要查詢的歌手號:" THISFORM.Text1.Value="" THISFORM.Text1.Setfocus CASE THIS.Value=2 &&按姓名查詢 THISFORM.Label2.Visible=.T. THISFORM.Text1.Visi

23、ble=.T. THISFORM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F. THISFORM.Label2.Caption="請輸入歌手姓名:" THISFORM.Text1.Value="" THISFORM.Text1.Setfocus() CASE THIS.Value=3 &&按出生日期查詢 THISFORM.Label2

24、.Visible=.F. THISFORM.Text1.Visible=.F. THISFORM.Label4.Visible=.T. THISFORM.Label5.Visible=.T. THISFORM.Text2.Visible=.T. THISFORM.Text3.Visible=.T. THISFORM.Command4.Visible=.T. THISFORM.Text2.Setfocus CASE THIS.Value=4 &&顯示全體記錄 THISFORM.Label2.Visible=.F. THISFORM.Text1.Visible=.F. THISFO

25、RM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F. SET FILTER TO GO TOP THISFORM.Grid1.RefreshENDCASEGRID1的數(shù)據(jù)連接連接RSB表。一一對應該對應的數(shù)據(jù)項,COMMAND4(查詢)的CLICK事件代碼:*按輸入的日期條件在表格中顯示查詢的記錄SELECT rsbPUBLIC qsrq,jzrqqsrq=THISFORM.Text2.Va

26、luejzrq=THISFORM.Text3.ValueDO CASE CASE NOT EMPTY(qsrq) AND EMPTY(jzrq) SET FILTER TO 出生日期>=qsrq CASE EMPTY(qsrq) AND NOT EMPTY(jzrq) SET FILTER TO 出生日期<=jzrq CASE NOT EMPTY(qsrq) AND NOT EMPTY(jzrq) SET FILTER TO 出生日期>=qsrq AND 出生日期<=jzrq; OTHERWISEMESSAGEBOX("未輸入查詢時間!","

27、;提示")ENDCASETHISFORM.Grid1.RefreshCOMMAND1的CLICK事件代碼:REPORT FORM .menu1rsb_bb1.frx PREVIEW實現(xiàn)調(diào)用.menu1rsb_bb1.frx報表實現(xiàn)打印的功能。7.歌手點歌次數(shù)查詢表單(點歌次數(shù).scx)設計首先,歌手點歌次數(shù)菜單的設計與歌手信息查詢菜單的設計比較類似。菜單調(diào)用 的是點歌次數(shù).scx表單。1) 將點歌次數(shù).dbf添加到該表單的數(shù)據(jù)環(huán)境中。2) 歌手成績查詢表單界面中主要控件屬性如表9所示。 表9歌手成績查詢表單控件屬性對象名稱屬性名稱屬性值Form1caption歌手成績查詢AutoCe

28、nter.T.Grid1recordsourcetype1-別名recordsourcecjbOptiongroup1buttoncount3value1Command1caption打印預覽設計界面如圖10,界面如下:3) 各事件代碼均類似于歌手信息查詢的事件代碼。其打印預覽按鈕的CLICK的事件代碼為:DO CASE CASE THISFORM.Optiongroup1.Option1.Value=1 SET FILTER TO 歌手號=ALLTRIM(THISFORM.Text1.Value); CASE THISFORM.Optiongroup1.Option2.Value=1 SET FILTER TO 歌手姓名;=ALLTRIM(THISFORM.Text1.Value) CASE THISFORM.Optiongroup1.Option4.Value=1ENDCASEREPORT FORM .cjb_pri.frx PREVIEW8.系統(tǒng)菜單的設計系統(tǒng)菜單的設計主

溫馨提示

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

評論

0/150

提交評論