スクリプト/コツ/時間(ミリ秒)を文字列で表示する関数(履歴ID:119)
最終投稿者: fmy
更新:2011/08/30 01:11:17
スクリプト/コツ/時間(ミリ秒)を文字列で表示する関数
関数の小分けに失敗したので必要以上に変数使ってたり長かったりします。
カスタマイズしやすくなってる…かも。
この範囲で不具合などございましたらご報告下さい。
追って対応させて頂きます。
以下を呼び出し元(使いたい所)より前に定義(使える状態にしておくって事)。
サンプル1
「12:34'56"789」と表示されれば正常。
サンプル2
「00'56」と表示されれば正常。
ゆーても主な使われ方は関数getTime()の受け皿としてを想定しての事です。
関数の小分けに失敗したので必要以上に変数使ってたり長かったりします。
カスタマイズしやすくなってる…かも。
この範囲で不具合などございましたらご報告下さい。
追って対応させて頂きます。
以下を呼び出し元(使いたい所)より前に定義(使える状態にしておくって事)。
# time_org : getTime()とかからのミリ秒単位の値 # force_x = 1:数値が0でも表示 # 0:数値があれば表示 # -1:数値があっても表示しない def getStringTime( time_org, force_h, force_m, force_s, force_ms ) text = "" time = time_org # hour force = force_h next_force = force_m intercept_char = ":" div = 1000*60*60 if force == 1 || ( force == 0 && div <= time_org ) dig = floor( time / div ) % 24 dig1 = dig % 10 dig10 = floor( dig / 10 ) % 10 text = text + toString(dig10) + toString(dig1) if 0 <= next_force text = text + intercept_char end end time = time % div # minute force = force_m next_force = force_s intercept_char = "'" div = 1000*60 if force == 1 || ( force == 0 && div <= time_org ) dig = floor( time / div ) % 60 dig1 = dig % 10 dig10 = floor( dig / 10 ) % 10 text = text + toString(dig10) + toString(dig1) if 0 <= next_force text = text + intercept_char end end time = time % div # second force = force_s next_force = force_ms intercept_char = "\"" div = 1000 if force == 1 || ( force == 0 && div <= time_org ) dig = floor( time / div ) % 60 dig1 = dig % 10 dig10 = floor( dig / 10 ) % 10 text = text + toString(dig10) + toString(dig1) if 0 <= next_force text = text + intercept_char end end time = time % div # milli second force = force_ms if force == 1 || ( force == 0 && 0 <= time_org ) dig = time % 1000 dig1 = dig % 10 dig10 = floor( dig / 10 ) % 10 dig100 = floor( dig / 100 ) % 10 text = text + toString(dig100) + toString(dig10) + toString(dig1) end return text end
サンプル1
h = 12 *1000*60*60 m = 34 *1000*60 s = 56 *1000 ms = 789 str = getStringTime( h+m+s+ms, 0, 0, 0, 0 ) speak( str )
サンプル2
h = 0 *1000*60*60 m = 0 *1000*60 s = 56 *1000 ms = 789 str = getStringTime( h+m+s+ms, 0, 1, 1, -1 ) speak( str )
ゆーても主な使われ方は関数getTime()の受け皿としてを想定しての事です。