Endian

構文
  1. UString = Endian( str )
引数
str
戻値

プログラム

//////////////////////////////////////////////////
// 【引数】
//   str 
// 【戻値】
// 
//////////////////////////////////////////////////
FUNCTION Endian(str)
	DIM len = LENGTH(str)
	
	IFB !isEven(len) THEN
		str = "0" + str
		len = len + 1
	ENDIF
	
	DIM res = ""
	FOR n = 1 TO len STEP 2
		res = COPY(str, n, 2)  + res
	NEXT
	
	RESULT = res
FEND

//////////////////////////////////////////////////
// 【引数】
//   expr : 評価する式 
//   truepart : 評価した式がTrueのときに返す値 
//   falsepart : 評価した式がFalseのときに返す値 
// 【戻値】
//   truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき 
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
	IFB EVAL(expr) THEN
		RESULT = truepart
	ELSE
		RESULT = falsepart
	ENDIF
FEND

//////////////////////////////////////////////////
// 【引数】
//   数値 : 整数 
// 【戻値】
//   True : 偶数、False : 奇数 
//////////////////////////////////////////////////
FUNCTION isEven(n)
	IFB n <> VARTYPE(n, VAR_INTEGER) THEN
		RESULT = ERR_VALUE
		EXIT
	ENDIF
	RESULT = IIF(n MOD 2 = 0, TRUE, FALSE)
FEND