文档章节

制作简单的单词查询软件

小波刘
 小波刘
发布于 2015/04/11 17:18
字数 410
阅读 16
收藏 0

BO API是一款免费的数据服务API(http://www.boapi.net/),其单词查询接口http://service.boapi.net/EnWord/EnWord.ashx?key=AppKey&type=w&word=good,其中AppKey是申请的key,word是查询的单词。详细文档查看http://www.boapi.net/enword.htm。

开发语言:C#(wpf)

工具:VS2012

关键代码

private void btnSearch_Click(object sender, RoutedEventArgs e)
        {
            string word = tbKey.Text.Trim();
            if (word == "")
                return;
            try
            {
                WebClient wc = new WebClient();
                wc.Encoding = System.Text.Encoding.UTF8;
                string json = wc.DownloadString("http://service.boapi.net/EnWord/EnWord.ashx?appkey=dd298fc40c3be17b1b94e2f3412&word=" + word);
                wc.Dispose();
                if (!string.IsNullOrEmpty(json))
                {
                    JToken jk = (JToken)JsonConvert.DeserializeObject(json);
                    if (jk != null)
                    {
                        tbWord.Text = word;
                        tbPhonetic.Text = "[" + jk["mark"].ToString() + "]";
                        tbTrans.Text = jk["explain"].ToString();
                        voice.Visibility = Visibility.Visible;
                        voice.Tag = "http://www.boapi.net/basicdata/voice/" + word.Substring(0, 1) + "/" + jk["voice"].ToString();
                        if (jk["es"] != null)
                        {
                            if (jk["es"].Count() > 0)
                                tbSentence.Text = jk["es"][0]["sentence"].ToString() + " " + jk["es"][0]["translate"].ToString();
                            if (jk["es"].Count() > 1)
                                tbSentence.Text += Environment.NewLine + jk["es"][1]["sentence"].ToString() + " " + jk["es"][1]["translate"].ToString();
                            //if (jk["es"].Count() > 2)
                            //    tbSentence.Text += Environment.NewLine + jk["es"][2]["sentence"].ToString() + " " + jk["es"][2]["translate"].ToString();
                        }
                    }
                }
            }
            catch
            { }
        }

 

代码解析:

WebClient提供资源接收数据公共方法,我们就可以从远程url地址下载数据(访问服务)。
JsonConvert.DeserializeObject将string反序列化为json对象
voice是一个播放图标,这里将单词的音频文件地址存储到voice的Tag属性中

注意:

单词查询返回的json中,Voice代表单词语音文件名。访问语音文件的url为:http://www.boapi.net/basicdata/voice/单词文件名

如:查询good单词返回的json中"voice":"good.wav",则good单词的url为http://www.boapi.net/basicdata/voice/good.wav

源码下载:单词查询软件源码

© 著作权归作者所有

共有 人打赏支持
小波刘
粉丝 0
博文 3
码字总数 707
作品 0
成都
易语言简单聊天机器人怎么做(有图,求开源高手帮忙!)

本人真的急需此软件,求广大高手教教我这个小菜鸟: 1.怎样弄:在一个小窗口里,只要打一个句子或者单词,触发到数据库(我连数据库也不会弄)作出相应回答,我不用做得太智能,只要我输入多...

allanqiu97
2012/06/27
8.5K
28
背单词软件--WordJoy

WordJoy是一个用pygtk编写的背单词软件。目前只在Linux下成功测试,至于在Windows下运行需要安装哪些库,请参加其它pygtk写的程序。 WordJoy基于TualatriX大侠的MyWord改写而成,而MyWord又是...

匿名
2009/07/17
1K
0
统计出现频率最高的十个单词的程序性能分析

李竹君 2011211964 0401115班 1.使用C语言。 2.整体思路:首先将一篇文章分词,分词的方法是将逐字符的判断一篇文章,如果该字符的ASCII码在“A~Z”或“a~z”之间(区分大小写),则该字符属...

大脸猫cat
2014/03/17
0
2
如何制作AOPR软件的字典文件

Advanced Office Password Recovery简称AOPR软件,是一款十分专业的Office密码破解工具,字典攻击是其众多攻击类型之一,用户可以根据实际添加适用的字典文件,本文将介绍Advanced Office P...

Navicat数据库管理工具
2016/05/25
33
0
有道词典 纯净版 - imsoft.cnblogs

软件名称:有道词典 软件版本:5.4 正式版(5.4.46.5554) 软件主页:http://cidian.youdao.com/ 软件定制:飞扬时空 更新日期:2013年8月26日 软件简介: 有道词典是一款免费的全能翻译软件...

imzdx
2014/04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
22分钟前
0
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部