net开发中常用的第二方组件,6款程序员必备的开源普通话处理工科具

1.利用场景

  • 将汉字转换为拼音(eg:”笔者爱您”———>”WOAINI”)
  • 取种种汉字的首字母(eg:”笔者是华夏人”———>”WSZGLAND”)

本篇将主要讲解游戏界面包车型客车创设和筹划,会利用到egret.eui的自定义组件,能够很直观的创设3个娱乐全体,那里我们如故只必要运用EgretWing就足以高达指标,本篇只怕是篇幅最少的二个,然而关乎自定义组件和类继承,希望能够读者能够看精晓,那对以往的游乐开发的思想帮忙尤其大。

码云项目引进

① 、项目名称: 粤语转拼音库 pinyin4j

美高梅开户网址 1

类型简介:美高梅开户网址,Pinyin4j 是2个风行的 Java
库,协助普通话字符和拼音之间的转换。拼音输出格式能够定制。

类型地址:

贰 、项目名称:汉字/拼音转换工具库 Pinyin4Net

连串简介:Pinyin4Net 是1个 .net 下的汉字/拼音转换工具库。现帮衬.net2.0, .net4.0, .netcore1.1 ( standaedlib1.6 ),针对多少个 .net
版本分别有二个分支。

接口:

  • 汉字单字转拼音
  • 汉字字符串转拼音
  • 汉字转拼音格式选项,可用大小写,声调以及对拼音中(v ü)的处理
  • 赢得汉字多音字的具有读音
  • 依照拼音查询全体匹配的汉字
  • 姓名拼音单独数据库和单独的查询接口

品种地址:

③ 、项目名称:php 拼音扩张 pinyin-php

品类简介:pinyin-php 是三个 C 语言编写的 php
增添,用于将汉字翻译为中文拼音。通过逆序中文分词的法子完毕抓牢多音字识别。将字词库置于程序之外通过
php.ini 配置文件钦赐路线加载。

品种地址:

肆 、项目名称:敏感词检测组件

美高梅开户网址 2

品类简介:一款高品质违法词(敏感词)检查和测试组件,附带繁体简体交流,支持全角半角交换,获取拼音首字母,获取拼音字母,拼音模糊搜索等成效。

项目地址:

5、项目名称: 基于 PHP 的简繁体转换工具 ccsw

体系简介:ccsw 是依据 opencc4 php
开发,能很智能的完毕简繁体转换。效用如下所示:

转换职能: 你干什么不干本人事 => 你幹什麼不干自身事

所在词汇转换职能: 小编鼠标哪个地方去了 => 作者滑鼠哪兒去了

项目地址:

⑥ 、项目名称: 拼音搜索汉字工具 UTPinYinHelper

美高梅开户网址 3

品类简介:本项目是经过拼音去匹配汉字,不难的话,就是拼音搜索。

体系地址:

.net开发中常用的第二方组件  

2013-05-09 09:33:32|  分类:
dotnet
|举报 |字号 订阅

       

美高梅开户网址 4

net开发中常用的第二方组件,6款程序员必备的开源普通话处理工科具。 

美高梅开户网址 5

 

  下载LOFTER
自个儿的相片书  |

 

2.涉嫌到的零件

  • 组件1:ToolGood.Words【作者骨子里的正是那种】
  1. 组件名称:ToolGood.Words
  2. nuget地址:
  3. github地址【提示:500多个star】

自定义控件布局

码云20日更新表明

  • 代码片段编辑器扶助高亮;
  • 代码片段搜索帮助内容的搜索;
  • 增产 CSDN 第一方登录;
  • 修复项目转移后文件404的缓存难点;
  • 私家提高为团体以及商店保留代码片段;
  • P中华V 合并援助 Squash Merge(即将供给 merge
    的多少个提交合并成叁个付给)。
  • 码云 马克down 解析器更换为 CommonMark解析器

前面码云的解析器基于用户的反馈做了不少定制化的修改,不过随着使用码云的用户越多,以及进一步多的Github用户往码云上迁移,大家吸收接纳了好多用户反馈,在Github符合规律解析渲染的Readme在码云上渲染出来的结果却具有出入,研商再三,大家决定将码云的
马克down 解析器更换为 Common马克。

RSS.NET.dll

