「TrueとFalse を切り替える」の版間の差分
ナビゲーションに移動
検索に移動
ページを新規作成 |
細 →メモ |
||
| 117行目: | 117行目: | ||
= メモ = | = メモ = | ||
<!-- 旧バージョン | |||
[[ファイル:TrueとFalseを切り替える.zip]] (2018/11/23 sukemaru) | |||
--> | |||
* 2018/11/25 sukemaru | * 2018/11/25 sukemaru | ||
: ソースコードを変更しました。 | : ソースコードを変更しました。 | ||
2018年11月25日 (日) 00:21時点における版
True と False を切り替える
ダウンロード: ファイル:TrueとFalseを切り替える.zip(アイコン入り)
YES/NO マクロ
選択範囲の文字列が "True" なら "False" に、"False" なら "True" にします。
ソースコード内に相互変換する単語を登録して使用します。
- "True" ⇔ "False" や "Yes" ⇔ "No" の2つの単語の相互変換なら
[ "True", "False" ], [ "Yes", "No" ],
- 大文字/小文字/頭文字だけ大文字 を別々に登録する必要があります
[ "ON", "OFF" ], [ "on", "off" ], [ "On", "Off" ],
- "ほげ" → "ふが" → "ぴよ" → "ほげ" のような3つ以上の単語を順々に変換するなら
(前回のものよりも少しだけ登録しやすくしました。)
[ "ほげ", "ふが", "ぴよ" ], [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ],
- また、左 → 右 方向には変換しても 右 → 左(先頭)方向 に変換させたくない場合は、グループの最後に空要素 "" を置きます
[ "Notepad", "Mery", "" ], [ "Terapad", "Mery", "" ], [ "EmEditor", "Mery", "" ], [ "Alpha", "Bravo", "Charlie", "Delta", "Echo", "" ],
ソースコード
#title = "True or False"
#tooltip = "True と False を切り替える"
#icon = "TF.ico"
// 選択範囲の文字列が "True" なら "False" に、"False" なら "True" にする
// sumemaru 2018/11/20 - 2018/11/24
// ---------- ▼ 設定 ▼ ----------
// ■選択範囲がないときにキャレット位置の単語を自動選択するか?(不要なら false;)
var wordSelectionEnable = true;
// ■変換後に選択範囲を残すか?(不要なら false;)
var leftSelectionEnable = true;
// ---------- ▲ 設定 ▲ ----------
var a = new Array( // ←消しちゃダメ
// ---------- ▼ 単語グループを登録 ▼ ----------
// 単語を "ダブルクォート" か 'シングルクォート' で囲い、カンマ「 , 」で区切って並べる。
// グループを [ 角カッコ ] で囲い、うしろにもカンマ「 , 」を付けること。
// ※マクロを実行してエラーになったときは、"ダブルクォート"/カンマ「 , 」/[ 角カッコ ] の過不足を確認。
// 左→右 には変換しても 右→左(先頭) に変換させたくない場合は、グループの最後に空要素 "" を置く。
[ "Notepad", "Mery", "" ], [ "Terapad", "Mery", "" ], [ "EmEditor", "Mery", "" ],
[ "Alpha", "Bravo", "Charlie", "Delta", "Echo", ],
/* Positive or Negative */
[ "True", "False" ], [ "true", "false" ], [ "TRUE", "FALSE" ],
[ "Yes", "No" ], [ "yes", "no" ], [ "YES", "NO" ],
[ "On", "Off" ], [ "on", "off" ], [ "ON", "OFF" ],
[ "Enable", "Disable" ], [ "enable", "disable" ], [ "ENABLE", "DISABLE" ],
[ "Positive", "Negative" ], [ "positive", "negative" ], [ "POSITIVE", "NEGATIVE" ],
/* (中略) */
[ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ],
[ "0", "1", "2", "3", "4", "5", "6", "0", "8", "9", "10" ],
// ---------- ▲ 単語グループを登録 ▲ ----------
[ "" , "" ] ); // ← 消しちゃダメ
var s = document.selection;
if ( s.IsEmpty && wordSelectionEnable )
s.SelectWord();
var st = ConvertYesNo( s.Text );
if ( st && s.Text && st != s.Text ) {
s.Text = st;
if ( leftSelectionEnable )
s.SetAnchorPos( s.GetActivePos() - st.length );
}
function ConvertYesNo( str ) {
Outer:
for ( var i = 0; i < a.length; i ++ ) {
if ( ! a[i] )
continue;
Inner:
for ( var j = 0, k; j < a[i].length; j ++ ) {
if ( ! a[i][j] )
continue;
if ( a[i][j] == str ) { // ヒットしたら
if ( j < a[i].length - 1 ) {
k = j + 1;
return a[i][k]; // ひとつ右の単語を返す
}
else {
return a[i][0]; // いちばん左の単語を返す
}
break Outer;
}
}
}
}
メモ
- 2018/11/25 sukemaru
- ソースコードを変更しました。
スポンサーリンク