#author("2018-01-18T17:46:43+09:00","default:yakumo_murakami","yakumo_murakami")
[[Ruby]]

&ref("tk-timer.png");

Rubyをいれる時にRuby/tkもいれてね。そうすれば ''OS問わず動く'' と思う。

ひと押しで3分、あとは一回押すごとに一分追加。

そういえば、完了時に音以外で知らせる方法って何がいいかしら?

 #!/usr/bin/ruby -EUTF-8
 
 require 'tk'
 
 class Time
  def tNow
    self.strftime("%Y-%m-%d %H:%M:%S")
  end
 end
 
 itimer = nil
 k = 3
 
 ARGV.each{|x|
  i = x.to_i
  if i > 0
    k = i
    itimer = Time.now + (k * 60)
  end
 }
 
 ff = TkLabel.new{
  text "0"
  pack
 }
 
 tkb = TkButton.new{
  text "押せば作動"
  command {
    if itimer == nil 
      print "#{k}分タイマー開始\n"
      itimer = Time.now + (k * 60)
      text "1分追加"
    else
      print "1分追加\n"
      itimer += 60
    end
    ff.text = itimer.tNow
  } 
  pack
 }
 
 TkTimer.start(100){
  if itimer != nil
    t1 = (itimer - Time.now).to_i
    tx = nil
    if t1 < 0
      tx = "!!終わってるぞ!!"
      tkb.text = "押せば作動"
      itimer = nil
    elsif t1 < 60
      tx = "#{t1} sec."
    else
      tx = "#{t1/60} min #{t1%60} sec"
    end
    ff.text = tx
  end
 }
 
 Tk.mainloop

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS