我們在使用Word2000編輯一篇文檔時,可以在Word2000的工具菜單項中設(shè)置自動更正功能,這種功能的主要作用是在當(dāng)用戶編輯某一文檔時,當(dāng)輸入的某一詞組資料不正確時,Word2000將會自動將輸入不正確的該詞組更正為正確的詞組內(nèi)容,這樣就大大提高了漢字輸入時正確性。在自動更正功能窗口時,可以看出自動更正窗口包括了一個正誤對照數(shù)據(jù)資料內(nèi)容,使用過程中用戶既可以使用系統(tǒng)中默認(rèn)的更正數(shù)據(jù)內(nèi)容,同時也可以增加或修改某一更正數(shù)據(jù)內(nèi)容,這樣在進(jìn)行文檔編輯操作時,利用這種功能使用起來非常方便。根據(jù)這種實現(xiàn)的原理,我們可以將這種功能運(yùn)用到由VFP數(shù)據(jù)庫管理系統(tǒng)編寫的應(yīng)用程序中去,這樣可以提高系統(tǒng)在進(jìn)行文字編輯處理時文字書寫的正確性,下面筆者介紹這種文字自動更正功能的實現(xiàn)過程。
系統(tǒng)原理
為了能夠?qū)崿F(xiàn)正誤文字資料的互相替換功能,可以按照Word2000中實現(xiàn)更正方法的方式建立一個更正內(nèi)容數(shù)據(jù)庫,這個數(shù)據(jù)庫將收集整理那些在進(jìn)行文字書寫時容易發(fā)生錯誤寫法的詞組資料。但我們能夠想到,如果由用戶收集整理這個數(shù)據(jù)庫,受個人知識水平及應(yīng)用領(lǐng)域限制,收集整理工作量將會非常巨大,在實際中能夠真正實現(xiàn)并不容易。其實這一點(diǎn)完全可以利用Word2000系統(tǒng)中所收集整理的正誤對照資料內(nèi)容,把這一部分內(nèi)容轉(zhuǎn)換到實際需要生成的數(shù)據(jù)庫中,這樣可以大大提高收集整理工作的效率。這樣首先要把Word2000中存儲這些正誤對照資料的存放文件找出來,通過查找能夠知道這個文件存放文件夾C:\Windows\Application\Microsoft\office\下,文件名字為ms01033.acl,為了不影響Word2000的正確使用,可以把這個文件拷貝到C盤根目錄下并將該文件后綴名改為DOC,變成Word2000的文檔文件類型,然后使用Word2000打開這個文件,這里一般要提示插入OFFICE2000的安裝盤,用戶可以插入這個安裝盤進(jìn)行安裝編碼內(nèi)容,然后選擇一個合適的打開該文件的編碼,在這里需要選擇的是Unicode編碼,然后打開這個文件,可以看到打開的這個文檔中在后面部分存在著全部的漢字正誤對照文字資料,可以把這部分文字資料全部拷貝出來存放到一個純文本文件中,并把這個純文本文件命名為ZL.TXT,在這個文本文件中存放著Word2000中的全部中文詞語更正資料,然后就需要把這個文本資料中的內(nèi)容轉(zhuǎn)換到一個數(shù)據(jù)庫中去,在這里可以借助一個小程序?qū)崿F(xiàn)這種數(shù)據(jù)的轉(zhuǎn)換功能。
新建一個數(shù)據(jù)表文件命名為ABC.DBF,這個數(shù)據(jù)表文件只包括兩個字段NR1,NR2字段都為字符型,寬度為30,建立這個數(shù)據(jù)表后,建立一個程序文件MAIN.PRG,程序內(nèi)容如下:
USE ABC
WJNR=FILETOSTR ("C:\ZL.txt")
WJNR=WJNR+" "
DO WHIL LEN (ALLT (WJNR))>0
NR11=SUBS (WJNR, 1,AT (" ", WJNR))
WJNR=SUBS (WJNR, at (" ", WJNR)+2)
NR22=SUBS (ABC, 1,AT (" ", WJNR))
WJNR=SUBS (ABC, AT (" ", WJNR)+2)
SELE ABC
APPE BLAN
REPL NR1 WITH NR11, NR2 WITH NR22
ENDDO
運(yùn)行這個程序后打開ABC.DBF數(shù)據(jù)表,我們可以看出Word2000下的全部的漢字更正資料都轉(zhuǎn)換到這個數(shù)據(jù)中,其中NR1中存放的是錯誤資料的內(nèi)容,NR2中存放的是對應(yīng)的正確資料的內(nèi)容,然后就可以利用這個正誤對照數(shù)據(jù)表中的內(nèi)容來實現(xiàn)文檔資料的自動更正功能了。
系統(tǒng)原理
為了能夠?qū)崿F(xiàn)正誤文字資料的互相替換功能,可以按照Word2000中實現(xiàn)更正方法的方式建立一個更正內(nèi)容數(shù)據(jù)庫,這個數(shù)據(jù)庫將收集整理那些在進(jìn)行文字書寫時容易發(fā)生錯誤寫法的詞組資料。但我們能夠想到,如果由用戶收集整理這個數(shù)據(jù)庫,受個人知識水平及應(yīng)用領(lǐng)域限制,收集整理工作量將會非常巨大,在實際中能夠真正實現(xiàn)并不容易。其實這一點(diǎn)完全可以利用Word2000系統(tǒng)中所收集整理的正誤對照資料內(nèi)容,把這一部分內(nèi)容轉(zhuǎn)換到實際需要生成的數(shù)據(jù)庫中,這樣可以大大提高收集整理工作的效率。這樣首先要把Word2000中存儲這些正誤對照資料的存放文件找出來,通過查找能夠知道這個文件存放文件夾C:\Windows\Application\Microsoft\office\下,文件名字為ms01033.acl,為了不影響Word2000的正確使用,可以把這個文件拷貝到C盤根目錄下并將該文件后綴名改為DOC,變成Word2000的文檔文件類型,然后使用Word2000打開這個文件,這里一般要提示插入OFFICE2000的安裝盤,用戶可以插入這個安裝盤進(jìn)行安裝編碼內(nèi)容,然后選擇一個合適的打開該文件的編碼,在這里需要選擇的是Unicode編碼,然后打開這個文件,可以看到打開的這個文檔中在后面部分存在著全部的漢字正誤對照文字資料,可以把這部分文字資料全部拷貝出來存放到一個純文本文件中,并把這個純文本文件命名為ZL.TXT,在這個文本文件中存放著Word2000中的全部中文詞語更正資料,然后就需要把這個文本資料中的內(nèi)容轉(zhuǎn)換到一個數(shù)據(jù)庫中去,在這里可以借助一個小程序?qū)崿F(xiàn)這種數(shù)據(jù)的轉(zhuǎn)換功能。
新建一個數(shù)據(jù)表文件命名為ABC.DBF,這個數(shù)據(jù)表文件只包括兩個字段NR1,NR2字段都為字符型,寬度為30,建立這個數(shù)據(jù)表后,建立一個程序文件MAIN.PRG,程序內(nèi)容如下:
USE ABC
WJNR=FILETOSTR ("C:\ZL.txt")
WJNR=WJNR+" "
DO WHIL LEN (ALLT (WJNR))>0
NR11=SUBS (WJNR, 1,AT (" ", WJNR))
WJNR=SUBS (WJNR, at (" ", WJNR)+2)
NR22=SUBS (ABC, 1,AT (" ", WJNR))
WJNR=SUBS (ABC, AT (" ", WJNR)+2)
SELE ABC
APPE BLAN
REPL NR1 WITH NR11, NR2 WITH NR22
ENDDO
運(yùn)行這個程序后打開ABC.DBF數(shù)據(jù)表,我們可以看出Word2000下的全部的漢字更正資料都轉(zhuǎn)換到這個數(shù)據(jù)中,其中NR1中存放的是錯誤資料的內(nèi)容,NR2中存放的是對應(yīng)的正確資料的內(nèi)容,然后就可以利用這個正誤對照數(shù)據(jù)表中的內(nèi)容來實現(xiàn)文檔資料的自動更正功能了。