◀ANSI版開発トップへ
  • 1116 置換がおかしい
    • 1117 Re:置換がおかしい
      • 1126 Re2:置換がおかしい
        • 1129 Re3:置換がおかしい
          • 1133 Re4:置換がおかしい
    • 1118 Re: 置換がおかしい
  • [1116] 置換がおかしい masanobicchi 2002年01月09日 12:46

    置換する時、いつも置換したい文字列をマウスでググッと
    ドラッグして選択してからCtrl-Rを押して置換始めるのですが、
    最初の選択している所が置換されないで、次に
    検索でひっかかる文字列が置換される時があります。
    12月19日のバージョンを今使ってます。
    以前はこの現象は起こりませんでした。
    • [1117] Re:置換がおかしい hor 2002年01月09日 13:43

      ▼ masanobicchiさん
      > 置換する時、いつも置換したい文字列をマウスでググッと
      > ドラッグして選択してからCtrl-Rを押して置換始めるのですが、
      > 最初の選択している所が置換されないで、次に
      > 検索でひっかかる文字列が置換される時があります。
      > 12月19日のバージョンを今使ってます。
      > 以前はこの現象は起こりませんでした。

      下記の変更で修正できると思います。次のリリース時に取込んでいただけますか?→管理者

      1/8版CDlgReplace.cppの486行~490行のかわりに以下のロジックを入れる。

      // 選択エリアがあれば、その先頭にカーソルを移す
      if( pcEditView->IsTextSelected() ){
      if( pcEditView->m_bBeginBoxSelect ){
      pcEditView->MoveCursor( pcEditView->m_nSelectColmFrom,
      pcEditView->m_nSelectLineFrom,
      TRUE );
      }else{
      pcEditView->HandleCommand( F_LEFT, TRUE, 0, 0, 0, 0 );
      }
      }
      • [1126] Re2:置換がおかしい やざき 2002年01月09日 21:58

        ▼ horさん
        > ▼ masanobicchiさん
        > > 置換する時、いつも置換したい文字列をマウスでググッと
        > > ドラッグして選択してからCtrl-Rを押して置換始めるのですが、
        > > 最初の選択している所が置換されないで、次に
        > > 検索でひっかかる文字列が置換される時があります。
        > > 12月19日のバージョンを今使ってます。
        > > 以前はこの現象は起こりませんでした。
        >
        > 下記の変更で修正できると思います。次のリリース時に取込んでいただけますか?→管理者
        >
        > 1/8版CDlgReplace.cppの486行~490行のかわりに以下のロジックを入れる。
        >
        > // 選択エリアがあれば、その先頭にカーソルを移す
        > if( pcEditView->IsTextSelected() ){
        > if( pcEditView->m_bBeginBoxSelect ){
        > pcEditView->MoveCursor( pcEditView->m_nSelectColmFrom,
        > pcEditView->m_nSelectLineFrom,
        > TRUE );
        > }else{
        > pcEditView->HandleCommand( F_LEFT, TRUE, 0, 0, 0, 0 );
        > }
        > }

        masanobicchiさん、報告ありがとうございます。
        そして修正thanx. > hor

        取り込みます。
        • [1129] Re3:置換がおかしい やざき 2002年01月09日 23:45

          > > 下記の変更で修正できると思います。次のリリース時に取込んでいただけますか?→管理者
          > >
          > > 1/8版CDlgReplace.cppの486行~490行のかわりに以下のロジックを入れる。
          > >
          > > // 選択エリアがあれば、その先頭にカーソルを移す
          > > if( pcEditView->IsTextSelected() ){
          > > if( pcEditView->m_bBeginBoxSelect ){
          > > pcEditView->MoveCursor( pcEditView->m_nSelectColmFrom,
          > > pcEditView->m_nSelectLineFrom,
          > > TRUE );
          > > }else{
          > > pcEditView->HandleCommand( F_LEFT, TRUE, 0, 0, 0, 0 );
          > > }
          > > }
          >
          > masanobicchiさん、報告ありがとうございます。
          > そして修正thanx. > hor
          >
          > 取り込みます。

          これって一括置換のほうもですか? > hor
          • [1133] Re4:置換がおかしい hor 2002年01月10日 12:29

            ▼ やざきさん
            > これって一括置換のほうもですか? > hor

            一括置換はそのままでだいじょうぶです。
            ・・・よろしくお願いします。
    • [1118] Re: 置換がおかしい げんた 2002年01月09日 14:03

      >置換する時、いつも置換したい文字列をマウスでググッと
      >ドラッグして選択してからCtrl-Rを押して置換始めるのですが、
      >最初の選択している所が置換されないで、次に
      >検索でひっかかる文字列が置換される時があります。

      予想するに、選択後にキャレットが選択位置の最後にあるとそこから次の文字列を探すので選択されたものが置換対象にならないのではないでしょうか。選択されている場合はキャレット位置ではなく選択範囲の先頭から探索を開始する必要がありますね。

      置換に関しては大きく作り替えられているので、その際に考慮が漏れていたのではないかと思います。