找回密码
 加入
搜索
查看: 2123|回复: 2

[效率算法] 多时间点计划事件的提醒该如何执行?[已解决]

[复制链接]
发表于 2015-12-12 19:13:09 | 显示全部楼层 |阅读模式
本帖最后由 地平线 于 2015-12-14 20:21 编辑

最近在写一个类似闹钟提醒的工具方便工作中使用,但由于涉及多个对象、多个事件、多个时间点,细节的具体执行找不到一个好方法。特来请教各位坛友!
具体例子如下:
对象1:事件A   提醒时间点:8:00  12:00  18:00  24:00
           事件B   提醒时间点:22:00

对象2:事件A   提醒时间点:8:00  12:00  16:00  22:00  24:00
           事件B   提醒时间点:8:00  12:00  17:30
           事件C   提醒时间点:8:00  17:30

对象3 ...
  .
  .
执行目的:到相应时间点即弹出提醒,如12:00提醒 “对象1:事件A。  对象2:事件A,事件B。” ;17:30提醒“对象2:事件B,事件C。” 。

大体思路:先是录入界面,创建一个多标签页窗口,根据对象数量可增加或删除标签页,每个对象的标签页是多个事件和时间点的录入,根据事件的数量增加或删除分组组数。
               接着,录入的数据保存在配置文件里。
配置文件的结构初步设想:
[Object1]
CaseA = 8:00|12:00|18:00|24:00
CaseB = 22:00

[Object2]
CaseA = 8:00|12:00|16:00|22:00|24:00
CaseB = 8:00|12:00|17:30
CaseC = 8:00|17:30

[Object3]
CaseA = 8:00|12:00|16:00|22:00|24:00
CaseB = 8:00|12:00|17:30
CaseC = 8:00|17:30
CaseD = 8:00|18:00|24:00

[Object i]
...
但是,执行提醒的时候,如何把多个不同时间点提取出来,并在该时间点提醒多个对象的多个事件
发表于 2015-12-12 20:59:53 | 显示全部楼层
界面略
先用Ini*函数读取配置文件成以下方便取值的数据,然后在需要的时间点在数据中正则匹配,简单可靠
#include <Array.au3>
Local $sSource = _
                'Object1.CaseA = 8:00|12:00|18:00|24:00' & @CRLF & _
                'Object1.CaseB = 22:00' & @CRLF & _
                'Object2.CaseA = 8:00|12:00|16:00|22:00|24:00' & @CRLF & _
                'Object2.CaseB = 8:00|12:00|17:30' & @CRLF & _
                'Object2.CaseC = 8:00|17:30' & @CRLF & _
                'Object3.CaseA = 8:00|12:00|16:00|22:00|24:00' & @CRLF & _
                'Object3.CaseB = 8:00|12:00|17:30' & @CRLF & _
                'Object3.CaseC = 8:00|17:30' & @CRLF & _
                'Object3.CaseD = 8:00|18:00|24:00'
;~MsgBox(0, '源字符串', $sSource)
Local $sTime = InputBox('提醒测试', '请输入测试时间', '12:00')
If @Error Then Exit
Local $aSRE = StringRegExp($sSource, '(?m)(^.+?)\h*\=\h*.*?\D' & $sTime & '\D', 3)
If @Error Then Exit MsgBox(48, $sTime, '该时间点无提醒事件')
_ArrayDisplay($aSRE, UBound($aSRE))
 楼主| 发表于 2015-12-13 01:14:54 | 显示全部楼层
本帖最后由 地平线 于 2015-12-13 01:19 编辑

回复 2# afan
感谢A版的指点,可惜不懂正则,改天在电脑上再测试。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-10 22:38 , Processed in 0.078807 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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