郭占祥
(內(nèi)蒙古民族大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,內(nèi)蒙古通遼 028043)
Visual FoxPro 6.0是面向?qū)ο蟮拈_發(fā)工具,具有較強(qiáng)的系統(tǒng)查詢功能,用它開發(fā)的數(shù)據(jù)庫應(yīng)用程序易于維護(hù),而且與其它數(shù)據(jù)庫的連接也比較方便[1],現(xiàn)在仍然是國內(nèi)外企業(yè)和高校開發(fā)中小型數(shù)據(jù)庫應(yīng)用系統(tǒng)的優(yōu)選工具。本文通過使用FoxPro 6.0,結(jié)合管理信息系統(tǒng)有關(guān)知識設(shè)計的個人書籍管理系統(tǒng),在Windows XP、Vista等操作系統(tǒng)環(huán)境下均可應(yīng)用,兼容性強(qiáng)。
書籍作為信息的一種載體,是人們獲得知識的一種重要途徑,圖書資料數(shù)字化、網(wǎng)絡(luò)化的快速發(fā)展為圖書資源的建設(shè)帶來了新的挑戰(zhàn)與機(jī)遇,作為圖書管理、查詢與借閱重要支撐的書籍管理操作系統(tǒng)的建設(shè)直接關(guān)系到知識的傳播速度,其優(yōu)劣對圖書資料信息資源建設(shè)具有重要意義[2]。
書籍查詢系統(tǒng)的結(jié)構(gòu)作為整個系統(tǒng)設(shè)計的框架,是程序流程的基礎(chǔ),該書籍查詢系統(tǒng)的結(jié)構(gòu)主要設(shè)置有:(1)系統(tǒng)開發(fā)人:郭占祥;(2)專業(yè):計算機(jī)科學(xué)與技術(shù)專業(yè);(3)“個人書籍管理系統(tǒng)”:設(shè)計兩張基礎(chǔ)數(shù)據(jù)表,即“已讀書目表”和“未讀書目表”,其中,“已讀書目表”屬性包括書名、借出時間、類型(類型分為學(xué)術(shù)書籍、休閑書籍和考試書籍等3個子類)等簡單介紹,它被用來記錄用戶已經(jīng)閱讀過的書目,“未讀書目表”屬性包括編號、書名、作者、類型、封面等簡單介紹,它被用來記錄用戶未曾閱讀的書目(亦可根據(jù)實(shí)際的應(yīng)用情況,適當(dāng)增加或減少設(shè)置的內(nèi)容)。
該系統(tǒng)的主要操作流程是:驗(yàn)證用戶名密碼→菜單驅(qū)動事件循環(huán)→退出系統(tǒng)。本系統(tǒng)使用的表單界面包括:登錄表單forml.scx、背景表單Preface.scx、歡迎表單Welcome.scx和編輯表單Bjy.scx,bjn.scx。此外,還有一系列查詢、統(tǒng)計圖和系統(tǒng)說明表單。使用的報表包括:y.frx 和 n.frx。使用的菜單是:菜單1.mnx。
主要提供的菜單服務(wù)包括有七個主菜單,每個主菜單下面根據(jù)具體的使用要求可以設(shè)置不同的子菜單來實(shí)現(xiàn)不同的功能。各主菜單及其功能選項(xiàng)如下:主菜單“文件”,其子菜單為“打印”(設(shè)置了“已讀書目”、“未讀書目”兩個選項(xiàng))和“退出”;主菜單“查詢”,其子菜單為“已讀書目”(設(shè)置了“按書名”、“按作者”查詢選項(xiàng))和“未讀書目”(設(shè)置了“按書名”、“按作者”查詢選項(xiàng));主菜單“編輯”,其子菜單為“已讀書目”、“未讀書目”和“直接編輯數(shù)據(jù)表”( 設(shè)置了“已讀書目表”、“未讀書目表”編輯數(shù)據(jù)表選項(xiàng));主菜單“統(tǒng)計”,其子菜單為“按類別統(tǒng)計”(設(shè)置了“已讀書目”、“未讀書目”兩個選項(xiàng))和“按年份統(tǒng)計”(用來統(tǒng)計年度讀書數(shù)目趨勢);主菜單“報表”,其子菜單為“已讀書目”和“未讀書目”;主菜單“音效”,其子菜單為“開音效”(可以設(shè)置“音效1”、“音效2”、“音效3”等)和“關(guān)音效”;主菜單“系統(tǒng)”,其子菜單為“版本說明”、“幫助文件”和“關(guān)于作者”。下面就以一具體書籍名“《三國演義》”的查詢?yōu)槔?,重點(diǎn)進(jìn)行“系統(tǒng)登錄模塊”、“查詢模塊”和“報表模塊”的設(shè)計與功能的實(shí)現(xiàn)。
要求實(shí)現(xiàn)以下功能:設(shè)置驗(yàn)證“用戶名”和“密碼”,若正確,則加載菜單;否則,錯誤3次后退出系統(tǒng)[3]。
具體設(shè)計過程是:首先,新建一個表,命名為“密碼表3”,設(shè)置用戶名和密碼;然后,新建一個表單,添加圖象控件,插入圖片,添加3個標(biāo)簽控件(“歡迎使用個人書籍管理系統(tǒng)”、“用戶名”和“密碼”);再添加2個文本框控件,單擊右鍵,在“生成器”里賦值“密碼表3.用戶名”和“密碼表3.密碼”;最后,添加2個命令按鈕“確認(rèn)”和“退出”,再雙擊“確認(rèn)”按鈕輸入以下程序代碼:
程序代碼:
locate all for alltrim(密碼表3.用戶名)==alltrim(thisform.text1.value)
if found( )
if alltrim(thisform.text2.value)==alltrim(密碼表3.密碼)
x=1
do form 查詢
else
thisform.spinner1.value=thisform.spinner1.value+1
if thisform.spinner1.value>=3
messagebox("對不起,你不是合法用戶!")
thisform.release
quit
endif
messagebox("口令不正確!請重新輸入!",48,"登錄信息")
thisform.text1.setfocus
thisform.text1.value=" "
thisform .refresh
Endif
調(diào)試運(yùn)行正確后,打開系統(tǒng)首先彈出登錄界面,如圖1所示。輸入正確的用戶名和密碼,例如該系統(tǒng)設(shè)置的用戶名是“劉強(qiáng)”、密碼是“888”,如圖2所示。輸入正確的用戶名和密碼后,單擊“確認(rèn)”按鈕,將打開系統(tǒng)的封面,如圖3所示。反之若密碼輸入3次有誤,則退出系統(tǒng),如圖4所示。
圖1未輸入用戶名和密碼的登陸界面圖圖2輸入正確用戶名和密碼的登陸界面圖
圖3系統(tǒng)封面圖4輸錯3次密碼界面
查詢模塊提供了包括“已讀書目”表和“未讀書目”表兩表關(guān)聯(lián)在內(nèi)的多種查詢表單。如果選擇“已讀書目”表的“按書名”查詢,如圖5所示;選擇相應(yīng)菜單項(xiàng)以后,則彈出如圖6所示的“查詢”對話框。此系統(tǒng)設(shè)計了如前第2部分介紹的七個主菜單以及下屬的多個子菜單,在此著重介紹“查詢”菜單的設(shè)計,其它的菜單功能均可以通過下拉菜單操縱整個系統(tǒng),因與此類似,不再一一贅述。
“查詢模塊”要求實(shí)現(xiàn)的功能是:在查詢對話框中輸入正確的要查詢書籍的名稱,單擊“確定”按鈕后,將出現(xiàn)相應(yīng)的顯示界面;否則將顯示“輸入錯誤”。如果輸入錯誤超過3次,將“禁止進(jìn)入系統(tǒng)”。
圖5按書名查詢圖6 “查詢”對話框
實(shí)現(xiàn)過程:在圖象控件里插入圖片,添加2個命令按鈕“確認(rèn)”和“退出”,再添加一標(biāo)簽控件“請輸入要查詢的書名:”,最后添加一個文本框用來輸入書名。編寫的程序代碼如下:
RJ版教科書的例題模塊相對單一,以“例”“例1”“例2”來劃分,例題一般按照從易到難,從基礎(chǔ)到應(yīng)用的順序排列.
程序代碼:
i=i+1
if thisform.text1.value="三國演義"
report form 三國演義
else
if i<3
messagebox("輸入錯誤,請重新輸入!")
thisform.text1.value=" "
thisform.text1.setfocus
else
messagebox("輸入錯誤,禁止進(jìn)入系統(tǒng)!")
thisform.release
endif
Endif
以“《三國演義》”一書的查詢?yōu)槔M(jìn)行說明,在查詢對話框“請輸入要查詢的書名:”內(nèi)輸入“三國演義”,如圖7所示,點(diǎn)擊確定按鈕,將會出現(xiàn)該書籍的信息。反之,若輸入該系統(tǒng)還沒有入庫的書籍名稱則顯示“輸入錯誤,禁止進(jìn)入系統(tǒng)!”信息。
新建報表,編輯要查詢的書籍的詳細(xì)信息,可編輯數(shù)張“已讀書目”報表。最后,通過輸入書名運(yùn)行后得到相應(yīng)書籍報表,可得知該書籍的狀態(tài),如圖8所示。
圖7輸入書名查詢書籍圖8書籍報表
(1)編輯模塊
通過新建報表可以對書名和作者進(jìn)行添加、修改、刪除等操作,以顯示“封面”圖片。
(2)統(tǒng)計模塊
動態(tài)生成統(tǒng)計圖一般需要利用WZGRAPH.app,即需要通過調(diào)用VFP附帶的向?qū)砉ぷ?。因?yàn)楸鞠到y(tǒng)生成的exe可執(zhí)行文件可能脫離VFP開發(fā)環(huán)境運(yùn)行,所以要預(yù)先通過圖形向?qū)伞邦愋蛯Ρ葓D”、“年度讀書折線圖”,然后以靜態(tài)表單形式給出,故,統(tǒng)計模塊的圖表可以做成靜態(tài)的統(tǒng)計圖表[4]。
(3)音效模塊
通過插入.wav格式的音樂來實(shí)現(xiàn),本模塊提供的服務(wù)包括選擇3種背景音樂或者選擇關(guān)閉背景音樂。音樂的格式為.wav,使用的主要命令是:SET BELL TO`*.WAV`,?chr(7)。
(4)幫助模塊
為了幫助用戶使用系統(tǒng),還提供了系統(tǒng)幫助界面。
此外,用戶界面是人與計算機(jī)之間傳遞和交換信息的接口[5],所以,一個系統(tǒng)的“美工”也很重要。要開發(fā)一個用戶喜歡的軟件,乃至一個成功的產(chǎn)品,不能不考慮顏色的搭配、字體的選擇、窗體大小位置的分布等一些細(xì)微的問題,本設(shè)計的原則是,界面統(tǒng)一、簡明、美觀,同時易用。
我國圖書查詢信息技術(shù)的總體水平不高,在網(wǎng)絡(luò)環(huán)境快速發(fā)展的今天,根據(jù)我國信息技術(shù)的發(fā)展?fàn)顩r和社會經(jīng)濟(jì)發(fā)展的實(shí)際水平,實(shí)事求是地實(shí)施符合自己實(shí)際情況的圖書管理系統(tǒng)至關(guān)重要[6]。本設(shè)計以“《三國演義》”一書的查詢?yōu)槔捎肰isual FoxPro 6.0系統(tǒng)提供的可視化工具設(shè)計的個人書籍查詢系統(tǒng),經(jīng)測試,該系統(tǒng)能夠?qū)崿F(xiàn)對各種相關(guān)書目的添加、刪除、修改、查找、報表、統(tǒng)計、瀏覽等多種圖書管理系統(tǒng)的操作功能。
參考文獻(xiàn):
[1]史濟(jì)民. Visual FoxPro 及其應(yīng)用系統(tǒng)開發(fā)[M].北京:清華大學(xué)出版社,2007.15-20.
[2]朱素英. 基于語音的圖書資料查詢漢語接口研究[D].國防科學(xué)技術(shù)大學(xué), 2005:1-5.
[3]許利杰. 圖書館管理信息系統(tǒng)[D].吉林大學(xué), 2008:23-36.
[4]黃京蓮,周山芙. 數(shù)據(jù)庫應(yīng)用程序設(shè)計基礎(chǔ)教程(Visual FoxPro)題解與實(shí)驗(yàn)指導(dǎo)[M].北京:清華大學(xué)出版社,2005.124-130.
[5]吉順國. 基于數(shù)據(jù)倉庫的學(xué)籍管理系統(tǒng)設(shè)計與實(shí)現(xiàn)[D].蘇州大學(xué),2009:31-34.
[6]趙興玉. 圖書管理信息系統(tǒng)設(shè)計與實(shí)現(xiàn)[J]. 電腦編程技巧與維護(hù),2009,(05):72-74.