# 做了个小工具专门用来记录查询过的单词信息

**URL:** <https://forum.freemdict.com/t/topic/4608>\
**Category:** 技术交流与词典编修\
**Created:** [2021 年1 月 12 日 09:35 UTC](https://forum.freemdict.com/t/topic/4608 "2021-01-12T09:35:41Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

作者： ![dylan\_lee](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/dylan_lee/32/18683_2.png) [@dylan\_lee](https://forum.freemdict.com/u/dylan_lee)\
发布日期： [2021 年1 月 12 日 09:35 UTC](https://forum.freemdict.com/t/topic/4608/1 "2021-01-12T09:35:41Z")

</div>

前文提要：

> [@今晚花了点时间把mdict转成了sqlite，来说说我遇到的一些问题。](https://forum.freemdict.com/t/topic/4528/9):
>
> GD 的文档确实挺不全的 搞定了就好

之前我想记录 goldendict 查过的单词信息和分页显示不同的collections的问题。  
我尝试了多种方式，具体是那些暂时略过不表。  
后来经过@ [独一无二](https://forum.freemdict.com/u/%E7%8B%AC%E4%B8%80%E6%97%A0%E4%BA%8C)的提醒goldendict 支持的词典来源外置程序。昨晚花了两个小时的实验和代码编写很快就实现了我想要的功能。  
这个程序只有一个基本的功能：\*_对查过的每一个单词进行记录_。  
现在记录的信息有：查询次数，第一次查词时间，上一次查词时间。  
为了不重复记录没有意义的次数和点击，10分钟以内的查询都不计数。  
数据我记录在和程序同一目录的 record.db 里面（一个sqlite 文件）。

之前我看过有不少的用户反应外置词典链接的功能会非常影响查词体验。这其实就是网络请求远程的词典网站导致返回查询结果过长的问题。  
我实验了一下，一般情况下，超过 400ms 会感到卡顿，要想对不影响软件原有查词体验，需要做到 200 ms以内返回结果。本地的程序做到这个返回速度是不难的。即使sqlite里面有100万条以上数据，更新和查询两次操作也可以做到 200ms 以内返回。  
PS：1秒 = 1000ms

另外我实验了自己写一个程序去支持 goldendict 的 websites 数据源，返回速度可以做到更快。可玩性更高，并且可做的事情更多，比如为每一个单词添加笔记并保存，下次查询时自动显示出来。返回速度可以做到完全不影响原有查词体验。但 goldendict 这一块的功能有点问题，我能将数据返回给前端的浏览器界面，但前端的 iframe 显示有点问题，有知道解决外置词典服务器返回结果显示问题的同学可以回帖说一下。自己做一个词典服务器可以比一个单独的小程序返回更快。

以下是我的使用截图：

 ![image](https://forumcdn.freemdict.com/uploads/default/original/2X/e/eb7629247857de63ff50c6a2bee05675e3e93681.png)

使用方式：  
在goldendict里面的 词典来源-----程序 加上我这个小程序的路径和 %GDWORD% 建议和你的词典数据文件放同一个目录。（ **现在暂时支持windows，有需要 mac 和 linux 的可以说一下** ）  
比如你的词典目录在 C:\goldendict\contents  
把我这个程序复制进去，(32位机器用 pickax\_32.exe), 然后添加路径位为(程序路径和%GDWORD%之间加空格)：  
C:\goldendict\contents\piackax.exe %GDWORD%  
下图是我的设置

 ![Screenshot 2021-01-12 172518](https://forumcdn.freemdict.com/uploads/default/original/2X/5/5ea372dbfe1d216ff8989fbe02cea542d8a74bbe.jpeg)

然后在collection里把它加入到显示的词典里  
 ![image](https://forumcdn.freemdict.com/uploads/default/original/2X/0/0c0bfe5715dc8fbb4973a7100fcc038f7fcd64c6.png)

下面是我的两个程序。  
[pickax.zip](https://forum.freemdict.com/uploads/short-url/rvX1YBQFKoMyYSPMTeu7Veot3bu.zip) (7.0 MB)

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2021 年1 月 12 日 09:40 UTC](https://forum.freemdict.com/t/topic/4608/2 "2021-01-12T09:40:37Z")

</div>

没见到你的文件呀 :skr_19_gif:

---

<div class="post-metadata">

作者： ![dylan\_lee](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/dylan_lee/32/18683_2.png) [@dylan\_lee](https://forum.freemdict.com/u/dylan_lee)\
发布日期： [2021 年1 月 12 日 09:42 UTC](https://forum.freemdict.com/t/topic/4608/3 "2021-01-12T09:42:19Z")

</div>

抱歉忘记上传了。

---

<div class="post-metadata">

作者： ![RANP0](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/r/848f3c/32.png) [@RANP0](https://forum.freemdict.com/u/RANP0)\
发布日期： [2021 年8 月 27 日 00:50 UTC](https://forum.freemdict.com/t/topic/4608/4 "2021-08-27T00:50:17Z")

</div>

大佬可以开源下代码吗，想学习下。  
希望能自己调整下输出，还有就是别的平台也想用用。

---

<div class="post-metadata">

作者： ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
发布日期： [2021 年8 月 27 日 02:55 UTC](https://forum.freemdict.com/t/topic/4608/5 "2021-08-27T02:55:41Z")

</div>

能记笔记那就很方便了

---

<div class="post-metadata">

作者： ![格蕾特](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E6%A0%BC%E8%95%BE%E7%89%B9/32/69955_2.png) [@格蕾特](https://forum.freemdict.com/u/%E6%A0%BC%E8%95%BE%E7%89%B9)\
发布日期： [2024 年12 月 15 日 16:24 UTC](https://forum.freemdict.com/t/topic/4608/6 "2024-12-15T16:24:54Z")

</div>

> [@dylan\_lee](#):
>
> 另外我实验了自己写一个程序去支持 goldendict 的 websites 数据源，返回速度可以做到更快。可玩性更高，并且可做的事情更多，比如为每一个单词添加笔记并保存，下次查询时自动显示出来。

记笔记的功能现在怎么样了？
