/ inTopicNo.1)  キーカスタマイズ付加

  
□投稿者/ 使ってます さん ( ) 【219.103.194.105】(2016/04/02(Sat) 09:37:40)

   

     #【ソフト名】 キーカスタマイズ付加
     #【 作 者 】 使ってます
     #【 転載 】 全て許可
     #【なでしこのバージョン】 ver.1.562
     #【  実行 の 注意点  】 
     #【  紹介   】なでしこ勉強をかねて作りました。
     #いろんなサイトやWikiを参考にさせていただきました。この場を借りてお礼申し上げます
     #不具合があれば、適当に修正してください
    /*
    --概要
    メニュー一括作成で使用するメニュー用文字列を使用して、キーカスタマイズできるようにします。
    「キーカスタマイズ」の「メニューデータ」にメニュー用文字列を入れてください
    (入れないと、使用できません)
    可視をオンにすると、キーカスタマイズ可です
    設定したショートカットは、「ショートカットデータ」で配列として入出力できます
    --使い方
    1.左のグリッドを選択して、右側のキーリストをダブルクリックすると、左のグリッドにショートカットが設定されます
    2.左のグリッドをダブルクリックすると、ショートカットの設定が解除されます
    3.「Shift」のチェックをオンにすると、キーリストに「Shift」の一覧が表示されます
    4.「Ctrl」のチェックをオンにすると、キーリストに「Ctrl」の一覧が表示されます
    5.「初期化」ボタンを押すと、ショートカットがメニューデータから読み込んだ初期状態に戻ります
    6.キーカスタマイズを閉じると、設定したものが反映されます
    */


    ■キーカスタマイズ
      ・可視←可視設定
      ・可視設定({整数}V)〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          もし(V>0)ならば、改造枠→モーダル表示
          違えば、改造枠→閉じる
      
      ・ショートカットデータ←Sデータ設定→Sデータ取得
      ・Sデータ取得〜
        それは改造枠→タグ@「Sデータ」
      ・Sデータ設定({配列}V)〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          改造枠→タグ@「Sデータ」=V
      
      ・メニューデータ←Mデータ設定
      ・Mデータ設定({文字列}S)〜
        MenuAとは文字列=「」
        Sを反復
          対象で「,」の出現回数
          もし(それ=5)ならば、MenuAに対象を一行追加
        
        もし(MenuA≠「」)ならば、
          MenuBとは文字列=「」
          現在とは整数=0
          過去とは整数=-1
          過去対象とは文字列=「」
          MenuAを反復
            それから「,」まで切り取る
            それで「-」の出現回数
            現在=それ
            もし(過去+1<>現在)ならば、MenuBに過去対象を一行追加
            過去=現在
            過去対象=対象
          MenuBに過去対象を追加
          
          MenuBをCSV取得
          改造枠→タグ@「Mデータ」=それ
          それの3を表列取得
          改造枠→タグ@「Sデータ」=それ
        
      
      ・左グリッド表示〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          改造枠→タグ@「Mデータ」の2を表列取得
          それの1に改造枠→タグ@「Sデータ」を表列挿入
          それを表CSV変換
          左グリッド→アイテム=「テキスト,ショートカット{改行}」&それ
      
      ・左グリッド更新〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          仮値とは整数=左グリッド→値-1#グリッド用修正
          もし(改造枠→タグ@「Mデータ」の表行数>仮値)&&(右リスト→値≧0)ならば、
            判定とは整数=重複判定(右リスト→テキスト)
            もし(判定=-1)ならば、
              改造枠→タグ@「Sデータ」\(仮値)=右リスト→テキスト
            違えば、
              左グリッド→値=判定+1
              「重複しています」と言う
            左グリッド表示
      
      ・左グリッド消去〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          仮値とは整数=左グリッド→値-1#グリッド用修正
          もし(改造枠→タグ@「Mデータ」の表行数>仮値)ならば、
            改造枠→タグ@「Sデータ」\(仮値)=「」
            左グリッド表示
      
      ・左グリッド初期化〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          「ショートカットを初期化しますか」と二択
          もし(それ=はい)ならば、
            改造枠→タグ@「Sデータ」=改造枠→タグ@「Mデータ」の3を表列取得
            左グリッド表示
      
      ・右リスト表示〜
        キー配列とは配列=「」
        分類とは整数=(Shiftチェック→値=1)+2*(Ctrlチェック→値=1)
        分類で条件分岐
          0ならば、
            12回、キー配列に「F{回数}」を配列追加
          1ならば、
            12回、キー配列に「Shift+F{回数}」を配列追加
          2ならば、
            12回、キー配列に「Ctrl+F{回数}」を配列追加
            26回、キー配列に「Ctrl+{CHR(64+回数)}」を配列追加
            「Home/End/Up/Down/Left/Right」を「/」で区切る
            反復
              キー配列に「Ctrl+{対象}」を配列追加
          3ならば、
            12回、キー配列に「Ctrl+Shift+F{回数}」を配列追加
            26回、キー配列に「Ctrl+Shift+{CHR(64+回数)}」を配列追加
            「Home/End/Up/Down/Left/Right」を「/」で区切る
            反復
              キー配列に「Ctrl+Shift+{対象}」を配列追加
        右リスト→アイテム=キー配列を改行で配列結合
      
      ・重複判定({文字列}仮文字列)〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          判定とは整数=-1
          仮文字列=仮文字列を小文字変換
          改造枠→タグ@「Sデータ」を反復
            対象を小文字変換
            もし(それ=仮文字列)ならば、判定=回数-1。抜ける
          それは判定
      
      ・ショートカットデータ反映〜
        もし(改造枠→タグ@「Mデータ」≠「」)ならば、
          改造枠→タグ@「Mデータ」の1を表列取得して反復
            それ=改造枠→タグ@「Sデータ」\(回数-1)
            「{対象}→ショートカット="{それ}"」をナデシコする
      
      ・作る〜
        ZZとは整数=60#GUIサイズ調整用
        
        改造枠をフォームとして作成
        改造枠→スタイル=「ダイアログスタイル」
        改造枠→背景色=ウィンドウ背景色
        改造枠→クライアントW=392+ZZ+ZZ#数値
        改造枠→クライアントH=400#数値
        改造枠→タイトル=「キーカスタマイズ」#文字列
        改造枠→タグ=「」をハッシュ変換
        改造枠→表示した時は〜
          左グリッド表示
          右リスト表示
        改造枠→閉じた時は〜
          ショートカットデータ反映
        ※ ---
        左グリッドをグリッドとして作成
        左グリッド→親部品=改造枠
        左グリッド→X=8#数値
        左グリッド→Y=8#数値
        左グリッド→W=240+ZZ#数値
        左グリッド→H=384#数値
        左グリッド→アイテム=「」
        左グリッド→ダブルクリックした時は〜
          左グリッド消去
        ※ ---
        右リストをリストとして作成
        右リスト→親部品=改造枠
        右リスト→X=264+ZZ#数値
        右リスト→Y=8#数値
        右リスト→W=112+ZZ#数値
        右リスト→H=240#数値
        右リスト→ダブルクリックした時は〜
          左グリッド更新
        ※ ---
        Shiftチェックをチェックとして作成
        Shiftチェック→親部品=改造枠
        Shiftチェック→X=272+ZZ#数値
        Shiftチェック→Y=272#数値
        Shiftチェック→W=64#数値
        Shiftチェック→H=32#数値
        Shiftチェック→テキスト=「Shift」#文字列
        Shiftチェック→クリックした時は〜
          右リスト表示
        ※ ---
        Ctrlチェックをチェックとして作成
        Ctrlチェック→親部品=改造枠
        Ctrlチェック→X=272+ZZ#数値
        Ctrlチェック→Y=304#数値
        Ctrlチェック→W=64#数値
        Ctrlチェック→H=32#数値
        Ctrlチェック→テキスト=「Ctrl」#文字列
        Ctrlチェック→クリックした時は〜
          右リスト表示
        ※ ---
        初期化ボタンをボタンとして作成
        初期化ボタン→親部品=改造枠
        初期化ボタン→X=272+ZZ#数値
        初期化ボタン→Y=336#数値
        初期化ボタン→W=88#数値
        初期化ボタン→H=32#数値
        初期化ボタン→テキスト=「初期化」#文字列
        初期化ボタン→クリックした時は〜
          左グリッド初期化

    //-------------------------------------------------
    Menuとは文字列=『なし,キーカスタマイズメニュー,キーカスタマイズ,,,
    -,ショートカット表示メニュー,ショートカット表示,Ctrl+N,,
    -,ショートカット型確認メニュー,ショートカット型確認,Ctrl+O,,
    -,-
    -,キー設定メニュー,キー設定,,,
    -,-
    -,閉じるメニュー,終了,Ctrl+Shift+F4,,


    Menuをメニュー一括作成



    SSSとはキーカスタマイズ
    SSS→メニューデータ=Menu

      
    キー設定メニュー→クリックした時は〜
      SSS→可視=オン
      
    ショートカット表示メニュー→クリックした時は〜
      それはSSS→ショートカットデータ
      それを言う

    ショートカット型確認メニュー→クリックした時は〜
      それはSSS→ショートカットデータ
      それの変数型確認を言う

    閉じるメニュー→クリックした時は〜
      終わる


    ※(2017/02/01(Wed) 10:39:16 編集[投稿者])
削除キー/

コメントを記入





Name/
E-Mail/
Title/
URL/
Icon/ (画像を選択/サンプル一覧)
削除キー/ (半角8文字以内)
確認キー/ (”日本語でナデシコ”と記入)
 

Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版