‖一括処理部品集2‖goaltime.html 《戻る》 《玄関へ》
《 スタート・ゴール時刻を計測する 》
【内容】
スタートとゴールの時刻を計測し、タイムを求める。(秒単位まで)
スタートとゴールの時刻を計測し、タイムを求める。(0.01秒単位まで)
以下、用例などの文字列中に0.01秒まで表示する場合は赤字で
表現しています。
【用例】
名札 計測
手続き実行 F種類 @
表
表 &TBL1
ジャンプ 行番号=先頭
メッセージボックス #連結(&システム名,"スタート時刻")
\
,"☆ スタート時にEnterキーを入力してください。\
\n よろしいか? よーい、 ドン!",アイコン=i,ボタン=5,&START
ケース開始
ケース (&START=6)
行訂正 [時刻]=#時刻
A
*行訂正 [時刻]=#時間数値(#日時時刻(#日時値),5)
&S時刻=[時刻]
B
ケース (&START=7)
分岐 START
ケース終了
&MESS1=#連結("☆ スタート時刻=( ",
&S時刻," )" \
,"\n\n スタートのやり直しは「いいえ」です。"
\
,"\n\n★ これでよければ、このまま待機してください。 ★"
\
,"\n\n 1着がゴールする瞬間に「はい」を押してください。"
\
,"\n\n 以下、ゴール毎に「はい」を押してください。"
\
,"\n\n 最終ゴール後、記録を中止します。")
*&S時刻を#str(#時間値(&S時刻,5))で置き換える
メッセージボックス #連結(&システム名,"【スタート時刻】です。")
\ C
,&MESS1,アイコン=!,ボタン=4,&START
条件 (&START=2) 分岐 START
条件 (&START=7) 分岐 計測
ジャンプ 行番号=終端
&着順=0
繰り返し (&着順<10001)
ジャンプ 行番号=終端
&着順=&着順+1
&T時刻=#時刻
D
*&T時刻=#時間数値(#日時時刻(#日時値),5)
&タイム=#時間文字列(#時間(&S時刻,&T時刻,3),3)
E
*&タイム=#時間値((&T時刻-&S時刻),5)
行挿入 [着順]=&着順,[時刻]=&T時刻,[タイム]=&タイム
F
&MESS2=#連結("☆ ゴール毎に「はい」を押してください。"
\
,"\n\n ゴ
ール時刻=( ", #全角(&T時刻)," )" \
,"\n スタート時刻=( ",
#全角(&S時刻)," )" \
,"\n\n ",#全角(#STR(&着順)),"
着 タイム= ",#全角(&タイム)
\
,"\n\n 最終ゴール後または計時を中止する時に「いいえ」を押してください。"
)
*#全角(&T時刻)を#str(#時間値(&T時刻,5))で置き換える
*#全角(&S時刻)を#str(#時間値(&S時刻,5))で置き換える
メッセージボックス #連結(&システム名,"【着順とゴールタイム】です。")
\ G
,&MESS2,ボタン=5,&GOAL
条件 (&GOAL=7) 繰り返し中止
繰り返し終了
手続き実行 表初期
表形式編集 ガイド="訂正:f・2 追加:f・3 終了:f・4
/Q",初期項目="タイム" H
・・・・・・
手続き終了
【解説】
@ 種目別に用意したゴール時刻記録表を選びます。
記録表の[着順]の先頭行には0を設定しています。
A 記録表の[時刻]の先頭行にスタート時刻を入力します。
[時刻]、[タイム]のデータ型はどちらも文字列型。
(0.01秒まで表示する一括処理では、
[時刻]は数値型、[タイム]は時間型とした。)
B スタート時刻を変数に入れておきます。
C スタート時刻などを表示します。
スタートのやり直しもできます。
D ゴール毎に、時刻を変数に入れ
E スタート時刻とゴール時刻からタイムを求めます。
F 記録表に、着順・ゴール時刻・タイムを順次挿入します。
G 着順・ゴール時刻・タイムなどは画面に表示します。
H 計測終了後に記録表を表示します。
【参考】
秒単位表示のもの


