setstaticvariable文(Ver9.35対応版)
目次−
setstaticvariable文
setstaticvariable文は、静的な変数を書き込みます。(V8.00以降)
- パラメータ1(文字列型)
-
変数名を指定します。マクロ内で使う通常の変数とは別の名前空間にあります。大文字と小文字の区別はされません。
- パラメータ2(文字列型)
-
書き込む変数の内容を、文字列で指定します。数値は指定できません。""を指定すると消去します。
- パラメータ3(数値型、省略可能)
-
共有するかどうかを指定します。
0 を指定するか省略すると、共有せず、現在の秀丸エディタ内だけで有効です。同じウィンドウであっても「ファイルを閉じる」「閉じて開く」「ファイル名変更」「名前を付けて保存」(saveas除く)をすると消去されます。
1 を指定すると、全ての秀丸エディタで有効です。
2 を指定すると、共有せず、現在の秀丸エディタ内だけで有効です。0指定で消去される場面でも保持されます。(V9.00以降)
-1 を指定すると、別の使い方になります。(後述)
- 結果コード
-
失敗した場合、resultは0になります。
成功した場合、resultは0以外になります。
パラメータ1とパラメータ2を共に""を指定すると、全て消去します。
静的な変数は、マクロが終了しても値を保持しています。
静的な変数用のメモリは、上限があるため、最低限の利用に留めることをお勧めします。
メモリ使用の上限は、[その他]→[動作環境]→[環境]の「詳細設定...」から指定できます。(
getmaxinfoで取得)
個数の上限は、32767個までです。
取得するには
getstaticvariableを使います。
setstaticvariableとgetstaticvariableの共有フラグは合わせておく必要があります。
例 |
message getstaticvariable( "TestA", 1 ); //前回記憶されていた情報
setstaticvariable "TestA", "全ての秀丸エディタで有効",1;
message getstaticvariable( "TestA", 1 ); //今回記憶した情報
message getstaticvariable( "TestB", 0 ); //前回記憶されていた情報
setstaticvariable "TestB", "現在の秀丸エディタで有効",0;
message getstaticvariable( "TestB", 0 ); //今回記憶した情報
|
別の使い方:
第3パラメータに-1を指定すると、静的ではなく、一時的な変数として扱います。(V9.12以降)
共有せず、現在の秀丸エディタだけで有効で、実行中のマクロ内だけで有効です。
マクロが終了したら消えます。
上限の設定は関係ありません。
他のマクロとの競合はありません。
参照:
getstaticvariable
setstaticvariable
Hidemaru_SetStaticVariable
hidemaru.setStaticVariable