精易论坛

标题: 弄了一个闹钟提醒的小程序,但是出现提前提醒了,这是..... [打印本页]

作者: sjround    时间: 2022-11-19 00:05
标题: 弄了一个闹钟提醒的小程序,但是出现提前提醒了,这是.....
弄了一个闹钟提醒的小程序,但是出现还没到设定时间事提前提醒了,出现提前提醒都是时间刚好是整点的时候,没有整点的时候不会出现这个错误,这究竟是哪出了问题,还望大神指点一下, 附上源码
闹钟.rar (343.97 KB, 下载次数: 9)

作者: 陽陽陽    时间: 2022-11-19 00:22
建议直接用:
取启动时间()
然后时间相减就行了
作者: sjround    时间: 2022-11-19 00:30
陽陽陽 发表于 2022-11-19 00:22
建议直接用:
取启动时间()
然后时间相减就行了

应该不是这个的问题,我找半天没找到原因出在哪里,只要出现整点就会提前提醒
作者: 苗哥    时间: 2022-11-19 01:19
闹钟.e (1.33 MB, 下载次数: 8)

改了下,你试试



作者: sjround    时间: 2022-11-19 01:41
自由天下 发表于 2022-11-19 01:19
改了下,你试试

好的,我测试一下看看
作者: 陽陽陽    时间: 2022-11-19 02:08
sjround 发表于 2022-11-19 00:30
应该不是这个的问题,我找半天没找到原因出在哪里,只要出现整点就会提前提醒 ...

建议你改成这个,这个稳定
作者: 云少i    时间: 2022-11-19 11:12
把这两个子程序改成这样就可以了。
注意增加了程序集变量


  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
A   
B   
C文本型  
集_时间日期时间型  
集_时间戳文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
组合框_载入数据 (组合框1, 取运行目录 ()“/qjzs.dat”)
B = 0
超级列表框1.置列宽 (0, -2)
超级列表框2.置列宽 (0, -2)
子程序名返回值类型公开备 注
_按钮2_被单击  
集_时间 = 增减时间 (取现行时间 (), #分钟, 到整数 (编辑框9.内容)到整数 (编辑框1.内容))
集_时间戳 = 时间_到时间戳 (集_时间, 真, )
超级列表框1.插入表项 (, 组合框1.取项目文本 (组合框1.现行选中项)到文本 (集_时间), , , , )
子程序名返回值类型公开备 注
_时钟2_周期事件  
计次循环首 (超级列表框1.取表项数 (), )
C = 超级列表框1.取标题 (B, )
B = B + 1
如果真 (到数值 (集_时间戳)到数值 (时间_到时间戳 (取现行时间 (), 真, )))
时钟2.时钟周期 = 0
播放音乐 ( #声音1, )
信息框 (超级列表框1.取标题 (B - 1, )“,时间到”, #置顶, “时间到啦~”, )
超级列表框2.插入表项 (, 超级列表框1.取标题 (B - 1, )“,时间到”, , , , )
停止播放 ()
超级列表框1.删除表项 (B - 1)
时钟2.时钟周期 = 10

计次循环尾 ()
B = 0


i支持库列表   支持库注释   
iext扩展界面支持库一

作者: sjround    时间: 2022-11-22 18:42
云少i 发表于 2022-11-19 11:12
把这两个子程序改成这样就可以了。
注意增加了程序集变量

你好,经过测试后出现到时间不会提示了,然后会突然间全部一下子提示出来
作者: sjround    时间: 2022-11-23 00:02
有大神帮忙看一下是哪里出错了么?实在找不到原因
作者: 云少i    时间: 2022-11-23 08:00
sjround 发表于 2022-11-22 18:42
你好,经过测试后出现到时间不会提示了,然后会突然间全部一下子提示出来 ...

把计次循环里面的如果真做成子程序,改为线程启动、
作者: sjround    时间: 2022-11-23 11:46
云少i 发表于 2022-11-23 08:00
把计次循环里面的如果真做成子程序,改为线程启动、

不好意思,我是初学者不太懂你的意思
作者: sjround    时间: 2022-11-24 00:29
云少i 发表于 2022-11-23 08:00
把计次循环里面的如果真做成子程序,改为线程启动、

你好,我改为线程启动了,还是出现一样的问题
  
计次循环首 (超级列表框1.取表项数 (), )
C = 超级列表框1.取标题 (B, )
B = B + 1
启动线程 (&子程序1, , )
计次循环尾 ()
B = 0
子程序名返回值类型公开备 注
子程序1  
如果真 (到数值 (集_时间戳)到数值 (时间_到时间戳 (取现行时间 (), 真, )))
时钟2.时钟周期 = 0
播放音乐 ( #声音1, )
信息框 (超级列表框1.取标题 (B - 1, )“,时间到”, #置顶, “时间到啦~”, )
超级列表框2.插入表项 (, 超级列表框1.取标题 (B - 1, )“,时间到”, , , , )
停止播放 ()
超级列表框1.删除表项 (B - 1)
时钟2.时钟周期 = 10


i支持库列表   支持库注释   
EThread多线程支持库


作者: 幻想大人    时间: 2024-7-9 13:45
易语言闹钟源码,最简洁的
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14827683
(出处: 精易论坛)


这个我写的,你参考一下
作者: bingqer    时间: 2024-7-27 00:09
都是我要膜拜的前辈




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4