リスナーの内容と挿入点の制御

以下の機能を使って、リスナー出力領域の内容と挿入点の位置をコントロールできます。

clearListener()

リスナー出力領域からすべてのテキストを消去します。

setListenerSel #(<start_integer>,<end_integer>)

リスナーに現在のテキスト選択を設定します。

開始値および終了値は、0 を始点とするリスナー出力領域テキストの文字オフセットです。

開始値と終了値が同じ場合、選択されたテキストはなく、指定された位置に挿入点が配置されます。

開始値または終了値に -1 を指定すると、挿入点はリスナー出力領域のテキストの末尾に置かれます。

次のメソッドではテキストの末尾に挿入点が置かれます。

    setListenerSel #(-1,-1)

次のメソッドでは、リスナー出力領域のすべてのテキストが選択されます。

    setListenerSel #(0,-1)

<start_integer> および <end_integer> は、整数リテラルまたは整数として評価される式です。

3ds Max 2014 より前のバージョンでは、この関数によって返される OK を出力すると、新規に設定されたテキスト選択が破壊されるため、この関数を使用できませんでした。

この関数は、定義済みのグローバル変数 silentValue を返します。この変数は何も出力しないため、リスナーのテキスト選択が破壊されません。 3ds Max 2019.2 Update 以降で使用可能です。

3ds Max 2014 から 3ds Max 2019.1 Update までのリリースでは、この関数は何も出力しない noValue という値を返しましたが、この値はグローバル変数として定義されていませんでした。

getListenerSel()

現在のテキスト選択のインデックスを 2 つの要素を持つ配列 #(start, end) として返します。これらはリスナー出力領域のテキストの文字オフセットであり、0 で始まります。選択がなく、挿入点だけの場合、開始値と終了値は同じ値になります。このメソッドによって認識されるのは、setListenerSel() メソッドを使用して設定された選択に限られます。選択の設定に setListenerSel() メソッドが使用されなかった場合、開始値および終了値にはリスナー出力領域のテキストの末尾に対するオフセットが返されます。

getListenerSelText()

現在選択されているテキストを戻します。テキストが選択されておらず、挿入点だけがある場合は、空の文字列を戻します。このメソッドによって認識されるのは、setListenerSel() メソッドを使用して設定された選択に限られます。選択の設定に setListenerSel() メソッドが使用されなかった場合は、空の文字列を返します。

たとえば、次の行ではリスナー出力領域の内容全体を変数 ListenerText にキャプチャします。

    (
    global ListenerText -- Declare variable to capture the Listener to
    setListenerSel #(0,-1) -- Select all the text
    ListenerText=getListenerSelText() -- Get selected text
    setListenerSel #(-1,-1) -- Set insertion point at end of output pane
    )
setListenerSelText <replacement_string>

現在の選択項目を置換文字列に置き換えます。選択されているテキストがなく、挿入点だけが表示されている場合、setListenerSelText() は挿入点に置換文字列を挿入します。このメソッドによって認識されるのは、setListenerSel() メソッドを使用して設定された選択に限られます。選択の設定に setListenerSel() メソッドが使用されなかった場合、挿入点はリスナー出力領域のテキストの末尾になります。<replacement_string > は、文字列リテラルまたは文字列として評価される式です。

include <filename_string>

指定されたファイルの内容をリスナー出力領域に挿入します。挿入されるテキストは評価されません。この関数を使うと、[Shift]+[Enter]で任意に選択されたテキストを実行しながら、あるスクリプトを読み込んでそれをステップ実行することができます。<filename_string> は文字列リテラルまたは文字列として評価される式で、挿入するファイル名を指定します。

例:

    include "my_script.ms"

または

    scriptfile="c:\\my_scripts\\my_script.ms"
    include scriptfile

ファイル名にディレクトリを明示的に指定しない場合、ファイルは以下のディレクトリの順番に検索されます。