明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

DIY一個(gè)自己的金山詞霸

[摘要]■ 江蘇 佘明祥  如今,各種電子字典爭(zhēng)奇斗艷,各顯神通,盡管這樣的軟件很多,但每個(gè)人的要求卻也各種各樣,因此常常會(huì)有衣多難尋合身之物的感覺(jué),能否集眾家之長(zhǎng),根據(jù)自己的需要DIY一個(gè)電子字典呢?只要稍懂一點(diǎn)編程知識(shí),按以下步驟操作即可。1.借用別人的字典庫(kù)  字典庫(kù)是電子字典的核心,還是借一個(gè)來(lái)...

■ 江蘇  佘明祥

  如今,各種電子字典爭(zhēng)奇斗艷,各顯神通,盡管這樣的軟件很多,但每個(gè)人的要求卻也各種各樣,因此常常會(huì)有衣多難尋合身之物的感覺(jué),能否集眾家之長(zhǎng),根據(jù)自己的需要DIY一個(gè)電子字典呢?只要稍懂一點(diǎn)編程知識(shí),按以下步驟操作即可。

1.借用別人的字典庫(kù)

  字典庫(kù)是電子字典的核心,還是借一個(gè)來(lái)用吧!我的經(jīng)驗(yàn)是多下載并安裝幾個(gè)電子字典,然后在其安裝文件夾中找字典庫(kù)文件,找一個(gè)自己認(rèn)為最全(收錄詞條最多)的稍作修改即可。

  大多數(shù)軟件的字典庫(kù)文件是文本文件或Access數(shù)據(jù)庫(kù)文件,也有特定格式的文件。Access文件基本不要處理;文本文件要轉(zhuǎn)化為數(shù)據(jù)庫(kù)文件,建議先用Excel打開它,在向?qū)е敢聦⑵滢D(zhuǎn)換為Excel文件,然后再導(dǎo)入數(shù)據(jù)庫(kù)文件,進(jìn)一步修改導(dǎo)入數(shù)據(jù)表的字段名稱、類型、長(zhǎng)度;特定文件格式的轉(zhuǎn)化需一點(diǎn)軟件功夫,這里不便多說(shuō)。我所用字典庫(kù)是“創(chuàng)世紀(jì)英語(yǔ)”(Century word)中的Xdict.mdb文件,其中的數(shù)據(jù)表Word存放了字典信息,為了直觀,將英文單詞的字段名改為“英語(yǔ)”,漢語(yǔ)解釋的字段名改為“漢語(yǔ)”,音標(biāo)的字段名改為“音標(biāo)”。Access數(shù)據(jù)庫(kù)文件不需再轉(zhuǎn)化,并且它既收有單詞又收有短語(yǔ),總共有35426條,已能充分滿足我們需要。

2.選擇語(yǔ)言與設(shè)計(jì)界面

  對(duì)于這樣一個(gè)字典軟件,無(wú)論是Visual Basic、Visual C++、Power Builder、Delphi,還是Borland C++ Builder(簡(jiǎn)稱BCB)均可,關(guān)鍵選擇一個(gè)自己熟悉的開發(fā)工具。我比較熟悉BCB 6.0,只要15分鐘便搭起軟件框架:這是一個(gè)英漢互查軟件,既能查單詞又能查短語(yǔ),還能查英語(yǔ)同意詞。

  讓我們?cè)O(shè)計(jì)軟件界面:在窗體上放兩個(gè)文本框,文本框1用于待查英文單詞的輸入,文本框2用于待查漢字的輸入;放一個(gè)數(shù)據(jù)集控件連接到字典庫(kù)(Xdict.mdb中的表Word);放一個(gè)DBGrid框用于顯示查詢結(jié)果,如果使用Delphi或BCB還要加一個(gè)DataSource控件將數(shù)據(jù)集與DBGrid綁定在一起。

3.打造英漢功能

  考慮到從左向右的模糊查找功能非常實(shí)用,在文本框1的Change事件使用查詢語(yǔ)句:

"Select * from word where 英語(yǔ) like '" + st1 + "%'"
st1是文本框1中輸入的待查字符。就這么簡(jiǎn)單,單詞、詞組均能查,還有模糊逐級(jí)查找功能,一般的電子字典可不具備吧!

4.打造漢英功能

  這個(gè)字典庫(kù)不是漢英字典庫(kù),不過(guò)沒(méi)關(guān)系,采用任意模糊查詢方式,將與待查漢字有關(guān)的記錄,在DBGrid框統(tǒng)統(tǒng)列出來(lái),你要查的東東肯定就在其中,至此又有了一個(gè)新收獲,漢英字典又成了英語(yǔ)同意詞字典,豈不是一箭“多”雕。你所要做的是在文本框2的Chang事件中使用查詢:

"Select * from word where 漢語(yǔ) like '%" + st2 + "%'"
其中st2是文本框2中輸入的待查字符。

5.讓它還能顯示音標(biāo)

  現(xiàn)在字典做好了,但國(guó)際音標(biāo)出不來(lái),原因是沒(méi)有相應(yīng)音標(biāo)字體,老規(guī)矩,還是借用一下吧。從安裝好金山詞霸的電腦中,在C:\Windows\Fonts下找到名為“ksphonet.ttf”的文件,將其解開復(fù)制到本地的Winnt\fonts或Windows\fonts文件夾中。當(dāng)然,你也可將金山詞霸安裝一遍,讓字體文件自動(dòng)復(fù)制。將DBGrid框中的音標(biāo)所列字體設(shè)置為“kingsoft Phonetic Plain” ,國(guó)際音標(biāo)能顯示了。

6.Borland C++ Builder實(shí)例介紹

  新建一個(gè)工程,向窗體Form1中拖2個(gè)Label控件,2個(gè)Edit控件,1個(gè)ADOQuery控件,1個(gè)DataSource控件,1個(gè)DBGrid控件,Label1的Caption屬性寫上“英語(yǔ)”,在其右側(cè)放Edit1用于輸入待查的英文單詞或短語(yǔ),Label2的Caption屬性寫上“漢語(yǔ)”,在它的右側(cè)放Edit2用于輸入待查的漢字;DataSource的DataSet屬性置為“ADOQuery1”;DBGrid1的DataSource屬性置為“DataSource1”;ADOQuery1的ConnecttionStringn屬性寫成“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\dict_diy\dict.mdb;Persist Security Info=False”(設(shè)數(shù)據(jù)庫(kù)文件的路徑是D:\dict_diy\dict.mdf),如果想讓數(shù)據(jù)庫(kù)的位置是動(dòng)態(tài),則在窗體加一OpenDialog控件用于確定文件路徑,然后在代碼中寫上ADOQuery1->ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+OpenDialog->FileName+";Persist Security Info=False"即可。
字典做好了,你還根據(jù)需要使它功能更多,外觀更華麗,總之DIY的“衣服”最合身!
具體代碼請(qǐng)從http://www.cfan.com.cn/11program/200422/jtnghb.html下載。