原理:通過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瀏覽器 或其變種 不支援其它瀏...