◀ANSI版開発トップへ
  • 1159 外部コマンド実行時に選択文字を渡す
    • 1160 Re: 外部コマンド実行時に選択文字を渡す
      • 1161 Re2: 外部コマンド実行時に選択文字を渡す
      • 1162 Re2: 外部コマンド実行時に選択文字を渡す
        • 1163 Re3: 外部コマンド実行時に選択文字を渡す
        • 1182 Re3: 外部コマンド実行時に選択文字を渡す
  • [1159] 外部コマンド実行時に選択文字を渡す hor 2002年01月15日 17:40

    http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=data&tree=c1097
    ↓
    無茶苦茶手抜きですが、CEditView_Command.CPP の CEditView::Command_EXECCOMMAND で
    for の前あたりに CMemory cmemCurText; を追加し、switch( p[1] ) のcase句に下記ロジックを追加すると、
    $Cでカレントテキストをコマントラインに渡せるようになると思います。
    どなたか、きれいに実装していただけますか?

    case 'C': // CurText
    GetCurrentTextForSearch( cmemCurText );
    strcpy( m_pcEditDoc->m_cDlgFind.m_szText, cmemCurText.GetPtr( NULL ) );
    for( r = m_pcEditDoc->m_cDlgFind.m_szText; *r != '\0' && q < q_max; ++r, ++q )
    *q = *r;
    --q;
    ++p;
    break;
    • [1160] Re: 外部コマンド実行時に選択文字を渡す げんた 2002年01月15日 18:22

      >strcpy( m_pcEditDoc->m_cDlgFind.m_szText, cmemCurText.GetPtr( NULL ) );
      この行は不要でしょう.

      >for( r = cmemCurText.GetPtr( NULL ); *r != '\0' && q < q_max; ++r, ++q )
      でいいのでは?
      • [1161] Re2: 外部コマンド実行時に選択文字を渡す hor 2002年01月15日 18:33

        ▼ げんたさん
        > >strcpy( m_pcEditDoc->m_cDlgFind.m_szText, cmemCurText.GetPtr( NULL ) );
        > この行は不要でしょう.
        >
        > >for( r = cmemCurText.GetPtr( NULL ); *r != '\0' && q < q_max; ++r, ++q )
        > でいいのでは?

        ご指摘の通りです。
        なにかのついでに実装していただけますか?
      • [1162] Re2: 外部コマンド実行時に選択文字を渡す げんた 2002年01月15日 18:35

        current_word.zip という名前でeGroupsに置きました.
        ついでに以前指摘したcEol.GetLine()の修正も行いました.

        $Cで実装しちゃいましたが,$Sという意見も以前すとーにぃさんから出ていたような.
        • [1163] Re3: 外部コマンド実行時に選択文字を渡す やざき 2002年01月15日 18:37

          ▼ げんたさん
          > current_word.zip という名前でeGroupsに置きました.
          > ついでに以前指摘したcEol.GetLine()の修正も行いました.
          >
          > $Cで実装しちゃいましたが,$Sという意見も以前すとーにぃさんから出ていたような.

          すばらしいですね。> horさん、げんたさん
          手元では取り込んでおきます。
        • [1182] Re3: 外部コマンド実行時に選択文字を渡す hor 2002年01月17日 08:50

          ▼ げんたさん
          > current_word.zip という名前でeGroupsに置きました.
          > ついでに以前指摘したcEol.GetLine()の修正も行いました.
          >
          > $Cで実装しちゃいましたが

          IDD_EXEC ダイアログ内の[Note]に $f,$C の説明があったらわかりやすいかも・・・