「
TrueとFalse を切り替える
」を編集中
2019年5月6日 (月) 23:54時点における
Sukemaru
(
トーク
|
投稿記録
)
による版
(
→
True と False を切り替える
)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
= <b style="color:#0000c0;">True</b> と <b style="color:#c00;">False</b> を切り替える = ダウンロード: 「[[メディア:TrueとFalseを切り替える.zip|TrueとFalseを切り替える.zip]]」 2018/11/27 (アイコン入り)<br> 改造版(ToDoリストモードを搭載):「[[メディア:YES/NO マクロ(ToDo).zip|YES/NO マクロ(ToDo).zip]]」 2019/05/06 <b style="color:#0000c0;">YES</b>/<b style="color:#c00;">NO</b> マクロ 選択範囲の文字列が "True" なら "False" に、"False" なら "True" にします。 ソースコード内に相互変換する単語を登録して使用します。 * "True" ⇔ "False" や "Yes" ⇔ "No" の'''2つの単語の相互変換'''なら [ "True", "False" ], [ "Yes", "No" ], * "ほげ" → "ふが" → "ぴよ" → "ほげ" のような'''3つ以上の単語を順々に変換'''する場合も、列挙するだけです。 [ "ほげ", "ふが", "ぴよ" ], [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ], * 単語グループの登録は'''「頭文字が大文字」'''の [ "Hoge", "Fuga", "Piyo" ], [ "Hoge", "Fuga", "Piyo" ], だけであっても、'''「小文字」同士の差分''' hoge, fuga, piyo や hoge、fuga、 piyo、 '''「大文字」同士の差分''' HOGE, FUGA, PIYO や HOGE、 FUGA、 PIYO も変換できます。 <br> ※「小文字」だけのグループを登録した場合は「大文字」差分の変換もでき、「大文字」だけのグループを登録した場合は「小文字」差分の変換もできますが、どちらも「頭文字が大文字」の差分の変換はできません。 * 小文字や大文字の差分では変換させたくないグループを登録する場合は、グループの先頭に <b style="color:#c00;">0,</b> を(引用符で囲わずに)置きます。 <br> 以下の例では mozilla や FIREFOX は変換されません。 [ <b style="color:#c00;">0,</b> "Mozilla", "Firefox" ], :FireFox や ThunderBird のように先頭以外にも大文字がある単語については、別途で完全一致する単語グループの登録が必要となります。 :先頭の <b style="color:#c00;">0,</b> は「'''完全一致のみ'''」のフラグになります( → 1 や false, true などを置くとエラーにります)。<br> ※ '''"0",''' だと半角数字の "文字列" になるのでグループ内の単語のひとつとして登録されます。 * 「大文字」だけを除外したい場合は、<b style="color:#c00;">0,</b> 付きの「頭文字」のグループと「小文字」のグループを登録します。 <br> 以下の例では ALPHA や BRAVO は変換されません。 [ <b style="color:#c00;">0,</b> "Alpha", "Bravo", "Charlie", "Delta", "Echo" ], [ <b style="color:#c00;">0,</b> "alpha", "bravo", "charlie", "delta", "echo" ], * 左→右 方向には変換しても '''右→左(先頭)方向に変換させたくない場合'''は、グループの最後に空要素 <b style="color:#c00;">, ""</b> を置きます。 <br> 以下の例では Mery から Notepad や Terapad には変換されません。 [ 0, "Notepad", "Mery"<b style="color:#c00;">, ""</b> ], [ "Terapad", "EmEditor", "gPad", "秀丸", "Mery"<b style="color:#c00;">, ""</b> ], <span style="color:#c00;">※マクロを実行しても正しくトグルしないときやエラーになったときは、'''"'''ダブルクォート'''"'''、カンマ「 ''',''' 」、'''[''' 角カッコ ''']''' の過不足を確認してください。<br>また、単語を別のグループにも重複して登録していないかを確認をしてください(先に登録されたグループを優先的に参照されます)。</span> : → e.g.「'''\[ *(?:0,)? *"|" *, *"|" *\], *'''」 を検索(正規表現)。 = ソースコード = <source lang="javascript"> #title = "True or False" #tooltip = "True と False を切り替える" #icon = "TF.ico" // 選択範囲の文字列が "True" なら "False" に、"False" なら "True" にする // sumemaru 2018/11/20 - 2018/11/27 // ---------- ▼ 設定 ▼ ---------- // ■選択範囲がないときにキャレット位置の単語を自動選択するか?(不要なら false;) var wordSelectionEnable = true; // ■変換後に選択範囲を残すか?(不要なら false;) var leftSelectionEnable = true; // ---------- ▲ 設定 ▲ ---------- var a = new Array( // ←消しちゃダメ // ---------- ▼ 単語グループを登録 ▼ ---------- // 単語を "ダブルクォート" か 'シングルクォート' で囲い、カンマ「 , 」で区切って並べる。 // グループを [ 角カッコ ] で囲い、うしろにもカンマ「 , 」を付けること。 // ※マクロを実行してエラーになったときは、"ダブルクォート"/カンマ「 , 」/[ 角カッコ ] の過不足を確認。 /* Positive or Negative */ [ "True", "False" ], [ "Yes", "No" ], [ "On", "Off" ], [ "Enable", "Disable" ], [ "Positive", "Negative" ], /* (中略) */ [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ], [ "0", "1", "2", "3", "4", "5", "6", "7", "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, dist = str; i < a.length; i ++ ) { if ( ! a[i] ) // 空の要素はスキップ continue; Inner: for ( var j = 0; j < a[i].length; j ++ ) { if ( ! a[i][j] ) // 空の要素はスキップ continue; // ヒットしたら Hoge if ( a[i][j] == str ) { if ( j < a[i].length - 1 ) dist = a[i][ j + 1 ]; else if ( a[i][0] && a[i][0] !== 0 ) dist = a[i][0]; else dist = a[i][1]; break Outer; } // 小文字にしてくらべてヒットしたら else if ( a[i][0] !== 0 && a[i][j].toLowerCase() == str.toLowerCase() ) { // もとの単語の各文字が小文字のみなら hoge if ( str == str.toLowerCase() ) { if ( j < a[i].length - 1 ) dist = a[i][ j + 1 ].toLowerCase(); else if ( a[i][0] ) dist = a[i][0].toLowerCase(); else dist = a[i][1].toLowerCase(); break Outer; } // もとの単語の各文字が大文字のみなら HOGE else if ( str == str.toUpperCase() ) { if ( j < a[i].length - 1 ) dist = a[i][ j + 1 ].toUpperCase(); else if ( a[i][0] ) dist = a[i][0].toUpperCase(); else dist = a[i][1].toUpperCase(); break Outer; } } } } return dist; } </source> = メモ = <!-- 旧バージョン [[ファイル:TrueとFalseを切り替える.zip]] (2018/11/23 sukemaru) --> * 2018/11/25 sukemaru : ソースコードを変更しました。 * 2018/11/27 sukemaru : ソースコードを変更しました。
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク