=====================================================================
【 名  称 】    TextFilter.dll
【Version 】    Version 4.0.4
【制作者名】    Delフサギコミ゚Д゚彡
【 e-mail 】    delfusa@ホットメール.com
【HomePage】    http://delfusa.main.jp/delfusafloor/
【動作環境】    EmEditor v3.0以上 
                Windowd2000/WindowsXP
【動作確認】    EmEditor Version 6.00.4
                Windowd2000/WindowsXP
【 種  類 】    フリーソフト
【転載条件】    雑誌掲載の場合、作者にメールお知らせください。
                その他の転載の場合はご自由に。
======================================================================
【内容紹介】
 このTextFilter.dllプラグインは入力ダイアログで文字を指定してテキスト
ファイルからその文字が含まれる行を抽出したり排除することの出来る
EmEditorプラグインです。

大量のログから目的の行を抽出する機能として便利に使えます。Linuxで言う
ところのgrepによるフィルタリング機能と同じような役割を果たします。ただ
し、*(=アスタリスク)を使用したワイルドカードや正規表現での記述には対
応していません。


【使い方】
 動作画面は次のようになります。



 このプラグインを起動するとメニューが表示されます。

[大小文字を区別しない][検索結果内容を先頭に追加する]は
オプション機能でチェックのON/OFFができます。

[指定した文字を含む行を抽出][指定した文字を含む行を排除]
[EmEditor標準[ファイルから検索]を使い行を抽出]
を押すと入力ダイアログが表示されます。



このダイアログが出ている時はEmEditorの動作が止まりますので気をつけてく
ださい。開いたタブを持つWindowが停止するだけで複数のWindowを開いている
場合は検索対象タブを含むWindowの動作だけが停止します。

ここでOKを押すと、新しいタブが開かれてそこに抽出結果が出力されます。

例をあげると
    ────────────────────
    AAA
    BBB
    CCC
    ABC
    AAABBB
    CCCBBB
    ────────────────────
        ↓Aで抽出
    ────────────────────
    AAA
    ABC
    AAABBB
    ────────────────────
        ↓Cで排除
    ────────────────────
    AAA
    AAABBB
    ────────────────────
このような結果になります。


◆[指定した文字を含む行を抽出][指定した文字を含む行を排除]を選択した場
合はプラグイン独自実装機能により、行の抽出排除を行います。

単一行を選択している場合は入力ダイアログにその文字が入ります。複数行を
選択している場合は、選択した範囲の行に対してテキストフィルタ処理を行い
ます。

[検索結果内容を先頭に追加する]をチェックしている場合、新しく開かれたタ
ブの文章の先頭に次の文字列が追加されます。
    ────────────────────
    元ファイル:c:\textfilter\readme.html
    抽出した文字:【
    出力結果:変換前:158行 >> 変換後:15行    
    -----
    …省略…
    ────────────────────
これで検索結果によるフィルタリング効果をすぐに判断できます。


◆[[ファイルから検索]機能で行を抽出]を選択した場合はEmEditorのファイル
検索機能を使って行を抽出します。新しく開かれたタブの抽出されたテキスト
に対してタグジャンプ機能が使えます。

現在開いているファイルに対してのみファイル検索機能を実行しているので
EmEditorのgrep機能を、より便利に使えます。

[[ファイルから検索]機能で行を抽出]の機能は次の制限があります。
・[検索結果内容を先頭に追加する]の機能は使えない
・行の抽出は行えるが、排除は行えない。
・保存されていないファイル、つまり無題タブに対しては実行できない
・ファイル全体がフィルタ対象になり選択範囲だけを抽出する事はできない。

適宜、プラグイン独自実装機能である[指定した文字を含む行を抽出][指定し
た文字を含む行を排除]と使い分けてください。


【インストール/実行方法】
 ダウンロードしたTextFilter.zipを展開すると以下のようなファイル
が現れます。
−−−−−−−−−−−
    TextFilter.dll(プラグイン本体)
    TextFilter_InputBox.exe(プラグインから使う入力用プログラム)
    TextFilter_ForVista.dll(プラグイン本体 Vista用)
    readme.html(このファイル)
    readme_image(このファイルの画像フォルダ)
−−−−−−−−−−−
・Windows2000/WindowsXPの場合
インストール作業はTextFilter.dllとTextFilter_InputBox.exeをEmEditorの
プラグインフォルダに配置してください。標準では下記フォルダになります。
    C:\Program Files\EmEditor\PlugIns
配置してからEmEditorを起動すると自動認識します。

・WindowsVistaの場合
TextFilter_ForVista.dllをEmEditorプラグインフォルダに配置してください。

・プラグイン本体が二つに分かれている理由
 TextFilter_ForVista.dllはVista専用というわけではなく、Win2000やWinXP
でも動作します。ただし、このファイルはDLLサイズが400KBを超えプラグイン
としてEmEditorの起動速度などに影響を与える度合いが大きく使い勝手が悪い
場合があると考え、通常のものはTextFilter.dllとTextFilter_InputBox.exe
に分割しています。ダイアログ入力時だけexeを起動しています。そうすると
EmEditorには負担が少なくなります。
 WindowsVistaの場合、DLLからExeを起動することがセキュリティ上問題にな
り起動ができないようなので、機能を一つのDLLにまとめてみました。どちら
でも動く方を利用してください。


【アンインストール方法】
 EmEditorが起動していない状態でEmEditorのプラグインフォルダ
    C:\Program Files\EmEditor\PlugIns
こちらから
−−−−−−−−−−−
    TextFilter.dll
    TextFilter_InputBox.exe
    TextFilter_ForVista.dll
    TextFilter.ini
−−−−−−−−−−−
これらのファイルが存在すればそれを削除してください。

EmEditorのプラグインの設定画面からアンインストールを選択しても
DLLしか削除されません。ご注意ください。


【更新履歴】
2007/08/01  ver1.0
・作成
2007/08/08  ver2.0
・大小文字を区別するのON/OFFフラグを追加
・ヘッダ文字列を追加するON/OFFフラグを追加
2007/08/09  ver2.1
・内部的に変数を減らして少しは高速化した。
2007/08/18  ver2.2
・Iniの項目を若干変更した
2007/08/18  ver3.0
・ファイルから検索機能を実装した
2007/08/18  ver3.1
・ファイルから検索機能がいまいち動かないバグを修正
・メニュー構成を変更EmEditorファイルから検索機能を使用するのに
  MenuのチェックON/OFFかで条件判断することはやめた
2007/08/19  ver3.1.1
・メニューの文言を変更
  『EmEditor標準[ファイルから検索]を使い行を抽出』
  を『[ファイルから検索]機能で行を抽出』に変更した。
2007/08/19  ver3.2
・『[ファイルから検索]機能で行を抽出』で抽出されたタブに対して
  もう一度[ファイル]から検索を出来ないようにした
2007/08/27:ver3.3
・InputBoxダイアログの表示位置を
  メインウィンドウの中央にして最前面表示にもした。
2007/08/31:ver4.0
・PluginフォルダをEmEditorの設定レジストリから求めるようにした
・前回入力値を保存する処理にバグがあったので修正
・単一行選択での起動の場合、入力欄に選択文字が入るようにした
・入力ダイアログボックスに履歴機能をつけた
・アイコンを変更した
2007/09/01:ver4.0.1
・C:\Program Files\EmEditor等のスペースを含むパスにPluginフォルダがある場合
  動作しなかったので修正した。
2007/09/02:ver4.0.2
・Vista用の1DLL版を梱包した為にVersionをそろえた
2007/09/02:ver4.0.3
・ForVista版にバグがあったので修正
2007/09/05  ver4.0.4
・[ファイルから検索]機能で行を抽出
  の機能がBatファイル系の処理なのでCreateProcessに変更した
・WindowsVistaで、C:\Program Files以下のフォルダにデータを書き込むと
  エラーが発生するので、書込先を変更するコードをいれた
  変更後の書込先は[C:\Users\[ユーザ]\AppData\Roaming\EmEditor\PlugIns]になる。
  この処理はOSがVista(or Server2008)で
  Program Files以下にプラグインフォルダを配置している時だけ動作する。
=====================================================================