RPGLEで文字の長さと型変数を直接返す簡単な方法はありますか? ここで話している長さは、D-spec で指定されている長さではありません。文字列内の実際の意味のある文字数について話しています。文字型変数が 50 文字の長さと定義されていて、「Hello world!」という値が割り当てられているとします。必要な長さは「H」から「!」までの 12 です。先頭と末尾の空白は無視されます。これを行う簡単な方法はありますか?
12689 次
2 に答える
12
%len(%trimr(field))
長さをチェックする前に末尾のスペースを削除 する を使用できます。
%triml
先頭のスペースをトリムします (左側)%trimr
末尾のスペースをトリムします (右側)%trim
先頭と末尾のスペースをトリムします
于 2011-11-10T15:21:12.510 に答える
9
長さを見つけようとしているフィールドは、次のような固定文字フィールドのようです。
dmsg s 40a
eval msg ='Hello、World!'を実行すると その場合、msgには「Hello、World!」が含まれていません。--これには「Hello、World!」が含まれています。'つまり、40文字まで埋めるための空白の山があります。これが、定義上、固定長フィールドがどのように機能するかです。
%trimr()はこれらで非常にうまく機能し、トリミングする文字を定義するオプションのパラメーターもあります。
一方、さまざまな長さのフィールドを使用する場合
dmsg s 40a Varying
次に、eval msg ='Hello、World!'を実行しました。その場合、フィールドには実際には割り当てられた文字のみが含まれます。この場合、%trimr()は必要ありません。%len()は、フィールドの現在の長さを返します。
于 2011-11-10T15:38:16.433 に答える