版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
30頁第一章:引言1.1題目背景進入二十世紀(jì)90年代后計算機技術(shù)得到了巨大的發(fā)展,無論是在速度還是穩(wěn)定性,還在體積上都有著巨大的飛越,和早期的計算機已經(jīng)不能同日而語了,這使得計算機在各行各業(yè)得到了進一步的應(yīng)用,因為有了計算機使生活更加方便捷,而計算機在其他的領(lǐng)域得到了巨大的發(fā)展他使天氣的預(yù)測得到了實現(xiàn),在計算行業(yè)已經(jīng)不能取代,它使地球突然之間變成了一個村子,通信是如此的簡單。如果說瓦特發(fā)明了蒸氣機,帶來了第一次工業(yè)革命,那我認(rèn)為,計算機的發(fā)明則是任何行業(yè)的革命,據(jù)專家分析計算機的發(fā)明使人類的進步至少前進了50年。把計算機比做人,那么硬件就是他結(jié)實而有力的身體??梢宰屗l(fā)揮他的威力,但是如果他是一個沒有智慧的人那么他也就是一個沒有用不會動的人,但是如果給他加上智慧就能發(fā)揮他的威力,而軟件就是計算機的智慧,所以說軟件是很重要的。軟件制作的好壞將很大的影響計算機的效率,以及各種性能。所以本人利用visualfoxpro8.0制作了《教職工信息管理系統(tǒng)》來對教職工的信息進行方便高效的管理。1.2項目內(nèi)容此項目是由visualfoxpro8.08.0開發(fā)完成的,整個系統(tǒng)從符合操作簡便、界面友好、靈活、實用的要求出發(fā),完成對教職工的基本信息(檔案),和教職工平時授課時的信息進行管理。項目中加入了信息的瀏覽,添加,修改,查找,刪除,管理,打印等實用的功能。整個系統(tǒng)還加入了用戶和權(quán)限的設(shè)置,由于本人對算法的了解有限,所以整個系統(tǒng)并沒有對安全性進行嚴(yán)格的考慮,但可以使用一些公用的算法和不可逆算法,很容易的就能加入本系統(tǒng)。1.3系統(tǒng)的設(shè)計目標(biāo)本系統(tǒng)的設(shè)計目標(biāo)為了方便管理人事的人員使用,而不被無關(guān)人員所使用導(dǎo)致數(shù)據(jù)的丟失。而權(quán)限的加入,更可以防止普通的用戶故意對破壞數(shù)據(jù)。使正常的使用者能正確的操作大大發(fā)揮軟件的效率,減少錯誤,經(jīng)過本的這幾日的測試,及使用可以滿足教職工信息的管理工作。1.4設(shè)計工具1.4.1設(shè)計工具介紹設(shè)計本系統(tǒng)的工具是microsoft公司開發(fā)的visualfoxpro8.08.0,visualfoxpro8.08.0是一款專業(yè)的數(shù)據(jù)庫軟件開發(fā)公具,visualfoxpro8.0所帶的是一個關(guān)系數(shù)據(jù)庫,主要是應(yīng)用于windows環(huán)境利用visualfoxpro8.08.0可是設(shè)計出豐富多彩的用戶界面,在用戶界面中可以放置各種控制部件,如命令按鈕,圖形圖片,圖表,以及visual本身所帶的一些控件,方便易用,從而設(shè)計出完全圖形化的界面,方便用戶的操作和使用,1.4.2設(shè)計工具特點.對于熟悉xBASE命令語言的用戶,可以在visualfoxpro8.0系統(tǒng)命令口使用命令函數(shù),也可以使用系統(tǒng)菜單選項直接操作和管理數(shù)據(jù)。這比程序開發(fā)的應(yīng)用程序具有更大的靈活性和更高的數(shù)據(jù)處理效率。對于數(shù)據(jù)庫應(yīng)用程序開發(fā)能力的用戶,可以用visualfoxpro8.0開發(fā)可單獨出心裁運行的應(yīng)用系統(tǒng),并可以使用系統(tǒng)所提供人的功能制作發(fā)布應(yīng)用程序的光盤。.可視化開發(fā)在過去大部分時間都用在編寫代碼上。Visualfoxpro8.0不是這樣,因為visualfoxpro8.0具有可視化環(huán)境,所以開發(fā)人員在設(shè)計用戶界面和設(shè)置控制屬性上所花的時間與在編碼上所花的時間差不多。Visualfoxro8.0還采用了事件驅(qū)動,這更符合windows下的程序的運行方式,使程序人員更容易開發(fā)出高效,簡潔,易懂的代碼,而visualfoxpro8.0仍然支持標(biāo)準(zhǔn)的面向過程的程序設(shè)計方式,但更重要的是它現(xiàn)在提供人真正的面向?qū)ο蟪绦蛟O(shè)計的能力。如借助visualfoxpro8.0的對象模型,可以充分使用面向?qū)ο蟪绦蛟O(shè)計的所有功能,包括繼承性、封裝性、多態(tài)性和子類。.visualfoxpro8.0的語法非常明了。如果使用過microsoft公司的其他產(chǎn)品則可以很容易的上手。更重要的是完全可以不用了解SQL(結(jié)構(gòu)化查詢語言),完全用過去所了解的foxBASE、foxpro語句就可以了。而想要加入SQL時非常方便,不用任何控件和外掛,這便程序員有眷更靈活,和方面的開發(fā)過程。更主要的是visualfoxpro8.0在開發(fā)數(shù)據(jù)庫方面要比visualbasic和visualc++更快捷方面,而比powerbuilder簡潔靈活,所以更就突出visualfoxpro8.0的開發(fā)效率..visualfoxpro8.0使用自身的數(shù)據(jù)庫,所以在數(shù)據(jù)管理,和速度和穩(wěn)定性上面要比使用visualbasic+access速度快而且安全。這些種種因素是讓我選擇visualfoxpro8.0作為開發(fā)工具的主要原因。而且自還帶了許多非常高效的控件。自身帶的控件(例.圖)第二章結(jié)構(gòu)設(shè)計2.1總體設(shè)計概要《教職工信息管理系統(tǒng)》主要對教職工分成兩類信息,一類是教職工的檔案如:姓名、性別、出生日期、身份證號這類可能很少時間需要,可能是老師入黨或被調(diào)走之類的事情才能用到這些信息。第二類則是教職工的教學(xué)信息如:是哪個系的,是不是輔員,一天有幾節(jié)課,教什么這類??赡茉趯W(xué)校里應(yīng)用的校多的信息。所以將這兩類的信息分開,兩個庫也沒有做關(guān)連,因為這兩個庫沒有必要的信息要求庫連到一起,所以我建了兩個庫,一個叫main.dbf主要的存放教職工基本信息,或稱教職工的檔案,別一個叫school.dbf主要的庫存放教職工教學(xué)的信息。系統(tǒng)有幾個大的模塊分別是,新建模塊,編輯模塊,查找模塊,管理模塊,幫助,還帶了一個日歷的小工具,也許能給使用者帶來方便。2.2實體及聯(lián)系教職工基本信息庫名稱類型長度小數(shù)位數(shù)索引姓名字符型10↗性別字符型2none民族字符型10none出生日期日期型8none籍貫字符型14none婚否邏輯1none退修否邏輯1none學(xué)歷字符型10none政治面貌字符型10none畢業(yè)院校字符型10none電話號碼字符型16none參加工作時日期型8none家庭住址字符型30none身份證號碼字符型18none兩個庫沒有關(guān)聯(lián)所以兩個庫的人數(shù)可以不一樣,而程序設(shè)計時也是一模塊分為兩種,分別對應(yīng)兩個庫,對兩個庫進行分別的處理。這樣做的好處是安全性更高,更重要的是一個庫可能需要經(jīng)常的操作,而別一個則可能使用的很少,所以可以避開系統(tǒng)資源的浪費。2.3結(jié)構(gòu)設(shè)計(數(shù)據(jù)庫)教職工教學(xué)信息表main.dbf(自由表)名稱類型長度小數(shù)位數(shù)索引教職工代號字符型10↗姓名字符型10none性別字符型2none職稱字符型10系字符型10none每天課節(jié)數(shù)字符型10none現(xiàn)所授課字符型10none聯(lián)系電話字符型14none收入數(shù)字4none輔導(dǎo)員邏輯1none外聘邏輯1none用戶庫名稱類型長度小數(shù)位數(shù)索引用戶名字符10none密碼字符10Noneadmin邏輯1Nonesuperop邏輯1none第三章行為特征設(shè)計3.1系統(tǒng)功能介紹3.1.1文件中的輸入模塊此模塊主要用于數(shù)據(jù)的輸入,沒有修和刪除的功能比較單一,但是可以批量的進行輸入,作為輸入可以說非常的實用,簡單而不缺少功能。使用起來非常容易上手。由于輸入時怕兩個表發(fā)生混淆,所以在編寫的時候把兩個庫的輸入分開來寫,不容易讓使用者產(chǎn)生誤操作。對于輸入模塊主要的兩個表單為input.scx和input1.scx。input1.scx用于教職工基本信息的輸入,而input.scx則是應(yīng)用在教職工教學(xué)信息管理。3.1.2文件中的查找模塊此模塊主要用于數(shù)據(jù)的查找,主要應(yīng)用的是SQL語言加visualfoxpro8.0控件而作出來的,查找模塊則是把兩個庫的查詢控件都放在一個表單上了,退過一個命令按鈕組來實現(xiàn)兩個表單之間的切換,因為查找對數(shù)據(jù)產(chǎn)生的錯誤沒有直接的影響,所以才考慮把兩個庫放在一起操作的。由于有SQL語句的幫助,使查找的結(jié)果非常易懂一目了然。這個模塊主要是放在search.scx中。3.1.3此模塊主要用于數(shù)據(jù)的瀏覽,這個模塊使用了一個page的控件同樣是把兩上表放在一起瀏覽(其實只是將控件連接到兩個自由表),用page控件把兩個表分開,由于沒有數(shù)據(jù)渾淆的危險,所以也沒有考慮將其分開來。這個模塊主要放在native.scx中。3.1.4編輯管理中的編輯信息模塊這個模塊主要用于數(shù)據(jù)在輸入后,發(fā)生輸入錯誤,而后想改正,就是由這個模塊來完成修改的。作者本想把他做成兩個表單,但是為了方便還是做成了一個表單,為了防止錯誤也加入了一些方法。例如使用了容器,還使用了命令按鈕組,來避免錯誤的發(fā)生。這個模塊放在edit.scx表單中3.1.5編輯管理中的管理信息模塊時間一長的時候數(shù)據(jù)庫的維護管理是非常有必要的,他可以糾正一些錯誤,還有使數(shù)據(jù)庫顯得井井有條,使數(shù)據(jù)庫能發(fā)揮它應(yīng)有的效率,管理模塊是非常有用的,而為了不讓沒有權(quán)限的人使用他,作者特意加上的密碼,只有有權(quán)限的人才能使用管理模塊。在管理模塊中有編輯,刪除,打印,查找等幾個細(xì)小而人性化的東西,使管理模塊發(fā)揮最大的作用。這個模塊放在mantable.scx中。3.1.6編輯管理中的日歷模塊作者還加入了一個visualfoxpro8.0自帶的一個控件”日歷控件”。這個模塊放在cal.scx中。這個模塊可以隨時提醒用戶時間,節(jié)省一些不必要的麻煩。3.1.7用戶模塊這個大的模塊主要包括了三小模塊,添加用戶:可以添加新的用戶,可是登錄本系統(tǒng),但想使用這個模塊必須要有管理員以上權(quán)限的人才能使用,這個模塊放在adduser.scx表單中。用戶密碼:只要擁有這個系統(tǒng)的用戶都可以用這個模塊來完成密碼的修改,這個模塊可以不使用權(quán)限,這個模塊放在中muser.scx表單中。帳戶管理,這個模塊可以對庫中的所有帳戶進行管理,他需要有超級管理員的身份才能進入。他可以修改任何人的密碼,還可以給其他用戶以管理員,或者讓他失去管理員的功能,3.1.8幫助模塊這個模塊主要有幫助和關(guān)于兩小模塊,關(guān)于模塊:是告訴用戶此系統(tǒng)的一些信息如作者是誰版本號是什么,什么時間做出來的等等信息,這個模塊主要放在about.scx表單中。幫助模塊:幫助模塊是告訴用戶一些具體的使用方法,快捷鍵代表著什么等。這個模塊放在help.scx表單中3.1.9主模塊主模塊上面有一個菜單,一個歡迎的滾字模和一副圖片所組成。主要功能是完成對其他模塊的連接,和對庫的瀏覽。還配有時間功能,隨時告訴用戶打開此界面的時間。3.2系統(tǒng)功能的設(shè)計為了便于從宏觀上理解本系統(tǒng),本節(jié)采用模塊圖的形式描繪此系統(tǒng)的功能。以幫助對以上模塊的理解。3.2.13.2.2文件功能模塊3.2.3編輯管理模塊圖3.2.43.2.5幫助模塊圖3.2.6退出模塊圖退出整個系統(tǒng),返回桌面。3.3流程圖這里主要列出了幾個模塊的流程圖程序的總體思想圖1.登錄模塊的流程圖2.主界面的流程圖3.瀏覽介面4.添加模塊的流程圖5.管理模塊流程圖由于整個項目有兩個表所以不論什么模塊都有兩上,這里說明有可能只說一個有兩個都被說到,但是確是相同的。教職工教職工基本信息教職工教學(xué)信息用戶數(shù)據(jù)庫添加信息量查找修改刪除管理員管理增加用戶超級管理員修改密碼判斷密碼是否正確判斷密碼是否正確執(zhí)行判斷模塊,在密碼庫中進行查找,比對。密碼數(shù)據(jù)庫進入主界面開始通過登錄表單進入到主界面通過登錄表單進入到主界面界面界面初始化,并加入菜單等待用戶的輸入添加模塊編輯模塊管理模塊查找模塊用戶管理模塊是否按了退出按鍵開始開始判斷用戶的輸入第一個上一個下一個最后一個教職工基本信息庫教職工教學(xué)信息庫返回主界面判斷用哪一個模塊保存退出判斷用戶的輸入第一個上一個下一個最后一個保存退出開始及進行初始化開始及進行初始化密碼模塊判斷密碼是否正確選擇對哪個模塊行操作修改刪除查找打印瀏覽打一個或打全部修改刪除查找打印瀏覽報表報表打一個或打全部退出教職工基本信息庫教職工教學(xué)信息庫開始開始添加一個空記錄判斷是否還要繼續(xù)輸入使指針指向庫低使非數(shù)據(jù)環(huán)境控件為空添加重添添加空白頁把所有控件里的數(shù)清空把數(shù)據(jù)寫入庫向庫中寫入一條空記錄庫現(xiàn)在已經(jīng)完成了程序各個功能模塊的設(shè)計,現(xiàn)在來看看整個系統(tǒng)的運行,運行程序?qū)⒊霈F(xiàn)登錄窗口。輸入用戶名和密碼后(出現(xiàn)登錄成功的提示信息),進入系統(tǒng)。選擇菜單中“新建”一項會出現(xiàn)一個下拉菜單,(包括二項)。分別是教職工基本信息和教職工授課信息。按下每一個按鈕都會彈出一個菜單,是老師的個人基本情況。確定之后,會彈出一個對話是利用MASSAGEBOX命令來完成。用戶可根據(jù)需要任意選擇。選擇“查找”菜單,會出現(xiàn)一個下拉菜單(包括三項)。根據(jù)需要任意選擇。此模塊功能是通過SQL語言來完成的。主要運用DOCASE與ENDCASE語名循環(huán)。例如:case(alltrim(bo4.displayvalue)="大于等于")SELECT*frommainWHERE&aaa>=ccc然后輸入內(nèi)容。還要注意的是指針是否在文件尾。IF.not.EOF(),然后再使用SKIP命令。最后根據(jù)個人需要進行查找。選擇“瀏覽信息”菜單,會出現(xiàn)一個下拉菜單,里面有相關(guān)信息需要添寫并輸入內(nèi)容。(教職工基本信息和教職工授課信息應(yīng)該是一一相對應(yīng)的)。選擇“編輯管理”菜單,會出現(xiàn)一個下拉菜單,(包括三項)。分別是編輯信息、管理信息和日歷。在使用前二項時需要用戶密碼,如果不是本系統(tǒng)的本戶,就無法使用此功能。此模塊是兩個庫連接的實現(xiàn),即SELECT1與SELECT2。具體算法如下:SELECT2USEMAIN.DBFSELECT1USESCHOOL.DBF根據(jù)需要隨意選擇。然后輸入內(nèi)容。選擇“用戶管理”菜單,會現(xiàn)一個下拉菜單,(包括三項)。分別是創(chuàng)建新用戶、用戶改名和用戶管理。第一項要求是本系統(tǒng)的管理員才能有此權(quán)力,他擁有密碼權(quán)限。而后二項也是在此基礎(chǔ)上完成的。具體算法如下:它是一個判斷語名,當(dāng)THISFORM.CONTAINER4.VISIBLE=.T.THISFORM.CONTAINER4.VISIBLE=.F.時成立,否則會THISFORM.CONTAINER4.VISIBLE=.F退出此表單。選擇“幫助”菜單項,會出現(xiàn)一個下拉菜單(包括二項)。功能是提供版本信息。選擇“退出”菜單,就會直接退出本系統(tǒng)。3.5項目開發(fā)中所遇到的問題,及解決方法3.5.1模糊查詢技術(shù)問題
內(nèi)容提要:主要介紹在數(shù)據(jù)庫管理系統(tǒng)中實現(xiàn)模糊查詢的方法與技巧,提供了能實現(xiàn)真正模糊查詢的二個通用函數(shù)的源程序,特別是介紹了結(jié)構(gòu)化查詢語言SQL中鮮為人知的通配符的使用方法。關(guān)鍵詞FoxPro模糊查詢SELECT-SQL通配符中圖分類號TP311.13
在數(shù)據(jù)庫管理系統(tǒng)中,查詢是一個很重要的內(nèi)容。然而,在多數(shù)情況下人們不能準(zhǔn)確知道作為查詢條件的字段內(nèi)容,如:某字段內(nèi)容為“涪陵師范高等??茖W(xué)?!保樵冋呖赡苤恢榔浜喎Q“涪陵師?!被颉案煂!?,這時,為保證能查到滿足條件的數(shù)據(jù)記錄,只能進行模糊查詢。下面從編程的角度談?wù)勗贔oxPro2.5b中,實現(xiàn)模糊查詢的方法。
一、簡單的模糊查詢方法
①利用比較操作符“=”進行模糊查詢。先把SETEXACT的設(shè)置置為OFF,這時,“=”用于兩個字符表達(dá)式之間作比較,其規(guī)則是:“=”右邊的字符逐個與“=”左邊相同位置的字符進行比較,只要遇到其中一個字符不相等,或者“=”右邊的字符表達(dá)式結(jié)束,比較操作就結(jié)束。所以,"abc"="abc","abc"="ab","ab_"="ab","ab"=""的比較結(jié)果均為邏輯真(.T.)。可見,這種方法的模糊性是不能令人滿意的。
②利用“$”進行包含比較,其模糊查詢的效果就比用“=”時好得多。這種方法是在“$”右邊的字符表達(dá)式中查找“$”左邊的字符表達(dá)式,若找到返回邏輯真(.T.),否則返回邏輯假(.F.)。用這種方法只要“$”左邊的字符表達(dá)式的每一個字符在“$”右邊的字符表達(dá)式中存在且位置不間斷,查找就能成功,然而對于諸如前面提到的“涪陵師專”或“涪師?!敝惖暮喎Q,其查找結(jié)果為邏輯假(.F.)。
由此可見,直接利用“=”和“$”進行比較操作是不能太“模糊”的。
二、查詢條件為縮略語或簡稱的模糊查詢方法
縮略語或簡稱在地名、單位名稱中使用非常廣泛。通常,縮略語或簡稱是由全稱中的某些排列位置不連續(xù)的字符組成的,因此,通過設(shè)置不同長度的字符串進行比較的規(guī)則,或者利用包含比較符“$”,是不能對縮略語或簡稱進行模糊查詢的。這時可編寫一通用的自定義函數(shù),將用戶輸入的查詢條件(<字符串2>)與字符型字段變量(<字符串1>)進行逐字比較,如果<字符串2>是<字符串1>的縮略語或簡稱,則返回邏輯真(.T.)否則返回邏輯假(.F.),從而實現(xiàn)模糊查詢。
下面將作者所編寫的自定義函數(shù)介紹給讀者,以供參考。
設(shè)計思想:此函數(shù)必須是一個通用函數(shù)。為此,執(zhí)行時可先接受二個參數(shù)──<字符串1>和<字符串2>。從<字符串2>的左邊開始取其第一、二個字符X1,用AT()函數(shù)測試X1在<字符串1>中的位置S1,如果S1不為0,就將<字符串1>中包含X1以及左邊部分的字符截掉,并取<字符串2>中的第三、四個字符X2,用AT()函數(shù)測試X2在<字符串1>的剩余部分中的位置S2,若S2不為0,就將<字符串1>的剩余部分中包含X2以及左邊部分的字符截掉……,直到將<字符串2>中的字符取完并在<字符串1>中測試完為止,最后本函數(shù)返回邏輯真(.T.)。在這個過程中只要有一次測試不成功(即Sn=0),則退出本函數(shù)并返回邏輯假(.F.)。因為一個漢字占二個ASCII字符,所以每次取二個相鄰字符進行測試(讓ZFBJ.PRG中的K=2)。這樣做,一是可以減少測試比較的次數(shù),提高程序運行速度。二是當(dāng)<字符串2>中含有數(shù)字、字母等半角字符時,可以減少滿足條件的記錄數(shù)目,提高查詢的命中率。然而,若查詢條件中含有英文縮寫,則每次只能取一個ASCII字符進行測試(讓ZFBJ.PRG中的K=1)。3.5.2連編所遇到的問題利用VFP6.0創(chuàng)建的應(yīng)用程序,被編譯成可執(zhí)行程序后,若要使其脫離VFP環(huán)境獨立運行,除了我們所知道的在應(yīng)用程序目錄中需包含一個名為"CONFIG.FPW"的配置文件.
文件內(nèi)容為:
screen=off
resource=off
另外應(yīng)該包含
"VFP6R.DLL"、"VFP6RCHS.DLL"、"VFP6RENU.DLL"這三個動態(tài)鏈接庫文件。
這三個文件在"Windows\System"目錄下,用戶可直接將其復(fù)制到自己的應(yīng)用程序目錄中。最后再經(jīng)過編譯形成可執(zhí)行程序,運行安裝向?qū)?chuàng)建發(fā)布磁盤,我們開發(fā)的小應(yīng)用程序就可以堂堂正正地在Win98下安裝運行了。一個好的應(yīng)用程序不僅要有高效率的程序代碼,方便快捷的幫助文件更是不可缺少的一部分,由于現(xiàn)在幫助文件大部分已經(jīng)采用了html格式,所以我們不再對原來WIN95,WIN3.X的幫助文件進行介紹。1.如何啟動幫助文件在VisualFoxPro中你可以在程序中加入下列命令進行啟動幫助文件。sethelponsethelpto幫助文件名稱(如:sethelptozhj.chm)2.用MicrosoftHTMLHelpWorkShop進行幫助文件設(shè)計(HTMLHelpWorkShop下載)Html幫助文檔是一個統(tǒng)一的窗口,改變了原有幫助文檔目錄窗口和文檔內(nèi)容窗口分離的情況,左側(cè)是目錄、詞匯表和查詢這三個功能項,通過常見的標(biāo)簽欄切換。右側(cè)是Html文檔的顯示部分,上部的工具欄就和瀏覽器一模一樣。當(dāng)然這是通常的形式。由于Html文件具有一定的多媒體表現(xiàn)力,因此Html幫助文檔的內(nèi)容不再局限于文字和靜態(tài)圖像,在其中可以插入GIF動畫,也可以利用瀏覽器的插件在文檔中播放聲音文件、動畫影片、或其它格式的多媒體內(nèi)容,使幫助文檔所表現(xiàn)的內(nèi)容更加豐富多彩。當(dāng)然,加入URL地址更是Html文件的獨到功能,這樣的幫助文檔內(nèi)容就不局限于包裝好的文檔內(nèi)容了,可與因特網(wǎng)聯(lián)系在一起。幫助文檔從結(jié)構(gòu)上來看可分為兩個部分,運行器和文檔內(nèi)容。運行器是操作系統(tǒng)的一部分,而文檔內(nèi)容隨其所附的應(yīng)用程序而變化。這與以前的Winhelp的結(jié)構(gòu)沒有多少差別。不過運行器部分有了較大的改進,運行器很小巧并且不直接運行Html文檔,而是操作一個ActiveX的組件,從而控制支持ActiveX組件的網(wǎng)頁瀏覽器,如微軟的Explorer3.0以上版本的瀏覽器。它的一個好處是能使幫助文檔跨平臺運行,只要有不同平臺上的運行器和瀏覽器,幫助文檔不再需要重新編制。制作Html幫助文檔的工具是微軟公司的HtmlhelpWorkshop工具包)這是英文版的,不過沒有關(guān)系,幫助文檔運行文件有簡體中文版,并且運行的界面是根據(jù)用戶使用的操作系統(tǒng),與Workshop的語言版本沒有關(guān)系。Html幫助文檔的核心是充分利用Html文件的表現(xiàn)能力,對分散的Html文件作整體的包裝,這是目前在Web網(wǎng)頁以外利用Html文件的一個趨勢。如果你用這個方式制作學(xué)習(xí)教程和電子圖書雜志,或為用戶提供產(chǎn)品目錄和宣傳公司的產(chǎn)品,比已經(jīng)流行的PDF文件更簡潔和方便。這么好的工具使用也很方便,沒有編程和寫語言的要求,只要你會制作Html文件,基本上大事已備。下面簡要介紹一些入門的步驟:1.安裝好HelpWorkshop,運行后,再單擊菜單或工具欄中的“新建(New)”,這時出現(xiàn)選擇新建內(nèi)容的對話框。先選擇“工程(Project)”,在接著出現(xiàn)的工程向?qū)е兄付üこ谭胖玫哪夸浘涂梢粤?,單擊“OK”后就出現(xiàn)工程編輯界面。在工程編輯界面的上方是3個標(biāo)簽欄,第一個“Project”是有關(guān)工程的編輯,第二個“Contents”是目錄,第三個“Index”是索引。在工程編輯界面的左側(cè)是7個按鈕,它們的功能如圖2所示。2.單擊“改變工程選項”按鈕,出現(xiàn)工程選項對話框,這里僅改變標(biāo)題(Title)的內(nèi)容,把制作內(nèi)容標(biāo)題寫入,編譯后這個標(biāo)題將出現(xiàn)在窗口的標(biāo)題欄中。其它的內(nèi)容暫時用系統(tǒng)的默認(rèn)值。然后單擊“加入/刪除封面文件”按鈕,再選擇“加入”按鈕,把作為封面頁的Html文件添上。封面頁的文件一定要有,否則編譯的幫助文件運行后,系統(tǒng)會報錯。好了,簡單的工程編輯就完成了。3.單擊“目錄”(Contents)標(biāo)簽欄,這時系統(tǒng)請你選定一個新目錄文件的名稱,指定后出現(xiàn)目錄編輯界面。在目錄編輯界面的左側(cè)有11個按鈕,前5個的作用如上所示,以下4個用來調(diào)整指定目錄的位置,最后兩個已在工程編輯界面中出現(xiàn)過。然后按照內(nèi)容的需要插入標(biāo)題或頁面目錄,并對每個目錄選定相應(yīng)的Html文件。標(biāo)題可以分為多級,并在標(biāo)題上也放置需要的Html文件,作為標(biāo)題的說明內(nèi)容,這需要按照你制作的內(nèi)容統(tǒng)一考慮。目錄的內(nèi)容在編譯后如圖1的左側(cè)所示,這是4個標(biāo)題,可以展開后顯示標(biāo)題以下的目錄,單擊目錄可以打開相應(yīng)的文件內(nèi)容。插入目錄后,關(guān)于目錄的屬性暫時也用默認(rèn)值,這樣基本的目錄就可完成。4.完成目錄編制后,一個Html幫助文件已具備了雛形,關(guān)于索引的內(nèi)容暫時空著。保存工程文件和目錄文件后就可以編譯,編譯的特點是把所有用到的Html文件統(tǒng)統(tǒng)壓縮后包裝在一起。在主工具欄按鈕中可以找到編譯按鈕和試運行按鈕,編譯后再運行就可以看看作品的面貌了。上述簡介的是編制Html幫助文件的基本步驟,上手很容易。但它的功能遠(yuǎn)非這些,如在窗口定義中可以設(shè)計你所喜愛的形式,幾乎所有的窗口要素都可以改變。它還支持全文檢索功能,而且很容易制作。詳細(xì)的內(nèi)容請參考HtmlhelpWorkshop的幫助文檔,或微軟的相應(yīng)網(wǎng)頁。相信你試過以后一定會喜歡它。3.幫助文件的隨發(fā)布盤發(fā)行幫助文件制作完成以后,你要想在WIN98以下或之外的環(huán)境中運行,如:WIN95、WINNT40等,你應(yīng)該在程序的發(fā)布向?qū)е羞x定HTML幫助引擎復(fù)選框。3.5.3總結(jié)的經(jīng)驗和技術(shù)利用VFP開發(fā)程序過程中曾遇到了不少的問題和麻煩,為此耗費了很多精力和時間,為了讓更多的人少走彎路,我者總結(jié)了幾點VFP開發(fā)的經(jīng)驗。1.在打包VFP程序生成安裝盤的時候常常會出現(xiàn)CAB壓縮錯誤提示,這時要看看你打包時是否關(guān)掉了程序中的項目管理器,如果沒有關(guān)掉,系統(tǒng)在壓縮程序時無法壓縮正在使用的項目文件信息,所以出現(xiàn)壓縮錯誤提示。2.在編譯生成可執(zhí)行程序后或生成安裝盤重新安裝運行時,程序主畫面閃一下后就退出了,用戶無法進行控制操作,這時要看看在你的主程序的末尾是否加上了READEVENTS語句,以使程序暫停運行等待用戶響應(yīng)。3.程序打包后,安裝運行時無法脫離VFP主窗口環(huán)境。這時你可以自己編輯一個CONFIG.FPW系統(tǒng)配置文件對生成的程序進行運行環(huán)境等各方面的設(shè)定。具體方法如下:在應(yīng)用程序中打開項目管理器,在代碼一欄內(nèi)新建一程序其代碼如下:screen=offsysmenu=off然后存為一個名叫CONFIG的文件,這時系統(tǒng)默認(rèn)的擴展名為:PRG,保存好文件后退出。在剛才保存的位置找到剛才存好的CONFIG.PRG文件,將其重命名為CONFIG.FPW然后重新進入項目管理器,在代碼欄內(nèi)選中該文件,單擊右鍵選擇“排除”一項,這樣系統(tǒng)在編譯的時候就不將其編譯在內(nèi)而將它視為系統(tǒng)文件,這樣你的程序一運行就先自動搜索當(dāng)前路徑或默認(rèn)路徑下是否存在該系統(tǒng)配置文件,如存在就執(zhí)行進入系統(tǒng)配置。4.在程序表單中設(shè)計退出按鈕時為保險起見要加語句:CLEAREVENTS來結(jié)束用戶操作,使程序安全退出。5.在VFP5.0上面編寫的程序可以不出問題地移植到VFP6.0上,但VFP6上面寫的程序雖然用的語句VFP5上面全都具備,但你編譯打包時出現(xiàn)的錯誤提示之多令你無法忍受,所以一般不要進行這種由高版本到低版本的移植讓visualfoxpro在瀏覽器中運行。一般情況下,在使用VFP系統(tǒng)開發(fā)的應(yīng)用系統(tǒng),只要經(jīng)過編譯、發(fā)布和安裝過程就可以脫離VFP運行環(huán)境而在操作系統(tǒng)中直接運行。其實這只是應(yīng)用系統(tǒng)的一種運行方式,我們完全可以利用活動文檔(ActiveDocuments)的功能,實現(xiàn)將單純操作系統(tǒng)方式下的應(yīng)用系統(tǒng)向基于HTML的客戶界面應(yīng)用程序的轉(zhuǎn)變。通過活動文檔可順利地將以前編寫的應(yīng)用程序移植到Web頁面上,并可將VFP的功能傳遞到瀏覽器上。下面以一個人員情況應(yīng)用程序?qū)崿F(xiàn)在瀏覽器中運行為例,介紹具體的實現(xiàn)過程:1.新建一個項目命名為new,并在該項目文件管理器添加一個表單BD1到項目中,設(shè)定該表單的屬性如下:TitleBar=0&&&&關(guān)閉表單的標(biāo)題欄
WindowState=2&&&&設(shè)定表單運行時為最大化方式ScollBar=3&&&&設(shè)定當(dāng)表格處于非整屏顯示時,可以使用垂直和水平滾動條在表單對象的DestoryEvents事件中加入如下程序代碼:clearEvents&&&&保證當(dāng)表單關(guān)閉時,用戶能夠退出應(yīng)用程序的運行2.在表單中添加數(shù)據(jù)環(huán)境和控件對象。在表單的數(shù)據(jù)環(huán)境中添加一個數(shù)據(jù)表作為表單中的數(shù)據(jù)源,在這里我們增加的是一個人員情況表。利用鼠標(biāo)拖動數(shù)據(jù)環(huán)境中的相應(yīng)字段選項添加到表單中,作為表單的編輯對象,并添加一個對數(shù)據(jù)記錄進行操作的類對象,設(shè)置完畢的表單如圖1。3.添加活動文檔類到項目,在建立好用戶應(yīng)用程序界面后,就可以向項目中添加活動文檔類,其步驟如下:在項目管理器中選擇“類”頁面,單擊“新建”按鈕,創(chuàng)建一個活動文檔類,設(shè)定其基類為活動文檔,將之存儲于自定義的類庫文件中。設(shè)定好新類后雙擊對象,打開新類對象的代碼窗口,為新類對象的DestoryEvents事件設(shè)定程序代碼如下:DOFORMBD1READEVENTS設(shè)定新類對象的屬性:ContainerReleaseType=1
4.設(shè)定生成的新類為主文件,VFP6中活動文檔應(yīng)用程序的編譯方式與其他普通VFP應(yīng)用程序相同。將活動文檔表單連接為應(yīng)用程序,編譯后將生成一個new.app應(yīng)用程序,這個應(yīng)用程序可以在VFP環(huán)境下或在瀏覽器中運行。為了在瀏覽器中運行活動文檔,我們要在系統(tǒng)選單“工具”中選擇“運行ActiveDocument”,在文件名編輯框中輸入要運行的活動文檔的文件名new.app,單擊“運行”按鈕,系統(tǒng)會提示你對欲運行的文件處理進行選擇,這里我們要選擇“在文件的當(dāng)前位置打開”選項,便可在瀏覽器中運行活動文檔。通過上面的操作步驟,我們就可以很方便地實現(xiàn)把使用VFP系統(tǒng)編寫的應(yīng)用程序移植到瀏覽器中去運行。第四章測試經(jīng)過幾天的測試,并且考慮了一些不可遇見的情況來完成程序的測試,結(jié)果非常更人滿意,基本達(dá)到了作者之前的預(yù)想,也證明了軟件測試是非常的重要的,可是說測試的時間和開發(fā)的時間一樣長,在測試中發(fā)現(xiàn)了不少的問題,改正了一些錯誤的地方,還有對數(shù)據(jù)類型的轉(zhuǎn)換有了更
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 15416:2025 EN Automatic identification and data capture techniques - Bar code print quality test specification - Linear symbols
- 2025建筑工程施工合同的
- 2025年度文化創(chuàng)意商鋪租賃合同范本(含知識產(chǎn)權(quán)保護協(xié)議)3篇
- 2025年度文化創(chuàng)意園區(qū)物業(yè)用房移交與知識產(chǎn)權(quán)保護合同3篇
- 二零二五年度全款購新能源汽車及充電站建設(shè)合同模板3篇
- 二零二五年度農(nóng)機作業(yè)與農(nóng)業(yè)產(chǎn)業(yè)扶貧合作合同3篇
- 2025年度高新技術(shù)園區(qū)融資合同范文匯編3篇
- 二零二五年度公司汽車轉(zhuǎn)讓協(xié)議:適用于汽車租賃公司車輛更新3篇
- 2025年度新能源公司合并投資協(xié)議2篇
- 二零二五年度全日制勞務(wù)合同書(高新技術(shù)企業(yè)研發(fā))2篇
- 16學(xué)時《中醫(yī)藥膳學(xué)》教學(xué)大綱(可編輯修改文本版)
- cecs31-2017鋼制電纜橋架工程設(shè)計規(guī)范
- 江蘇省鹽城市東臺市2022-2023學(xué)年四年級上學(xué)期期末語文試題
- 2024年華能黑龍江公司招聘筆試參考題庫含答案解析
- 居家適老化改造需求評估量化表
- 反意疑問句完
- 《大數(shù)據(jù)安全技術(shù)》課后題答案
- 肌理課件完整
- “約會”的DFMEA與PFMEA分析
- 教師朗誦稿《幸?!?7篇)
- 數(shù)據(jù)安全應(yīng)急響應(yīng)與處置
評論
0/150
提交評論