这个版本做了很久,但是一直没有发布。期间出去旅游了一趟,各位群友仍然很热心在跟我提,如果有需要测试的话,可以找他们。感谢你们的付出,这一版本得以如此快的出来

最新说明:

看到有很多人提到的 索引和长度必须引用该字符串内的位置 的问题,已经修复,请重新下载解决。

阅读剩余部分

为什么要自定义?

「添雨跟打器」中的核心功能之一——「词库管理」。这是一个大类。包含有词库添加、删除、自动提示,智能学习,理论码长等功能。用户在跟打过程中,如何以方便,快捷的方式提示给用户?这是一个产品体验上的问题。

早在「老版添雨跟打器」之中,@hwj 帮忙制作了「提词器」。使用的技术很简单,就是在 RichTextBox 上显示 Label ,用来划出不同的线条,颜色。但是缺点很明显。

阅读剩余部分

起因:

「添雨跟打器」中存在一个问题。在 windows 8/10 里面,输入法就获取不到了。我一直没有去管这样的问题。但是也大致知道,可能是 TSF 架构的问题。

阅读剩余部分

FARR 全称 Find And Run Robot。在快速启动软件属于排名靠前的。最强大的地方在于它的完全自定义。用户可以完全根据自己的喜好修改这款软件。而且有极其丰富的插件支持。几乎支持大部分流行语言如C#、JavaScript、C++等

经常关注 善用佳软,也经常关注快速启动。老实讲,我使用过善用佳软推荐的Altrun,使用过好几个年头。也一直期待着它的更新。但是几年过去了,仍然没有。因为这款软件虽然极其好用,也小巧。但是偶发性崩溃,配置丢失问题,是不能忍受的。

FARR 是我的备选,从未用过。于今年开始正式使用。我所需要的快速启动应该能够满足的需求是搜索、快速定位文件、即时翻译、计算以及打开收藏文件等。 Altrun 的主要功能便是“收藏”、“打开”和“快速定位”。它只此三个功能,便可以傲视群雄。 FARR在这三点上便不如。但是 FARR 优势在于搜索及其丰富的插件以实现你需要的功能。

废话不多说了。开始讲述制作翻译插件的内容。我使用的是 ecaradecFARR论坛 写的怎样使用 Javascript 开发 FARR 插件的教程。

使用 Javascript 开发的插件放置在目录 Plugins\CZB_pack

在其下新建文件夹:Plugins\CZB_pack\Taliove_Translate

在新文件夹下新建文件:fsubscript.js 最好直接拷贝插件目录下其它文件夹的这个文件

文件 fsubscript.js 内输入代码:

plugins["Taliove_Translate"] = {
    version: "1.0",
    lastChange: new Date(fso.GetFile(currentDirectory + "\\fsubscript.js").DateLastModified).toDateString(),
    displayName: "添雨翻译",
    directory: currentDirectory,
    icon: currentDirectory + "\\icon.ico", //此图片放在你的插件目录下即可
    aliasstr: "fy",
    description: "即时翻译",
    help: currentDirectory + "\\..\\help.html#open:[[Taliove Translate]]:HideMainMenu"
};

上述代码中的 aliasstr 为你的命令。当前设置为 fy 。即使用 fy xxx 来翻译xxx的内容

本插件使用的是百度翻译,前往百度翻译申请接入,然后下载百度翻译的 JS SDK ,将其中的 md5.js 拷贝到插件目录。接下来在 fsubscript.js 文件中插入如下代码:

(function () {
    var name = "Taliove_Translate";
    var js = plugins[name];
    var fyResult = "";
    var init = false;
    js.search = function onSearchBegin(querykey, explicit, queryraw, querynokeyword, modifierstring, triggermethod) {
        if (!explicit) return;
        var reg = new RegExp("^fy");
        var word = queryraw.replace(reg, "").trim();
        if (word) {
            var jsStr = "<p>翻译:" + word + "</p>" +
                "<p>结果:<span id='result'></span></p>" +
                "<script src='http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js'></script>" +
                "<script src='" + js.directory + "/md5.js'></script>" +
                "<script src='" + js.directory + "/func.js'></script>" +
                "<script type='text/javascript'>" +
                "$('#result').text('正在翻译,请稍候...');" +
                "fy('" + word + "').done(function(msg){" +
                "$('#result').text(msg);" +
                "});" +
                "</script>";
            showHTML(jsStr);
        } else {
            showHTML("请输入完整的值");
        }
    };
}());

在插件目录新增文件 func.js ,代码如下:

function getType(obj) {
    return obj == null ?
        String(obj) :
    {
        "[object Array]": "array",
        "[object Boolean]": "boolean",
        "[object Date]": "date",
        "[object Function]": "function",
        "[object Number]": "number",
        "[object Object]": "object",
        "[object RegExp]": "regexp",
        "[object String]": "string"
    }[Object.prototype.toString.call(obj)] || "object";
}

function fy(query, from, to) {
    var appid = '';//你接入百度翻译后的appid
    var key = '';//你接入百度翻译后的key
    var salt = (new Date).getTime();
    from = from || 'auto';
    to = to || 'auto';
    var str1 = appid + query + salt + key;
    var sign = MD5(str1);
    var def = $.Deferred();
    $.ajax({
        url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
        type: 'get',
        dataType: 'jsonp',
        data: {
            q: query,
            appid: appid,
            salt: salt,
            from: from,
            to: to,
            sign: sign
        },
        success: function (data) {
            var result = data["trans_result"];
            if (result) {
                def.resolve(result[0]["dst"]);
                return;
            }
            def.resolve('翻译失败');
        },
        error: function () {
            def.resolve("翻译失败");
        }
    });
    return def.promise();
}

至此,可以呼出 FARR 控制台,输入 fy 翻译,即可看到结果显示。

叁郎 2016-04-06 下午8:40

从我五十的速度时,也是入群的初期,那时候对五笔的练习就是两个字(自我感觉金山打字通练习真的不适合,太难了):迷茫。后来在群友的推荐下使用了添雨跟打器(老版本094),从那时起添雨跟打器陪伴了自己走过了一个本可能无聊的暑假,每天从起床到睡前,都是添雨跟打器相伴,哈哈,开始夸张的说也有点“痴迷”,二个月练习后,自己的五笔速度也提升了不少,嗯,很感谢这个作品;就像你所说的一样,这可能是一个永远无法完美的产品,但我们希望它是一个能不断更新、不放弃的产品!当你在群里面看到一张张跟打器的截图,我觉得也是一件很快乐的事吧,坚持、加油!于自己个人的体验来说,我还是很喜欢新版跟打器的(包括极致010、cherry联赛专版),虽然自己现在是老版、新版一起交替着用——新版的稳定载文用于跟打赛文及群里面发的文章、单字等;老版的载入剪切板功能,让自己自由跟打想练习的内容(确实有一丁点的麻烦,哈哈,当然是最想新版集成老版的一些功能,这些提议在上一个文章里已经留言了,这里就不重复了),新版的稳定性觉得是最好的一点,感觉软件的功能就应该在稳定的基础上,否则用着也不太顺心,对吧,嘿嘿。最后支持添雨(也支持达达),感谢你们对五笔的无私付出与努力,对五笔跟打群也有着太多的帮助,对每一个使用跟打器和小拆来成长的五笔“玩家”来说,你们的帮助很大很大~学五笔靠的就是坚持,添雨,别放弃,跟打群在、你的软件亦在! 💡 💡

阅读剩余部分