C 版有道詞典

2021-08-16 20:57:39 字數 4423 閱讀 8643

原理:通過c#獲取要查詞彙的網頁資料,根據關鍵字擷取需要的解釋,並顯示出來。

圖形介面設計:

原始碼:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

using system.net;

using system.io;

using system.text.regularexpressions;

namespace windowsforms

private void en_to_ch(object sender, eventargs e)

webclient mywebclient = new webclient();

mywebclient.credentials = credentialcache.defaultcredentials;//獲取或設定用於向internet資源的請求進行身份驗證的網路憑據

string url = "" + m_word.text.trim();

//string pagehtml = encoding.default.getstring(pagedata); //如果獲取**頁面採用的是gb2312,則使用這句

//streamreader sr = new system.io.streamreader(pagedata, system.text.encoding.utf8);

string pagehtml = encoding.utf8.getstring(pagedata); //如果獲取**頁面採用的是utf-8,則使用這句

//using (streamwriter sw = new streamwriter("output1.html"))//將獲取的內容寫入文字

////get pronounce

string pronstr = pagehtml;

int p1 = pronstr.indexof("\"phonetic\"");

string phone = "";

if (p1 > 0)

// messagebox.show(p1.tostring());

}// else

// m_word.text = p1.tostring();--內容結束--

p1 = pronstr.indexof("\"phonetic\"");

if (p1 > 0)

int pos = pagehtml.indexof("class=\"trans-container\"");

if (pos == -1)

int pauth = pagehtml.indexof("\"trans-container\" id=\"authdicttrans\"");

if (pauth > 0)

char sep = ;

string arr1;

arr1 = sauth.split(sep); //分解為陣列

sauth = "";

foreach (string i in arr1)

sauth = regex.replace(sauth, @"\s+", " ");

sauth = sauth.replace("。", "。\r\n");

sauth = sauth.replace(".", ".\r\n");

sauth = sauth.replace(",", ", ");

sauth = sauth.replace(",", ", ");

textbox1.text = sauth.trim();

return;

}string container = pagehtml.substring(pos + 25); //擷取開始str

int posdiv = container.indexof("

"); container = container.substring(0, posdiv - 3);// 獲取結果,以第乙個"

"結尾

int p_addit = container.indexof("class=\"additional\"");

//str=id="authdicttrans"《21世紀大英漢詞典》

if (p_addit == -1) //無附加解釋

int p_ul = container.indexof("");

string part1 = container.substring(0, p_ul );

part1 = part1.replace("", "");

part1 = part1.replace("", "");

part1 = part1.replace("", "");

part1 = part1.replace("\n", "\r\n");

string part2 = container.substring(p_addit + 20); //附加解釋

part2 = part2.replace("[", "");

part2 = part2.replace("]", "");

// char sep = ;

part2 = part2.trim( );

char separator = ;

string arr;

arr = part2.split(separator); //分解為陣列

part2 = "";

int f = 0;

foreach (string i in arr)

part2 = part2.substring(0, part2.length - 4);

textbox1.text =phone+"\r\n "+ part1.trim()+ "\r\n\r\n"+part2;

}catch (webexception webex)

}private void ch_to_en(object sender, eventargs e)

webclient mywebclient = new webclient();

mywebclient.credentials = credentialcache.defaultcredentials;//獲取或設定用於向internet資源的請求進行身份驗證的網路憑據

string url = "" + m_word.text.trim();

//string pagehtml = encoding.default.getstring(pagedata); //如果獲取**頁面採用的是gb2312,則使用這句

//streamreader sr = new system.io.streamreader(pagedata, system.text.encoding.utf8);

string pagehtml = encoding.utf8.getstring(pagedata); //如果獲取**頁面採用的是utf-8,則使用這句

int pos = pagehtml.indexof("class=\"trans-container\"");

string sub = pagehtml.substring(pos + 25);

int pos1 = sub.indexof("div");

string strout = sub.substring(0, pos1);

strout = strout.replace("", "");

strout = strout.replace("", "");

strout = strout.replace("", "");

string sout = "";

while (true)

textbox1.text = sout;

}catch (webexception webex)

}//焦點集中到輸入框

private void form1_load(object sender, eventargs e)

//需要在窗體上註冊控制項的鍵盤事件,把窗體的keypreview屬性設定成 true;

//然後才能響應enter

private void form1_keypress(object sender, keypresseventargs e)}}

}

有道手機詞典

今天開啟有道詞典,無意中發現多了一行字 詞典手機版更新 多款機型支援攝像頭查詞 oh my lady gaga,居然可以支援攝像頭查詞!就實用性上來說,可能速度還不夠快,把攝像頭對準單詞,等著它識別出來的功夫其實手動早就輸進去了,但它顯示了計算機視覺在手機上廣闊的應用前景,設想以後的搜尋應該是語音 ...

網易有道詞典 for Mac

網易有道詞典 mac版作為一款英語 日語 韓語 法語免費全能查詞翻譯軟體,有道詞典在多年來致力於為使用者提供更優質的翻譯服務,針對mac平台特性,特別推出全新的版本,網易有道詞典免費版更符合mac使用者翻譯使用習慣。發布多年以來,成為mac系統下必備的詞典軟體,在同類軟體排行位居前列。網易有道詞典 ...

放棄有道詞典和有道雲筆記

我用有道雲筆記的日子不長也不短,從2013年到2016年,陸續的在用。某些特定的時期使用較頻繁,其他時候用的不多。積累下來大概有幾十篇筆記。後來發生了如下兩件事,導致我放棄使用有道雲筆記 還有乙個問題,網頁版不支援firefox瀏覽器。準確地說它僅支援ie和chrome瀏覽器 或其變種 不支援其它瀏...