小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

英漢雙向字典DIY

 frie 2005-08-04

英漢雙向字典DIY

江蘇 佘明祥

如今,各種電子字典爭奇斗艷,各顯神通,盡管軟件很多,卻有衣多難尋合身之物的感覺,能否集眾家之長,根據(jù)自己的需要DIY一個電子字典呢?只要稍懂一點編程知識,按以下步驟操作即可。

一、字典庫

字典庫是電子字典的核心,還是借一個來用吧!我的經(jīng)驗是可以多下載幾個電子字典,分別將它們安裝到自己的機器中,然后其安裝文件夾中找字典庫文件,找一個自己認為最全(收錄詞條最多)的稍作修改即可。大多數(shù)軟件的字典庫文件是文本文件或Access數(shù)據(jù)庫文件,也有的是特定格式的文件,Access文件基本不要處理;文本文件要轉(zhuǎn)化為數(shù)據(jù)庫文件,建議先用Excel打開它,在向?qū)У闹敢聦⑵滢D(zhuǎn)化為Excel文件,然后再導入數(shù)據(jù)庫文件,進一步修改導入數(shù)據(jù)表的字段名稱、類型、長度;特定文件格式的轉(zhuǎn)化需一點軟件功夫,這里不便多說。我所用字典庫是“創(chuàng)世紀英語”(Century word)中的Xdict.mdb文件,其中的數(shù)據(jù)表Word存放了字典信息,為了直觀,將英文單詞的字段名改為“英語”,漢語解釋的字段名改為“漢語”,音標的字段名改為“音標”。Access數(shù)據(jù)庫文件不需再轉(zhuǎn)化,并且它既收有單詞又收有短語,總共有35426條,已能充分滿足我們需要。

二、選擇語言與設計界面

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

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

三、英漢功能

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

"Select * from word where 英語 like ‘" + st1 + "%‘"

st1是文本框1中輸入的待查字符。就這么簡單,單詞、詞組均能查,還有模糊逐級查找功能,一般的電子字典可不具備吧!

四、漢英功能

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

"Select * from word where 漢語 like ‘%" + st2 + "%‘"

其中st2是文本框2中輸入的待查字符。

五、顯示音標

現(xiàn)在字典做好了,但國際音標出不來,原因是沒有相應的音標字體,老規(guī)矩,還是借用一下吧。從網(wǎng)上下載一個金山詞霸,在其壓縮包中找到名為“ksphonet.ttf”的文件,將其解開復制到Winnt\fonts或Windows\fonts文件夾中,當然,你也可將金山詞霸在你的機器上安裝一遍,讓字體文件自動復制。將DBGrid框中的音標所列字體設置為“kingsoft Phonetic Plain” ,國際音標能顯示了。

六、Borland C++ Builder實例介紹

新建一個工程,向窗體Form1中拖2個Label控件,2個Edit控件,1個ADOQuery控件,1個DataSource控件,1個DBGrid控件,Label1的Caption屬性寫上“英語”,在它的右側(cè)放Edit1用于輸入待查的英文單詞或短語,Label2的Caption屬性寫上“漢語”,在它的右側(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ù)據(jù)庫文件的路徑是d:\dict_diy\dict.mdf),如果想讓數(shù)據(jù)庫的位置是動態(tài),則在窗體加一OpenDialog控件用于確定文件路徑,然后在代碼中寫上ADOQuery1->ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+OpenDialog->FileName+";Persist Security Info=False"即可。

Edit1用于英譯漢查詢,其過程為:

void __fastcall TForm1::Edit1Change(TObject *Sender)
{
  ADOQuery1->Close();
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add("select 英語, 音標,漢語 from word where 英語 like ‘"+
                      Edit1->Text+"%‘");
  ADOQuery1->Open();
}

Edit2用于漢譯英查詢,其過程為:

void __fastcall TForm1::Edit2Change(TObject *Sender)
{
  ADOQuery1->Close();
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add("select 英語, 音標, 漢語 from word where 漢語 like ‘%"+
                      Edit2->Text+"%‘");
  ADOQuery1->Open();
}

要寫的全部代碼就這么多。為了能讓DBGrid1顯示音標,要使DBGrid1產(chǎn)生靜態(tài)音標列,并將該列的字體設為“kingsoft Phonetic Plain”。

字典做好了,你還根據(jù)需要使它功能更多,外觀更華麗,總之DIY的“衣服”最合身!

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多