【WIN10】移植opencc到WIN10-UWP,實現自己的繁簡轉換工具
花了週末兩天時間,將opencc移植成WIN10-UWP可用的庫,並完成自己的繁簡轉換工具。
我的繁簡轉換工具下載地址為:https://www.microsoft.com/store/apps/9nblggh68g62
移植後的代碼下載地址:http://yunpan.cn/cFiYYCxwTLdfX 访问密码 0533
因為今天(2015-11-1 20:18)才上傳,所以如果你在今天或接下來的兩到三天,是找不到這款軟件的,因為微軟商店在審核。。
來個GIF圖來瞅瞅:
台灣的“軟體”可以轉換成大陸的“软件”哦。
1.移植
1)創建一個VC++,DLL通用工程
2)for(auto x : xs) 要全部換成 for each (auto x in xs)
3)要關閉安全檢測,這個是為了使strcpy等函數編譯通過。
4)所有opencc的cpp文件,要禁用預編譯頭。
5)在Config.cpp中,要將 #include <unordered_map> 放到最上面,不然編譯不過。具體原因待查。
搞完這幾步,一個DLL就創建成功了。
2.創建RuntineComponent
我不知道C#工程能否直接調用DLL,沒有試驗過。不過即便能調用,相信也是相當麻煩的,需要處理一大堆類型轉換的問題。
所以,我們有必要創建一個通用工程,所有語言都可以調用的模塊,這個模塊就是RuntineComponent了。
具體可以參考博客:http://www.cnblogs.com/webabcd/p/3422563.html
還有C++/CX的一些參考,也是需要你去了解的:https://msdn.microsoft.com/en-us/library/windows/apps/hh699871.aspx
我的例子,名為OpenCCx,後面加一個x,表示我這個是亂搞的,並不是原作者搞出來的。
3.使用RuntineComponent
創建一個C#的UWP工程,添加OpenCCxRuntineComponent工程到你的解決方案。
在UWP工程中,添加引用,選擇工程,點擊“確定”即可。
然後,在你的工程裡面就可以使用 OpenCCxRuntineComponent名字空間。
例子是非常簡單的:
OpenCCxRuntineComponent.OpenCCx opencc_s2t = new OpenCCxRuntineComponent.OpenCCx(); --- 創建 opencc_s2t.Load(OpenCCxRuntineComponent.ConverterType.Simple2Traditional); ----使用什麼轉換規則
private void btn2Simple_Click(object sender, RoutedEventArgs e)
{
string ret = opencc_t2s.Convert(textBox.Text); ---使用簡單的Convert就OK了。
if (ret != null)
{
textBox.Text = ret;
}
}
你可以使用一個OpenCCx變量,用哪個就Load哪個。
我的代碼中,對已加載的東東進行了保存,不會重複加載的。
也可以使用多個OpenCCx變量,一個變量代表一種轉換,看個人需要了。
[PS]
終於可以使用自己的繁簡轉換工具了^_^,感謝opencc作者。
帖上opencc代碼地址:https://github.com/BYVoid/OpenCC
在線opencc轉換地址:opencc.byvoid.com
[END]
【WIN10】移植opencc到WIN10-UWP,實現自己的繁簡轉換工具的更多相关文章
- Jquery scrollTop animate 實現動態滾動到頁面頂部
這個方法之前都是用的錨點實現的,但是效果僵硬,動感不足! 之後參考了一些網站,發現都是用的js,於是自己想到用jquery 來做一個插件也來實現以下這個小功能. $.fn.backTop = func ...
- linux下c++實現簡單的生產者消費者隊列模式
引言 生產者消費者是一個經典的模式 利用生產者,消費者和緩衝區降低了生產者和消費者之間的的耦合度 便於對生產者和消費者的修改 下面記錄的是一個經典的單一生產者多消費者的模式 設計思路 以隊列做為緩衝區 ...
- ASP.NET MVC 4.0 学习2-留言板實現
新增專案實現留言板功能,瞭解MVC的運行機制 1,新增專案 2,添加數據庫文件message.mdf Ctrl+W,L 打開資料庫連接,添加存放留言的Atricle表 添加字段,後點擊&quo ...
- 在Android中afinal框架下實現sqlite數據庫版本升級的辦法
public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫. pub ...
- [實現DDD] 第10章 聚合(1)設計原則
聚合只是將一些實體(Entity)與值對象(Value Object)聚集起來的對象樹嗎?? 有些途徑可能使我們設計出不正確的聚合模型, 如:可能為了對象組合上的方便而將聚合設計的很大;也可能設計的聚 ...
- 開玩樹莓派(二):配置IP,實現無顯示器局域網內Putty連接和RDP遠程
目錄: 開玩樹莓派(一):安裝Raspbian系統 開玩樹莓派(二):配置IP,實現無顯示器局域網內Putty連接和RDP遠程 開玩樹莓派(三):Python編程 開玩樹莓派(四):GPIO控制和遠程 ...
- C# 實現文件壓縮-- 背景:服務器Log.txt 過多,佔用過多硬盤空間,壓縮備份后節省空間資源
1.壓縮實現代碼如下: 調用ICSharpCode.SharpZipLib.dll(free software,可以搜到源碼). 轉移指定目錄文件夾轉移到目標文件夾 壓縮目標文件夾 刪除目標文件夾 u ...
- css 實現微信聊天類似的氣泡
要實現這樣的效果 代碼如下: --------------------------------------- <style> .test{width:300px; padding:30px ...
- win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件
win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件 1.去git上下载react-devtools文件到本地,https://github.com/fac ...
随机推荐
- MySQL简单查询详解-单表查询
MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...
- FastDFS简单入门小demo
图片上传 需要引入 FastDFS 相关的jar包,但是这个jar没有在中央仓库,所以还得需要找到这个jar手动安装到自己的本地仓库才能使用. 需要一个配置文件 fdfs_client.conf ...
- linux服务器安装mysql并配置外网访问
linux服务器安装mysql并配置外网访问 更新系统,如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载 sudo apt-get update 安装mysql sudo ...
- C#实现物联网系统温度解析的函数(支持补码)
基于物联网协议上传数据,其中温度占两个字节,如01 27,表示温度值为29.7.温度负值为补码(也就是温度值为有符号数),例如0XFFFF值为负1(-0.1度). 针对补码要求,修改数据解析函数如下: ...
- (64位)本体学习程序(ontoEnrich)系统使用说明文档
系统运行:文件夹system下,可执行文件ontoEnrichment 概念学习 --------------------------------------------------------1.简 ...
- shell ssh 批量执行
ssh 批量执行命令 #版本1 #!/bin/bash while read line do Ip=`echo $line|awk '{print $1}'` Passwd=`echo $line|a ...
- 图的最短路径-----------Dijkstra算法详解(TjuOj2870_The Kth City)
做OJ需要用到搜索最短路径的题,于是整理了一下关于图的搜索算法: 图的搜索大致有三种比较常用的算法: 迪杰斯特拉算法(Dijkstra算法) 弗洛伊德算法(Floyd算法) SPFA算法 Dijkst ...
- (FFT) A * B Problem Plus
题目链接:https://cn.vjudge.net/contest/280041#problem/F 题目大意:给你两个数,求这俩数相乘的结果.(长度最长5000) 具体思路:硬算肯定是不行的,比如 ...
- 在 Linux 上找出并解决程序错误的主要方法【转】
转自:https://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html 本文讨论了四种调试 Linux 程序的情况.在第 1 种情况 ...
- 解决windows10 里vs2017 直接开始执行提示“此任务要求应用程序有提升的权限”1.
1.打开vs的安装路径,我的是 C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\ ,找到 VSLauncher.exe 右击该文 ...