Cobolでタイマーを作成する方法を知っている人はいますか?それは可能ですか?
4 に答える
たぶん、グーグルページのこの質問があなたを助けるかもしれません:Is there a TIMER function in Cobol
PC で DosSleep を検索し、メインフレームで ILBOWAT0 を検索します。
それが役立つことを願っています。
Cobol でプロセスの時間を計るには、2 つの時点の差を計算できます。以下は、作業を開始するための時点を測定するためのサンプル コードです。
01 TEMP-TIME-1.
05 T1-HOURS PIC 99.
05 T1-MINUTES PIC 99.
05 T1-SECONDS PIC 99.
05 T1-HUNDREDTHS-OF-SECS PIC 99.
Use similar data definitions for TEMP-TIME-2
START-TIME
END-TIME
ACCEPT TEMP-TIME-1 FROM TIME
If using hundredth of seconds, use following loop
to start timing at start of a hundredth of a second
PERFORM WITH TEST AFTER UNTIL TEMP-TIME-2 <> TEMP-TIME-1
ACCEPT TEMP-TIME-2 FROM TIME
END-PERFORM
MOVE TEMP-TIME-2 TO START-TIME
同様のコードを使用して END-TIME を設定します
OpenCOBOL の場合、C$SLEEP (秒単位の時間) および CBL_OC_NANOSLEEP (10 億分の 1 秒単位の時間) のストック ライブラリ CALL 関数があります。これは、ほとんどのマシンが処理できるよりも高い解像度です。特定の部分の精度へのアクセスについては、librt clock_res() を参照してください。ハードウェアおよび OS の)。
OpenCOBOL ソースのコピーを複製し、ファイルlibcob/common.cでcob_acuw_sleepおよびCBL_OC_NANOSLEEP C 関数を調べて、OpenCOBOL でどのように実行されたかを確認します。Windows と POSIXey システムの両方でこれらのタイマーを処理するための条件付きコードがあります。
ILBOWAT0 は 20 年古いです。Language Environment は、IBM メインフレームでのソリューションを提供します。詳細については、こちらを参照してください。