开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: 蓝雅婷
收起左侧

[闲聊] 易语言火山怎样让SetTimer时钟周期记录一次循环超时等待无...

[复制链接]
结帖率:20% (2/10)
 楼主| 发表于 2021-9-2 21:55:40 | 显示全部楼层   江西省赣州市
LLJ 发表于 2021-9-2 17:50
下载还要2 JB,懒得下载
这已经是思路了,你只不过换个写法就不会了吗?比如写成热键

我没有设置下载要扣2精币的选项, 发个网盘给你吧链接:https://pan.baidu.com/s/1GSMWjG6WW8-VMqnZNZe_wA
提取码:0000

回复 支持 反对

使用道具 举报

结帖率:20% (2/10)

签到天数: 5 天

 楼主| 发表于 2021-9-2 19:17:20 | 显示全部楼层   江西省赣州市
LLJ 发表于 2021-9-2 18:03
看这截图的代码,就觉得你还需要再练。
另外SetTimer的精度是不准确的,更不要用这个来累加计时,要计时 ...

谢谢,dll里面的时钟不准确吗?
回复 支持 反对

使用道具 举报

结帖率:20% (2/10)

签到天数: 5 天

 楼主| 发表于 2021-9-2 19:09:28 | 显示全部楼层   江西省赣州市
LLJ 发表于 2021-9-2 17:30
易语言的 时钟1.时钟周期 = 0 其实就是销毁,不是建立

我用的是dll里面的时钟,因为要做成通用的类模块,里面就有要配合销毁时钟一起用的命令,我只不过是把dll的名称改为中文了而已,不想用自带时钟,写一个周期就得画一个控件,已经用五个了,
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2021-9-2 18:07:15 | 显示全部楼层   广东省汕头市
蓝雅婷 发表于 2021-9-2 10:42
感觉还可以,但是好像还有点瑕疵,比如用时钟单击的识别率可能会有点慢,但是我发现你这个好像只对回车键 ...

单击识别慢没有办法,因为你不希望单击和双击可以同时触发,就必须等待双击超时了才触发单击,你可以降低双击超时时间,从而加快单击触发时间
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2021-9-2 18:03:03 | 显示全部楼层   广东省汕头市
蓝雅婷 发表于 2021-9-2 16:02
能帮我再看一下吗?我把你的代码加进去后只有长按的效果,不知道怎么回事
...

看这截图的代码,就觉得你还需要再练。
另外SetTimer的精度是不准确的,更不要用这个来累加计时,要计时也应该用:取启动时间 (),要获得间隔则:取启动时间 ()-上次时间
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2021-9-2 17:50:23 | 显示全部楼层   广东省汕头市
蓝雅婷 发表于 2021-9-2 16:02
能帮我再看一下吗?我把你的代码加进去后只有长按的效果,不知道怎么回事
...

下载还要2 JB,懒得下载
这已经是思路了,你只不过换个写法就不会了吗?比如写成热键

  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
时钟1.时钟周期 = 1  ' 开始监视热键
子程序名返回值类型公开备 注
_时钟1_周期事件  
变量名类 型静态数组备 注
回车键状态短整数型 
按下逻辑型 
长按时间整数型 
双击逻辑型 
双击时间整数型 
回车键状态 = GetAsyncKeyState ( #回车键 )
如果 (回车键状态 = -32767)  ' 输入
如果 (按下 = )
按下 = 真
长按时间 = 取启动时间 ()
如果 (双击 = )
双击 = 真
双击时间 = 取启动时间 ()
如果真 (取启动时间 () - 双击时间 < 300)
双击 = 假
输出调试文本 (“双击”)
双击时间 = 取启动时间 ()

如果真 (双击)

如果真 (取启动时间 () - 长按时间 > 1000)
长按时间 = 取启动时间 ()
双击 =   ' 防止放开后触发单击事件
输出调试文本 (“长按”)


如果 (回车键状态 = 0)  ' 放开
按下 = 假
如果真 (双击)
如果真 (取启动时间 () - 双击时间 > 300)  ' 如果双击超时,那就是单击
双击 = 假
输出调试文本 (“单击”)





  
DLL命令名返回值类型公开备 注
GetAsyncKeyState整数型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
GetAsyncKeyState
参数名类 型传址数组备 注
键值整数型


回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2021-9-2 17:30:17 | 显示全部楼层   广东省汕头市
蓝雅婷 发表于 2021-9-2 16:02
能帮我再看一下吗?我把你的代码加进去后只有长按的效果,不知道怎么回事
...

易语言的 时钟1.时钟周期 = 0 其实就是销毁,不是建立
回复 支持 反对

使用道具 举报

结帖率:20% (2/10)

签到天数: 5 天

 楼主| 发表于 2021-9-2 16:02:44 | 显示全部楼层   江西省赣州市
LLJ 发表于 2021-9-2 02:27
要避免单击和双击冲突就要用到定时器了
[e=0].版本 2

能帮我再看一下吗?我把你的代码加进去后只有长按的效果,不知道怎么回事 还是有问题.png 还是有问题1.png

2021.9.2鼠标侧键-新增模式切换功能-有问题未修复.zip

413.24 KB, 下载次数: 0, 下载积分: 精币 -2 枚

打开后你试试双击微标键 和长按微标键

回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2021-9-2 12:27:12 | 显示全部楼层   黑龙江省哈尔滨市
加个变量记录上次按下时间与键代码
回复 支持 反对

使用道具 举报

结帖率:20% (2/10)

签到天数: 5 天

 楼主| 发表于 2021-9-2 10:42:32 | 显示全部楼层   江西省赣州市
LLJ 发表于 2021-9-2 02:27
要避免单击和双击冲突就要用到定时器了
[e=0].版本 2

感觉还可以,但是好像还有点瑕疵,比如用时钟单击的识别率可能会有点慢,但是我发现你这个好像只对回车键正常使用,换别的按键就会出现第一次能识别到单击,第二次以后就一直识别成长按操作了,但实际上我只是单击了一下并没有按住按键,还有个问题 这个好像有点太散了,假如有10个按键就得复制10个代码,不能集成在一个模块做成方法类,不方便调用。 第一次你提供的那个带有 “上次键代码”这个变量的就可以做成通用方法类
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表