(* 获取声明的Wstring变量长度 *)
nLenOfWstring1 := nLenOfWstring2 := 0;
nWstring1Size := (nSrcWStr1Size - 2) / 2;
nWstring2Size := (nSrcWstr2Size - 2) / 2;
nDstWstringSize := (nDstWStrSize - 2) / 2;
(* 初始化 *)
AnyLenWCONCAT := 0;
FOR i := 0 TO TO_UINT(nDstWstringSize - 1) BY 1 DO
pDstWStr^[i] := 0;
END_FOR
(* 获取Wstring1数据的有效长度 *)
FOR i := 0 TO TO_UINT(nWstring1Size - 1) BY 1 DO
nWsToWord := pSrcWStr1^[i];
IF nWsToWord = 0 THEN
nLenOfWstring1 := i;
EXIT;
END_IF
END_FOR
(* 获取Wstring2数据的有效长度 *)
FOR i := 0 TO TO_UINT(nWstring2Size - 1) BY 1 DO
nWsToWord := pSrcWStr2^[i];
IF nWsToWord = 0 THEN
nLenOfWstring2 := i;
EXIT;
END_IF
END_FOR
(* 组合 *)
IF nLenOfWstring1 < 1 THEN
IF nLenOfWstring2 < 1 THEN
AnyLenWCONCAT := 0;
RETURN;
ELSE
FOR i := 0 TO nLenOfWstring2 - 1 BY 1 DO
pDstWStr^[i] := pSrcWStr2^[i];
END_FOR
END_IF
ELSE
FOR i := 0 TO nLenOfWstring1 - 1 BY 1 DO
pDstWStr^[i] := pSrcWStr1^[i];
END_FOR
IF nLenOfWstring2 >= 1 THEN
FOR i := nLenOfWstring1 TO TO_UINT(nDstWstringSize) BY 1 DO
pDstWStr^[i] := pSrcWStr2^[i - nLenOfWstring1];
END_FOR
END_IF
END_IF
AnyLenWCONCAT := nLenOfWstring1 + nLenOfWstring2;