卡宴SS.NET是一款操作QashqaiSS
feeds的开源.NET类库。它为分析和编写制定昂科雷SS
feeds提供了二个可选取的靶子模型。它完全兼容PRADOSS 0.90, 0.91, 0.92, 和
2.0.1等版本。

3.首要代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ToolGood.Words;

namespace PinYinXiangGuan
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {

                var name = Console.ReadLine();
                if (string.IsNullOrEmpty(name))
                {
                    break;
                }
                //获取汉字的首字母
                Console.WriteLine(WordsHelper.GetFirstPinYin(name));
            }

        }
    }
}

率先先创制一个名为SceneGameSkin的exml皮肤,直接在那在那之中拖拖拽拽拼出初叶的界面:
美高梅开户网址 6

AspNetPager.dll

本身使用过的分页控件中,最佳用的3个。

官方地址:http://www.webdiyer.com/AspNetPager/default.aspx

4.最主要代码截图

美高梅开户网址 7

上边是标题区,上边是回复区,此时,找了了一下能源,发现字的正方没有放进能源文件,没提到,我们得以平昔利用eui.Rect那几个基本空间创制3个字块出来,exml描述如下:

Aspose.Words.dll

Aspose.Words
是一个无图形用户界面包车型大巴.NETWord文书档案的告诉控件,它可使.NET的选拔在未曾设置Microsoft
Words的景色下读写Word文书档案。Aspose.Words帮忙越多的性状,例如:2个新文书档案的创导、操作,强大的邮件合并效率,并可将文书档案输出为
多种格式(DOC、PDF、HTML)等等。Aspose.Words在商海上是3个确实的最有益、飞速、天性丰富的Word控件。

5.倘使有其余好的零件推荐,欢迎各位大佬补充

美高梅开户网址 8

<e:Rect ellipseWidth="20" fillColor="0xFFFFFF" strokeColor="0x0276D0" strokeWeight="4" ellipseHeight="20" right="0" left="0" bottom="0" top="0"/>

SgmlReaderDll.dll

Microsoft 的XML大师Chris
Lovett在
甚至将它们转换来3个格式规范的构造。SgmlReader派生于Xml里德r,那正是说,你能够像运用诸如XmlTextReader那样的类来
解析XML文件那样来解析HTML文件。

示范地址:http://www.xmlforasp.net/codeSection.aspx?csID=94

美高梅开户网址 9

ICSharpCode.SharpZipLib.dll

ICSharpCode.SharpZipLib.dll
是三个依据GNU的免费压缩解压库文件,他的功能很强劲。像DNN等项目中都有利用

下载地址:http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx

有关作品:《选择sharpziplib实现裁减/解压缩》

看看是或不是和图表上的很像,在编辑器里的大旨面板属性中是没有ellipseWidth、ellipseHeight等等这一个属性的,须求点属性栏右上角的全数属性标签才能突显,然后微调即可。

UrlRewriter.NET

英特尔ligencia出品的开源组件UrlRewriter组件。

官网地址:http://urlrewriter.net/ 

而是,唯有那些字块背景是没用的,还供给增添Label来体现文字,但一旦二个三个的同盟就很麻烦了,能或无法利用skin来协调做多个自定组件自个儿管理并处理逻辑吗?这一个很简短,先构造三个skin然后配上3个自定义组件的代码就足以兑现了。

CookComputing.XmlRpc.dl

拓展xmlrpc的机件,例如:使用客户端软件metablogapi操作blog时会用到。

下载地址:http://www.xml-rpc.net/

有关文章:

《MetaWeblog
API》

《采取Cooke
Computing组件完结XmlGL450PC,让blog帮衬客户端工具》

新建三个基于eui.Component的皮层,大小设置为80×80:

CodeHighlighter

CodeHighlighter is是.net环境下最有力的源代码语法高亮组件.代码语法高亮是很显示专业性的特色,增添了代码的易读性.只须要以内联或那编制程序设置文本属性的法子告诉CodeHighlighter,
在代码就会以语法高亮的样式出口突显.还接济自定义语言,行号,关键词连接等. 

官网地址:http://www.actiprosoftware.com

有关作品:

《ASP.NET代码高亮呈现控件:Actipro
CodeHighlighter》

《应用CodeHighlighter给Cute艾德itor扩大高亮代码展现效果》

《 运用CodeHighlighter和SyntaxHighlighter为
fckeditor扩展语法高亮》

《 为论坛和Blog添加代码高亮展现的功力》 

