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 メインフレームでのソリューションを提供します。詳細については、こちらを参照してください。