プãƒã‚°ãƒ©ãƒ 言語 タイマー
概è¦
一定期間毎ã«ã€å®šã‚ãŸå‡¦ç†ã‚’定期的ã«è¡Œã‚ã›ã‚‹å‡¦ç†ã€‚
åŒæœŸå‡¦ç†
ã‚¿ã‚¤ãƒžãƒ¼ã§æŒ‡å®šã—ãŸå‡¦ç†(n回目)ãŒçµ‚ã‚ã‚‹å‰ã«ã€æ¬¡ã®å‡¦ç†(n+1回目)ãŒå§‹ã¾ã‚‹å ´åˆã€‚
n回目ã®å‡¦ç†ãŒçµ‚ã‚ã£ã¦ã‹ã‚‰n+1回目ã®å‡¦ç†ãŒå§‹ã¾ã‚‹ã€‚
処ç†ã«å¿…è¦ãªæ™‚é–“ã¯ã€å‡¦ç†ã‚’行ã‚ã›ã‚‹æ™‚é–“ã®é–“隔内ã«åŽã‚ã‚‹å¿…è¦ãŒã‚る。

※Intervalã§Tickイベントを発生ã•ã›ã‚‹é–“隔をè¨å®š
private int myTime = 0;
private void Form1_Load(object sender, EventArgs e)
{
  //timer開始
  myTimer.Enabled = true;
}
//Intervalã§è¨å®šã—ãŸé–“éš”ã§ç™ºç”Ÿã™ã‚‹
private void myTimer_Tick(object sender, EventArgs e)
{
  myTime += 1;
  myLabel.Text = myTime.ToString();
  if (myTime == 10)
  {
    //timerã‚’ç ´æ£„
    myTimer.Dispose();
  }
}
↓Form1.Designer.csã«ã¦ã‚¤ãƒ™ãƒ³ãƒˆãƒãƒ³ãƒ‰ãƒ©ã‚’è¿½åŠ ã—ã¦ãŠã事
private void myTimer_Disposed(object sender, EventArgs e)
{
  ↑ ã®Disposeã«ã‚ˆã£ã¦ã“ã“ãŒå‘¼ã°ã‚Œã‚‹
  ~
}
ã€Form1.Designer.cs】
private void InitializeComponent()
{
  //
  // myTimer
  //
  this.myTimer.Interval = 1000;
  this.myTimer.Tick += new System.EventHandler(this.myTimer_Tick);
  //↓ ã“ã®è¡Œã‚’手動ã§è¿½åŠ
  this.myTimer.Disposed += new System.EventHandler(this.myTimer_Disposed);
}

※Intervalã§Tickイベントを発生ã•ã›ã‚‹é–“隔をè¨å®š
Private myTime As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  //timer開始
  Me.myTimer.Enabled = True
End Sub
Intervalã§è¨å®šã—ãŸé–“éš”ã§ç™ºç”Ÿã™ã‚‹
Private Sub myTimer_Tick(sender As Object, e As EventArgs) Handles myTimer.Tick
  myTime += 1
  Me.myLabel.Text = myTime
  If myTime = 10 Then
    //timerã‚’ç ´æ£„
    Call myTimer.Dispose()
  End If
End Sub
Private Sub myTimer_Disposed(sender As Object, e As EventArgs) Handles myTimer.Disposed
  ↑ ã®Disposeã«ã‚ˆã£ã¦ã“ã“ãŒå‘¼ã°ã‚Œã‚‹
  ~
End Sub
※指定ã—ãŸæ™‚é–“ã®å¾Œã€æŒ‡å®šã®é–¢ã™ã‚‹ã‚’実行ã™ã‚‹ã€‚
繰り返ã—ç„¡ã—。時間ã¯ãƒŸãƒª(1/1000)。
function fnTest(){
  ~
}
//1秒後ã«fnTest()を実行
var timer = setTimeout(“fnTest()” , 1000);
//1秒後ã«åŒ¿å関数を実行
var timer = settimeout(function(){
~
} , 1000);
clearTimeout()
※実行ä¸ã®timer(setTimeout)ã‚’åœæ¢
//fnTest()ã‚’å³å®Ÿè¡Œ
timer = setTimeout(“fnTest()” , 0);
//↑timerã‚’åœæ¢
clearTimeout(timer);
//10秒後ã«å†é–‹
timer = setTimeout(“fnTest()” , 10000);
éžåŒæœŸå‡¦ç†
ã‚¿ã‚¤ãƒžãƒ¼ã§æŒ‡å®šã—ãŸå‡¦ç†(n回目)ãŒçµ‚ã‚ã‚‹å‰ã«ã€æ¬¡ã®å‡¦ç†(n+1回目)ãŒå§‹ã¾ã‚‹å ´åˆã€‚
n回目ã®å‡¦ç†ã®çµ‚了ã«é–¢ä¿‚ãªãã€n+1回目ã®å‡¦ç†ãŒå§‹ã¾ã‚‹ã€‚
※指定ã—ãŸä¸€å®šã®é–“éš”ã§æŒ‡å®šã—ãŸé–¢æ•°ã‚’実行
指定ã—ãŸé–¢æ•°ã®å®Ÿè¡Œã®çµ‚了を待ãŸãšã€æŒ‡å®šã—ãŸé–“éš”ã§ã¾ãŸæ¬¡ã®å®Ÿè¡ŒãŒå§‹ã¾ã‚‹
//1ç§’ã«1回ã€fnTest()を実行
var timer = setInterval(“fnTest()” , 1000);
var timer = setInterval(function(){
  //引数ã‚り関数を実行ã™ã‚‹å ´åˆ
  fnTest(100);
} , 1000);
clearInterval()
※実行ä¸ã®timer(setInterval)ã‚’åœæ¢
//fnTest()ã‚’å³å®Ÿè¡Œ
var timer = setInterval(“fnTest()” , 1000);
//↑timerã‚’åœæ¢
clearInterval(timer);
//10秒後ã«å†é–‹
timer = setInterval(“fnTest()” , 10000);
Timeré–‹å§‹ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°
Form_Loadイベント開始
↓
タイマー起動
↓
Form_Loadイベント終了
※タイマーãŒèµ·å‹•ã™ã‚‹ã®ã¯Form_Loadイベント終了後
Form_Loadイベント開始
↓
タイマー起動(3秒後)
↓
10秒掛ã‹ã‚‹å‡¦ç†
↓
Form_Loadイベント終了
※タイマーãŒèµ·å‹•ã™ã‚‹ã®ã¯ã‚¿ã‚¤ãƒžãƒ¼èµ·å‹•処ç†ã‹ã‚‰10秒後
Form_Loadイベント開始
↓
タイマー起動(3秒後)
↓
1秒掛ã‹ã‚‹å‡¦ç†
↓
Form_Loadイベント終了
※タイマーãŒèµ·å‹•ã™ã‚‹ã®ã¯ã‚¿ã‚¤ãƒžãƒ¼èµ·å‹•処ç†ã‹ã‚‰3秒後
Sleep
Call Sleep(1000) ※1秒
※5秒