ditto 添加统计粘贴次数功能

这篇具有很好参考价值的文章主要介绍了ditto 添加统计粘贴次数功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过观察ditto的表发现, 可以添加触发器进行统计粘贴次数的功能,不需要用源码

Ditto 是一款强大的 Windows 剪贴板增强工具,它支持64位操作系统,而且完全免费,绿色开源,支持中文,而且还有免安装的绿色版本。

开启 Ditto 后,不会有任何程序界面出现,它只是默默地在系统右下角弹出了一个蓝色的托盘图标,这时候你复制任何内容到剪贴板都会被 Ditto 一一记录。如果你什么时候想找到它,就可以按 Ctrl+`,当中的每条内容都可以供你选择性的重新复制。

ditto 添加统计粘贴次数功能

使用navicat连接数据库

ditto 添加统计粘贴次数功能

主要使用的表

Types

MainDeletes

Main

Data

CopyBuffers

通过观察Main表发现数据库结构

/*
 Navicat Premium Data Transfer

 Source Server         : ditto
 Source Server Type    : SQLite
 Source Server Version : 3035005 (3.35.5)
 Source Schema         : main

 Target Server Type    : SQLite
 Target Server Version : 3035005 (3.35.5)
 File Encoding         : 65001

 Date: 17/04/2023 10:44:23
*/

PRAGMA foreign_keys = false;

-- ----------------------------
-- Table structure for Main
-- ----------------------------
DROP TABLE IF EXISTS "Main";
CREATE TABLE "Main" (
  "lID" INTEGER PRIMARY KEY AUTOINCREMENT,
  "lDate" INTEGER,
  "mText" TEXT,
  "lShortCut" INTEGER,
  "lDontAutoDelete" INTEGER,
  "CRC" INTEGER,
  "bIsGroup" INTEGER,
  "lParentID" INTEGER,
  "QuickPasteText" TEXT,
  "clipOrder" REAL,
  "clipGroupOrder" REAL,
  "globalShortCut" INTEGER,
  "lastPasteDate" INTEGER,
  "stickyClipOrder" REAL,
  "stickyClipGroupOrder" REAL,
  "MoveToGroupShortCut" INTEGER,
  "GlobalMoveToGroupShortCut" INTEGER
);

-- ----------------------------
-- Auto increment value for Main
-- ----------------------------
UPDATE "sqlite_sequence" SET seq = 50355 WHERE name = 'Main';

-- ----------------------------
-- Indexes structure for table Main
-- ----------------------------
CREATE INDEX "Main_CRC"
ON "Main" (
  "CRC" ASC
);
CREATE INDEX "Main_ClipGroupOrder"
ON "Main" (
  "clipGroupOrder" DESC
);
CREATE INDEX "Main_ClipOrder"
ON "Main" (
  "clipOrder" DESC
);
CREATE UNIQUE INDEX "Main_ID"
ON "Main" (
  "lID" ASC
);
CREATE INDEX "Main_InGroup2"
ON "Main" (
  "lParentId" ASC,
  "stickyClipGroupOrder" DESC,
  "bIsGroup" ASC,
  "clipGroupOrder" DESC
);
CREATE INDEX "Main_IsGroup"
ON "Main" (
  "bIsGroup" DESC
);
CREATE INDEX "Main_MoveToGroup"
ON "Main" (
  "MoveToGroupShortCut" DESC,
  "GlobalMoveToGroupShortCut" DESC
);
CREATE INDEX "Main_ParentId"
ON "Main" (
  "lParentID" DESC
);
CREATE INDEX "Main_ShortCut2"
ON "Main" (
  "lShortCut" DESC,
  "globalShortCut" DESC
);
CREATE INDEX "Main_TopLevel"
ON "Main" (
  "stickyClipOrder" DESC,
  "bIsGroup" ASC,
  "clipOrder" DESC
);
CREATE INDEX "Main_TopLevelParentID"
ON "Main" (
  "lParentId" ASC,
  "stickyClipOrder" DESC,
  "bIsGroup" ASC,
  "clipOrder" DESC
);

-- ----------------------------
-- Triggers structure for table Main
-- ----------------------------
CREATE TRIGGER "delete_data_trigger"
BEFORE DELETE
ON "Main"
FOR EACH ROW
BEGIN
INSERT INTO MainDeletes VALUES(old.lID, datetime('now'));
END;

PRAGMA foreign_keys = true;

通过表结构发现里面是有一个触发器进行记录删除时间的

同理可以增加一个触发器,记录更新时间,就可以记录下粘贴的使用id和时间

添加触发器

-- 添加 ditto 触发器
DROP TRIGGER "main"."update_date_trigger"


CREATE TRIGGER "main"."update_date_trigger"
BEFORE UPDATE
ON "Main"
BEGIN
  -- 这里是因为粘贴一次,会进行两次update, 所以这里删除掉已经记录的时间,避免生成两个一样的记录
  DELETE FROM MainPaste WHERE lastPasteDate=old.lastPasteDate;
	-- 记录一次粘贴记录
  INSERT INTO MainPaste VALUES(old.lID, old.lastPasteDate);
END

COMMIT;

ditto 添加统计粘贴次数功能

统计粘贴次数

ditto 添加统计粘贴次数功能

测试结论,通过粘贴四次 “好的”, 可以查询出复制了四次文章来源地址https://www.toymoban.com/news/detail-416249.html

-- 统计粘贴次数
select t1.*, t2.mText from 
( select clipID, count(clipID) cnt from MainPaste group by clipID order by count(clipID)  desc) t1,
Main t2 
where t1.clipID = t2.lID;

统计的作用

  1. 通过一段时间的使用,可以记录使用次数最高的记录
  2. 使用了如果一年多,则 ditto.db 的文件会特别的大。 则根据使用记录次数, 可以删除一些不常用的数据, 避免空间浪费

到了这里,关于ditto 添加统计粘贴次数功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面试题分析:统计网站访问次数

    难度:较低 平台的访问量非常高,需要实时统计网站的访问次数,请设计一个计数器解决: 初级工程师,可能回答使用synchronized锁或重入锁,进一步探讨,synchronized锁太重,有没其他方式,可能回答atomic类,进一步问,atomic类原理,什么场景下适合用,什么场景下不适合用

    2024年02月12日
    浏览(82)
  • 统计字符串字符出现的次数

    输入一个字符串,输出字符及相应字符出现的次数。 【学习的细节是欢悦的历程】 Python 官网 :https://www.python.org/ Free :大咖免费“ 圣经 ”教程《 python 完全自学教程 》,不仅仅是基础那么简单…… 地址:https://lqpybook.readthedocs.io/   自学并不是什么神秘的东西 ,一个人一

    2024年02月07日
    浏览(77)
  • python统计每个单词出现的次数

    编程要求 请按照函数的注释,补充程序中缺失部分语句,按要求实现如下程序功能:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ word_frequency() 函数统计并以字典类型返回每个

    2024年02月11日
    浏览(46)
  • 统计viewpager中页面进入的次数

    利用OnPageChangeListener的onPageScrolled方法,在该方法中判断positionOffsetPixels == 0,即可判断选中的页面。

    2024年02月06日
    浏览(41)
  • 编程实现Hadoop按日期统计访问次数

    数据总共有两列,第一列为用户名,第二列为登录的日期,想要统计每个自然日,也就是每一天的访问次数,可以转换为对日期值的词频统计,只要统计出每个日期出现的次数,就可以知道对应日期的日访问次数。将思路转化为MapReduce编程逻辑,需要从以下3个模块考虑。 (

    2024年02月05日
    浏览(40)
  • Java项目作业~ 通过html+Servlet+MyBatis,完成站点信息的添加功能

    通过html+Servlet+MyBatis,完成站点信息的添加功能。 以下是站点表的建表语句:     RegisterServlet: UserDao: User: MyBatisUtil: UserDao.xml: jdbc.properties: mybatis-config.xml:  web.xml: register.html: RegTest:    点击网址跳转到浏览器:  填写信息如下:  点击提交按钮:  数据库中查

    2024年02月12日
    浏览(32)
  • python 列表 统计字符次数,找大于某个值

    1.统计名字列表中,各名字的首字母在名字列表中出现的次数 2.字符个数统计 3.将列表中大于5的数字输出 方式一:通过循环遍历,判断后追加到新列表中 方式二:利用filter函数 lambda函数,也叫匿名函数,即,函数没有具体的名称。lambda和普通的函数相比,就是省去了函数名

    2024年02月05日
    浏览(32)
  • nginx 每天各IP访问次数记录统计

    此文章主要介绍了,在nginx代理的情况下,统计当天IP的出现次数,并且生成表格的相关步骤 1.nginx 配置的修改 在/etc/nginx/nginx.conf 2.定时执行的shell脚本 该脚本主要在每天的0点自动执行IPStatistics.py来记录昨天的IP访问次数,然后对昨天的日志进行备份,并且备份最长时间为m

    2024年02月12日
    浏览(39)
  • python函数装饰器参数统计调用时间和次数

    python在函数装饰器外层定义一个函数生成封闭作用域来保存装饰器入参,供装饰器使用。 描述 通过类的可调用实例装饰器来统计函数每次调用时间和总调用时间,以及调用次数。 (1) time.perf_counter()获取当前时间,单位秒; (2) 调用函数func前和后的时间差,为func的执行

    2024年02月01日
    浏览(85)
  • 【Python】 -- 实现统计《红楼梦》人物名称出现次数

    前面文章已经具体讲解了对统计《三国演义》人物名称出现次数的操作和实现思路,如有需要可以浏览。  为什么说是初级代码?因为可以数据更加严谨统计,我们都知道人物名称在文章中不可能都只出现一次,还可能有别称,如贾宝玉可能有“宝二爷”的别称,因此可以将

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包