2

出力変数を次のようにフォーマットしようとしていました。

シナリオ 1:

LET msg = "Roopesh Majeti here "
           Empno Using "&&&&&"
Call Logmsg(msg)

このシナリオでは、empno は 5 桁 [スペースと言うべきです] にフォーマットされて表示されます。

シナリオ 2:

Let c_check = "&&"
Let msg ="Roopesh Majeti here"
          Empno using c_check
Call Logmsg(msg)

ここで、私の期待は、c_check [たとえば 10 &'s] の値が何であれ、empno は 10 桁/スペースにフォーマットする必要があるということです。

しかし、期待どおりに機能していません。

ここで何か不足していますか?

4

1 に答える 1

1

何を得るかを言わないので、それがどのように機能していないかを知るのが難しくなります。

いくつかの軽微な構文エラーがあり、定数文字列の後にカンマがありません。

msgor c_check;の宣言を表示しません。問題は、メッセージが切り捨てられていることでしょうか?

使用すると何が得られますか:

DISPLAY "<<", msg CLIPPED, ">>"
DISPLAY "<<", msg,         ">>"

次のような完全なプログラムとその出力を表示できるはずです。

MAIN

    DEFINE msg      CHAR(64)
    DEFINE c_check  CHAR(20)
    DEFINE empno    INTEGER

    LET empno = 12345
    LET msg = "Roopesh Majeti here ", empno Using "&&&&&"
    DISPLAY "<<", msg CLIPPED, ">>"
    DISPLAY "<<", msg,         ">>"

    LET empno = 987654321
    LET c_check = "&&"
    LET msg ="Roopesh Majeti here", empno USING c_check
    DISPLAY "<<", msg CLIPPED, ">>"
    DISPLAY "<<", msg,         ">>"

END MAIN
于 2011-10-07T03:48:41.617 に答える