2015-04-08 98 views
0

我是Ruby Shoes的新手。我正在製作一個程序,每隔5分鐘從互聯網上獲取信息。每5分鐘執行一次代碼並在Ruby Shoes上顯示進度條

我想用紅寶石鞋的方法every()。進度條會顯示接近5分鐘的時間,然後執行主代碼,然後方法將等待5分鐘再次循環。但是,使用此代碼,程序將在300秒後等待第一次迭代,因此在此之前進度條不會顯示。我想問問你能否告訴我一種解決這個問題的方法?

現在,我甚至無法思考如何來調整animate與我的300秒時間來工作,所以我必須設置every(100)animate(1)所以基本上每分鐘1:40而不是5分鐘。

不管怎樣,我的首要任務,現在是讓進度條不僅在迭代也才顯示它

很抱歉的長期職位。這是進度條,我希望你能明白我的意思我的僞代碼:

Shoes.app do 
    stack :margin => 0.1 do 
    title "Progress bar" 
    @p = progress :width => 1.0 

    every(100) do |p| 
    @animate = animate (1) do |i| 
     @p.fraction = (i % 100)/100.0 
     @animate.stop if i > 99 
    end 
    #main codes go here 
    end 

    end 
end 

我是新來這一點,還在學習。我感謝您的幫助!

回答

1

我更改您的代碼,以便它每10秒執行一次。您可以每5分鐘自行修改一次。試試吧,稍後再感謝我;)

Shoes.app do 
stack :margin => 0.1 do 
title "Progress bar" 
    @p = progress :width => 1.0 
    @animate = animate (1) do |i| 
    @p.fraction = (i % 10)/10.0 
    @animate.stop if @p.fraction > 0.9 
    end 

    every(10) do |p| 
     #main codes go here 
    end 
end 
end 
相關問題