各位好, 小弟要寫一個監測的程式...
只要發生了某事件(比如說小鬼在哭), 就會取得他的一個字串(比如說小鬼的名字)
然後如果持續一段時間內(比如說10秒)這事件又發生了(小鬼又哭了)
那第二次發生的事件就視為沒有(小鬼還沒哭完, 只是換口氣接著哭)
而這時間過了(十秒)沒有再發生這事件, 代表這事件結束了(小鬼哭完了)
程式流程大概是這樣:
[事件]小鬼哭了: 取得小鬼的名字, 看這小鬼是不是在哭哭清單內
Y: 這個小鬼的10秒重新計時
N: 把小鬼加入哭哭清單, 開始計時10秒, 記下小鬼開始哭的時間
[事件處理]計時10秒的時間到: 視為小鬼停止哭泣, 記下小鬼停哭時間
實作部份, 我目前是用一個 Dictionary<string, Timer> 來存放資訊
小鬼哭了事件一發生, 我就在這個 Dictionary 加入小鬼的名字 及其 Timer
又有小鬼哭的話, 我一樣先取得在哭的小鬼名字,
如果 Dictionary 的 Key 有此名, 則它的Value(Timer)就 Stop() 再 Start()
否則, 就 new 一個 Timer, 把名字及 Timer 都加入 Dicrionary
那, 我的問題在... 要寫計時時間到的 Event Handler ...
我不知道要怎麼在這個 EventHandler 裡取得這個 Timer 物件 在 Dictionary 的 Key
我本來的想法是, 在 EventHandler 裡取得這個 Timer 的 Key (也就是小鬼的名字)
然後才能記下小鬼停止哭泣的時間... 再把這個 Key 從 Dictionary remove 掉
但現在我不知道要怎麼取得這個 Key XD
不知有沒有辦法能解決我的問題... 或者是有其它作法可以參考??
謝謝大家看完
__yroj
--
KOKIA - ありがとう
もしも もう いちど 假使再一次
あなた に あえる なら 遇見你的話
たった ひとこと 只有一句話
つたえたい 想告訴你
http://home.so-net.net.tw/kenyroj/share/arigatou.swf
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.5.97