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