美高梅开户网址 10

Castle.DynamicProxy

    
java中有动态代理的定义,DotNet中绝非,castle的DynamicProxy正是提供了近似于java动态代理的意义。动态代理是广大现代
软件技术的根基,例如AOP,现在有无数档次中接纳了castle的DynamicProxy,他们包罗:NHibernate,Retina.Net,iBatis.Net,Aspect#,RhinoMocks

官网地址:http://www.castleproject.org/

相关:

《 Castle Dynamic Proxy
tutorial 》 

《Castle.DynamicProxy介绍 》

《运用Castle
DynamicProxy完成简单的AOP》

《 Castle.DynamicProxy在iBATIS.NET中的使用》

<?xml version='1.0' encoding='utf-8'?>
<e:Skin class="WordSkin" width="80" height="80" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing">
    <e:Rect ellipseWidth="20" fillColor="0xFFFFFF" strokeColor="0x0276D0" strokeWeight="4" ellipseHeight="20" right="0" left="0" bottom="0" top="0"/>
    <e:Label id="lb_text" text="字" horizontalCenter="0" verticalCenter="0" textColor="0x000000" size="60"/>
</e:Skin>

aspNetMime.dll

aspNetMime.dll是3个无敌的解析email文件的类库.

官网地址:http://www.aspnetmime.com

相关小说:

《aspNetMime.dll:email
内容解析库》

新建贰个typescript类,那里的名字就叫Word,继承自eui.Component,处理代码如下:

LINQBridge.dll

比方你曾经喜欢上LINQ,并且已经离不开它,一写代码就会用到扩大方法,Lambda表明式和LINQ;不过恰恰,你不能够说服你的客户的机械上都装上.NET
3.5,那时候怎么做呢?那时候,LINQBridge能够让你的题材一蹴而就。

有关作品:

《LINQBridge.dll
让您的LINQ代码可在.NET
2.0下运转》

//普通的一个字,用来做问题的字块使用
class Word extends eui.Component {
    protected lb_text:eui.Label;
    public constructor() {
          super();
          this.addEventListener(egret.TouchEvent.TOUCH_TAP,this.onclick_tap,this);
    }
    protected onclick_tap(){
        console.log(this.lb_text.text);
    }
    //这里没有做成属性的原因是因为当应用到eui的时候,Skin还未指定,运行时候会出现报错,如果指定了SkinName,那么就会产生两次eui的构建浪费内存
    public setWordText(value:string){
        this.lb_text.text = value;
    }
    public getWordText():string{
        return this.lb_text.text;
    }
}

保存编写翻译一下,然后在UI设计器的机件里就能看出贰个Word自定义组件,然后将它拖进SceneGameSkin里,奇怪,怎么怎么都未曾吗,因为还尚无点名皮肤:

美高梅开户网址 11 美高梅开户网址 12

钦命好肌肤后,就会呈现正确了,上边开端开始展览布局操作,拖放摆好Group到SceneGameSkin的界面中,那里就能够用上Group的布局本性,比如上边包车型地铁应对字里一共是二十一个汉字,可以使用Tile的方式排列成多个平稳的阵列:

美高梅开户网址 13

一样上边的难点栏中,能够行使Group的横向排列,调整你的界面直到满意。

美高梅开户网址 14

继续的措施扩张自定义组件

那正是说好了,自此基本桐月经实现,一般的话,前边就足以完全靠代码控制来贯彻字块的显得和拍卖了,但那还不够,因为下边包车型地铁字和方面包车型大巴字固然样子一样,但处理的逻辑差别,比如说,上边包车型客车字是有个别就融洽没有,同时将文件放置到上边包车型大巴答案中,而地点的字点击就会移除本身的公文突显,同时将下边包车型地铁相应字块彰显出来,假设用相比较笨的法门,便是在代码中加3个字典对应起来,然后增添一大堆,看起来很绕圈的代码,其实那里的游艺逻辑相当粗略,三个答案字只会相应一个回答字,假若在组件上带上回答字块的目的,不就好处理了吧?如若每一个Word控件都增多1个变量保存选定太显得暴力,那里能够选取持续增添3个SelectWord变量,而其余的逻辑能够经过重载方法来维持代码的简洁性,上面就是达成了1个持续自Word的AnswerWord类,这几个类同样在保留编译后,也会油但是生在自定义组件中,

