请教个解决方法

fakirc 2008-09-04 05:45:24
编了个小软件,主要功能是对检验样品进行检验到期的倒计时和提示,到了预先设定的检验时间之前的几分钟,就可以用语音提示检验,目前已做好了语音等功能,但是在提示的频次上面不知该如何写,主要问题是:

利用timer控件在一个StringGrid列表中检索到期时间,然后与当前时间比较,进行倒计时,待到还有5分钟后,即开始进行语音提示,但我把语音提示的代码写在Timer事件中,这样没触发一次Timer的事件,就会有一次语音提示,怎样才能做到StringGrid中的10条记录如有到期的,每条到期的记录提示三次,每隔5分钟提示一次。
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fakirc 2008-09-05
  • 打赏
  • 举报
回复
那样岂不是只能判断一条记录的情况,如果有10条记录都到时间就不行了,昨晚想到可以用数组,分别记录每条记录朗读的次数和间隔时间,然后判断,应该可以吧。
fangsp 2008-09-05
  • 打赏
  • 举报
回复
if(......)
if(......)
if(......) 语音提示();
多加条件

提示过的记录下来
下次判断此记录 根据返回条件设置是否继续提示
比如提示1次后 var a:=a+1 ....
下次判断如果a=3了就不再提示
思路就是这样 具体..... 自己设计一下吧

同意
ronal212121 2008-09-04
  • 打赏
  • 举报
回复
if(......)
if(......)
if(......) 语音提示();
多加条件

提示过的记录下来
下次判断此记录 根据返回条件设置是否继续提示
比如提示1次后 var a:=a+1 ....
下次判断如果a=3了就不再提示
思路就是这样 具体..... 自己设计一下吧
fakirc 2008-09-04
  • 打赏
  • 举报
回复
但是这样写在timer的事件里面,便会每秒触发一次,那样岂不是每秒都提示一次直到5分钟结束。
xabcxyz 2008-09-04
  • 打赏
  • 举报
回复
你自己也说了,时间比较,进行倒计时,待到还有5分钟后,即开始进行语音提示

也就是要 if(......) 语音提示();

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