zoukankan      html  css  js  c++  java
  • 【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]

  • 相关阅读:
    mysql面试题
    Zookeeper与Kafka基础概念和原理
    Docker资源限制
    企业级仓库harbor搭建
    基于容器制作镜像
    docker基础学习(一)
    docker往阿里云推镜像和打包镜像
    Dockfile制作镜像
    算法Sedgewick第四版-第1章基础-006一封装输出(文件)
    算法Sedgewick第四版-第1章基础-005一封装输入(可以文件,jar包里的文件或网址)
  • 原文地址:https://www.cnblogs.com/lin277541/p/4928630.html
Copyright © 2011-2022 走看看