//继承自“问题字”,“答案字”是放在上面回答区域,
//由于当答案字点击的时候,答案字会消失并将对应的问题字还原显示
class AnswerWord extends Word{
    public SelectWord:Word = null;
    public constructor() {
        super();
    }
    protected onclick_tap() {
        if(this.SelectWord != null){
            this.SelectWord.visible = true;
            this.SelectWord = null;
            this.setWordText("");
        }
        console.log("AnswerWord");
    }
    //当一个问题字被选择添加到回答的时,设置不可见,并保存到本对象中以后使用
    public SetSelectWord(word:Word){
        word.visible = false;
        this.setWordText(word.getWordText());
        this.SelectWord = word;
    }
}

那么我们将方面包车型地铁七个汉字都给替换成AnswerWord,点击一下试跳看看命令栏里的输出,不亮堂的能够参考上边的诠释。

终极的SceneGameSkin.exml代码如下:

美高梅开户网址 15美高梅开户网址 16

<?xml version='1.0' encoding='utf-8'?>
<e:Skin class="SceneGameSkin" width="720" height="1136" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing" xmlns:ns1="*">
    <e:Image source="GameBG3_jpg" left="0" top="0" bottom="0" right="0"/>
    <e:Image source="WordFrame_png" x="39" y="120"/>
    <e:Group id="group_words" width="538" height="417" x="108" y="637">
        <ns1:Word x="80" y="106" skinName="WordSkin"/>
        <ns1:Word skinName="WordSkin" y="116" x="90"/>
        <ns1:Word skinName="WordSkin" y="126" x="100"/>
        <ns1:Word skinName="WordSkin" y="136" x="110"/>
        <ns1:Word skinName="WordSkin" y="146" x="120"/>
        <ns1:Word skinName="WordSkin" y="156" x="130"/>
        <ns1:Word skinName="WordSkin" y="166" x="140"/>
        <ns1:Word skinName="WordSkin" y="176" x="150"/>
        <ns1:Word skinName="WordSkin" y="186" x="160"/>
        <ns1:Word skinName="WordSkin" y="196" x="170"/>
        <ns1:Word skinName="WordSkin" y="206" x="180"/>
        <ns1:Word skinName="WordSkin" y="216" x="190"/>
        <ns1:Word skinName="WordSkin" y="226" x="200"/>
        <ns1:Word skinName="WordSkin" y="236" x="210"/>
        <ns1:Word skinName="WordSkin" y="246" x="220"/>
        <ns1:Word skinName="WordSkin" y="256" x="230"/>
        <ns1:Word skinName="WordSkin" y="266" x="240"/>
        <ns1:Word skinName="WordSkin" y="276" x="250"/>
        <ns1:Word skinName="WordSkin" y="286" x="260"/>
        <ns1:Word skinName="WordSkin" y="296" x="270"/>
        <e:layout>
            <e:TileLayout horizontalGap="30" verticalGap="30"/>
        </e:layout>
    </e:Group>
    <e:Button id="btn_back" x="11" y="8">
        <e:skinName>
            <e:Skin states="up,down,disabled">
                <e:Image width="100%" height="100%" source="BackBtn_png" source.down="BackBtn1_png"/>
                <e:Label id="labelDisplay" horizontalCenter="0" verticalCenter="0"/>
            </e:Skin>
        </e:skinName>
    </e:Button>
    <e:Image id="img_question" width="390" height="260" y="179" horizontalCenter="0"/>
    <e:Group id="group_answer" width="373" height="95" x="177" y="464">
        <ns1:AnswerWord skinName="WordSkin" y="478" x="185"/>
        <ns1:AnswerWord skinName="WordSkin" y="478" x="284"/>
        <ns1:AnswerWord skinName="WordSkin" y="478" x="378"/>
        <ns1:AnswerWord skinName="WordSkin" y="478" x="475"/>
        <e:layout>
            <e:HorizontalLayout gap="15"/>
        </e:layout>
    </e:Group>
</e:Skin>

SceneGameSkin.exml

本篇已经终止,那里上学生运动用了自定义组件、类继承(或说组件继承),来搭建和筹划游戏的主界面,将基础做好,后边的付出工作就便于很多了。

本篇项目源码:ChengyuTiaozhan3.zip(由于天涯论坛的文件大小限制,resource能源方面请到其次篇的前边下载) 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图