SET_CHAR

文字列内の指定された位置に文字値を書き込み

このファンクションは、文字列内の文字の位置を表すiPosition (文字列の最初の文字が1)に基づいて、sStringの8ビット文字値を設定します。

入力

Value (WORD, DWORD)

下位バイト値が文字データに書き込まれる入力元データ

iPosition (INT, DINT, UINT, UDINT)

文字列内の文字の位置(文字列の最初の文字が1)であり、1以上でなければなりません。

入出力

sString (STRING)

文字の設定先の文字列

解説

  • Control FPWIN Pro7はアクセスするデータの有効性をチェックしないため、入力データの有効性をチェックしてください。

  • 指定された位置が最大文字数を超えていないか、また現在の文字数を超えていないかを確認してください。

  • SET_CHARファンクションを文字列に適用しても、文字列の長さ(文字列内の現在の文字数)は変わりません。文字列の長さを変更する必要がある場合は、ファンクションSET_LENを使用してください。

注記

最高のパフォーマンスを得るには、可能な限り定数入力値を使用してください。

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

	VAR
		bStart: BOOL:=FALSE;
		sInputString: STRING[32]:='ABCDabcd';
	END_VAR

LDボディ

変数bStartTRUEにセットされると、このファンクションが実行されます。

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,4,3,6,5,);
B(B_F,E_SET_CHAR!,,14,2,22,8,,?DEN?DValue?DiPosition?DsString?AsString?AENO);
B(B_VARIN,,77,12,4,14,6,);
B(B_VARIN,,8,12,5,14,7,);
B(B_VARIN,,sInputString,12,6,14,8,);
L(1,0,1,8);
L(1,4,4,4);
L(6,4,14,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

if (bSTart) then
	SET_CHAR(Value := 77, iPosition := 8, sString := sInputString);
end_if;

最終修正日: 2025-07-03このページに関するフィードバックお問い合わせ窓口