GET_CHAR

文字列内の指定された位置の文字値を読み取り

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

結果の下位バイトにはバイト値が含まれ、結果の上位バイトはゼロで埋められます。

入力

sString (STRING)

文字の取得元の文字列

iPosition (INT, DINT, UINT, UDINT)

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

出力

Unnamed output (WORD, DWORD)

取得した文字のバイト値、上位バイトはゼロで埋められる。

解説

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

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

注記

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

POUヘッダ

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

	VAR
		bStart: BOOL:=FALSE;
		sInputString: STRING[32]:='ABCDabcd';
		wCharvalue: WORD:=16#61;
	END_VAR

LDボディ

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

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,3,1,5,3,);
B(B_F,E_GET_CHAR!,,14,0,21,5,,?DEN?DsString?DiPosition?AENO?C);
B(B_VARIN,,sInputString,12,2,14,4,);
B(B_VAROUT,,wCharvalue,21,2,23,4,);
B(B_VARIN,,2,12,3,14,5,);
L(1,0,1,5);
L(1,2,3,2);
L(5,2,14,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

if (bSTart) then
	wCharvalue:=GET_CHAR(sInputString, 2);
end_if;

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