◀ANSI版開発トップへ
  • 2642 正規表現での置換
    • 2662 RE: 正規表現での置換
      • 2663 RE2: 正規表現での置換
        • 2680 RE3: 正規表現での置換
          • 2681 RE4: 正規表現での置換
  • [2642] 正規表現での置換 みく 2003年03月31日 18:41


    選択始点挿入が動作しない件:

    CEditView_Command.cpp:7459,7484行目で選択範囲をクリア
    してしまっているので、7506行目のGetSelectedData()関数
    入り口でのIsTextSelected()関数がFALSEを返してしまい、
    置換が行われません。
    • [2662] RE: 正規表現での置換 みく 2003年04月02日 18:55


      正規表現での選択始点挿入:
      それっぽく動きますが、テストしてません。


      以下の行をCEditView_Command.cpp:Command_REPLACE():7454行目に挿入

      CMemory cmemory;


      以下の行をCEditView_Command.cpp:Command_REPLACE():7457,7482行目に挿入

      if( (!nPaste) && bRegularExp ){
      GetSelectedData( cmemory, FALSE, NULL, FALSE, m_pShareData->m_Common.m_bAddCRLFWhenCopy /*, EOL_NONE 2002/1/26 novice */ );
      }


      CEditView_Command.cpp:Command_REPLACE():7498行目を削除

      //CMemory cmemory;


      CEditView_Command.cpp:Command_REPLACE():7506-7508行目を削除

      //if( FALSE == GetSelectedData( cmemory, FALSE, NULL, FALSE, m_pShareData->m_Common.m_bAddCRLFWhenCopy /*, EOL_NONE 2002/1/26 novice */ ) ){
      //::MessageBeep( MB_ICONHAND );
      //}
      • [2663] RE2: 正規表現での置換 みく 2003年04月03日 19:29


        ぜんぜん駄目でしたので、取り消します。
        • [2680] RE3: 正規表現での置換 みく 2003年04月15日 19:37


          正規表現の置換で、
          選択始点挿入、
          選択終点追加
          をできるようにしてみました。

          なお、"^.*$" のように "$" を使用すると、
          0x0aコードが挿入されてしまいます。
          多分、改行コード 0x0d0x0a のうち $は0x0dにだけマッチして
          0x0aが残ってしまうものと思われます。
          "^.*\r\n" としてください。

          #全置換のほうは直してません。
          • [2681] RE4: 正規表現での置換 みく 2003年04月15日 19:39


            →replace20030415.zip です。