web-dev-qa-db-ja.com

COBOLでコマンド待機?

COBOLには一種の「待機」関数がありますか?電卓を書いて​​、50代以上にするために、「コンピューティング」と印刷しました。 "Computing .." ecc例:

                   DISPLAY "SECONDO NUMERO"
                   ACCEPT B
                   COMPUTE C= A * B
                          DISPLAY "Computing"
                          DISPLAY "Computing."
                          DISPLAY "Computing.."
                          DISPLAY "Computing..."
                          DISPLAY "Computing...."
                          DISPLAY "Computing....."
                          DISPLAY "Computing......"
                          DISPLAY A "x" B " FA..."
                          DISPLAY C

さて、COBOLで「コンピューティング」部分を配置するときに少し遅延(0.5秒)する方法はありますか?私はこのプロジェクトにgithubリポジトリ( https://github.com/aIDserse/Super-utility-Submachine-COBOL-CALCULATOR )を作成しました。完全なコードについては、それ(バージョン1.3を参照)を参照してください(そして、さようならそれを笑う)。どうも!!!

4
Giulio

ISO標準COBOLには待機ステートメントはありません。

ただし、組み込みの システムルーチン が利用できる場合は、C $ SLEEP(秒)またはCBL_GC_NANOSLEEP(ナノ秒)のどちらかでうまくいくはずです。

例(0.5秒間スリープ):

call "CBL_GC_NANOSLEEP" using "500000000" end-call

IBMのEnterprise COBOL(LE対応)の場合、CEE3DLYルーチンが最適です(他のレガシールーチンも利用できます)。

1
Anton

GnuCobolの場合、待機する秒数を指定してC $ SLEEPを呼び出します。

CALL "C$SLEEP" USING 2 END-CALL

COBOLには、待機を処理する言語機能が組み込まれていません。これはシステム固有の要求であり、外部システムを呼び出してシステムとのインターフェースをとる必要があると思います。

1
Jim Castro