Ruby

&ref(): File not found: "tk-timer.png" at page "Rubyでラーメンタイマー";

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
Last-modified: 2018-01-18 (木) 17:46:43