如何於 CLP 中擷取字串的長度?(修正版)(Command RTVSTRLEN)
由於未注意, command source 部分錯了, 所以從新修改. 很抱歉.
要在 CLP 中取得字串長度,類似 RPGLE 中利用函數 %LEN(%TRIMR(str)) 取得字串長度,可以使用指令模式取得最方便,以下便是 RTVSTRLEN 指令:
File : QCLSRC
Member: RTVSTRLENC
Type : CLP
Usage : CRTCLPGM PGM(RTVSTRLENC) SRCFILE(lib/QCLSRC) SRCMBR(RTVSTRLENC)
The CPP source:
RTVSTRLEN: PGM PARM(&STRING &STRLEN)
DCL VAR(&STRING) TYPE(*CHAR) LEN(5002)
DCL VAR(&STRLENA) TYPE(*CHAR) LEN(2)
DCL VAR(&STRLEN) TYPE(*DEC) LEN(4 0)
CHGVAR VAR(&STRLENA) VALUE(%SST(&STRING 1 2))
CHGVAR VAR(&STRLEN) VALUE(%BIN(&STRLENA))
ENDPGM
File : QCMDSRC
Member: RTVSTRLEN
Type : CMD
Usage : CRTCMD CMD(RTVSTRLEN) PGM(lib/RTVSTRLENC) SRCFILE(lib/QCMDSRC) SRCMBR(RTVSTRLEN) ALLOW(*IPGM *BPGM)
RTVSTRLEN: CMD PROMPT('Retrieve String Length')
PARM KWD(STRING) TYPE(*CHAR) LEN(5000) VARY(*YES +
*INT2) PROMPT('Character string +
(5000)')
PARM KWD(STRLEN) TYPE(*DEC) LEN(4 0) RTNVAL(*YES) +
PROMPT('CL var for return value (4,0)')
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期一, 11月 06, 2023
2005-04-10 如何於 CLP 中擷取字串的長度?(修正版)(Command RTVSTRLEN)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言