検索行前後抽出.Mac No.01263
なむnomoto さん 00/03/27 17:29
 

 山紫水明さん、
         なむnomotoです

  マクロをご提示頂き、有り難うございます。やってみました。
  こちらで新ツリーにしました。

  おおおおお、色々動きますね。目を見張ってまして、
  きょろきょろ。
  あ、[1234  行前後]などとと記入された、数十行表示の
  ファイルができました。
>    setclipboard "[" + str(#line) + " 行前後]";
  これですね。

  ええと、抜き出したファイルは、どこに有るのでしょうか。
  抜き出したファイルは、秀丸で表示されないのですか?

  それと、下記は、私が何か数値を記入する必要があるのでしょうか。 
>    if (#n > 25) call Write;    //クリップボード履歴バッファの
>    movetolineno 1, #line;      //大きさによりこの数字を変える

  またもや、私が半可通なら、教えて下さいませ。
                   m(_・_)m

[ ]
RE:01263 検索行前後抽出.Mac No.01266
山紫水明 さん 00/03/27 20:13
 
    なむnomotoさん こんばんは。

》  ええと、抜き出したファイルは、どこに有るのでしょうか。
》  抜き出したファイルは、秀丸で表示されないのですか?

  [1234  行前後]などの次に出てくるはずなのですが。
 クリップボードの動きが私にもよくわからないところがあります。
 最後の行(73行目)の return の前に,
clearcliphist;      //クリップボード履歴の消去
の1行を入れてみて下さい。

 これで動かないと以下のことは意味がありませんが。(^^;
》  それと、下記は、私が何か数値を記入する必要があるのでしょうか。
》>    if (#n > 25) call Write;    //クリップボード履歴バッファの
》>    movetolineno 1, #line;      //大きさによりこの数字を変える
 ここも説明不足でした。なにしろできあがったばかりでしたもので。(^^;
  このマクロのためには,動作環境で「クリップボードの履歴をとる」に設定する
必要があります。
 で,そのバッファサイズを私の場合100にしています。はっきりした根拠はない
のですが,だいたいその4分の1くらいの数字を入れればいいのではと思います
が,前後の行数の取り方によって違ってくるかも知れません。少し試してみてくだ
さい。

 とりあえずは,これでやってみて下さい。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01266 検索行前後抽出.Mac No.01267
山紫水明 さん 00/03/27 23:16
 
    なむnomotoさん こんばんは。追伸です。

 以下のように改良してみました。わたしの環境では,これで10万行ほどの文書か
らも前後行合わせて検索して書き出しできます。
 クリップボードの大きさなどの曖昧な部分を残して心配をおかけするのもやめま
した。(^^;

 では, (^^)/~
                                        山紫水明

// ---------------- 検索行前後抽出.Mac ------------------------------- //

call Set_ClipHist;
disabledraw;
disableinvert;
#Tn = 0;    //データ総数
#n = 0; //カウント用
#ch = #ch/4;    //クリップボードの履歴サイズによる設定
#handle_1 = hidemaruhandle(0);
if( overwrite ) { overwriteswitch; #ows = 1; }
clearcliphist;      //クリップボード履歴の消去
if(selecting) copy;
    else copyword;
    beginclipboardread;     //クリップボードからの取り込み開始宣言
    $s = getclipboard;      //クリップポードから1行取り込み
$search = input("検索語を入れてください", $s);
if ( $search == "" ) endmacro;
setsearch $search, searchoption;
if(imestate){imeswitch; #switch = 1;}
#prev = val(input("前取得行数は? ", "1"));
#next = val(input("後取得行数は? ", "1"));
if(#switch) imeswitch;
newfile;
#handle_2 = hidemaruhandle(0);
setactivehidemaru #handle_1;
gofileend;
while (1) {
    findup;
    if (!result) {
    call Write;
    break;
    }else{
    #line = lineno;
    movetolineno 1, #line - #prev;
    beginsel;
    movetolineno 1, #line + #next + 1;
    copy;
    setclipboard "[" + str(#line) + " 行前後]";
    #Tn = #Tn + 1;
    #n = #n + 1;
    if (#n > #ch) call Write;
    movetolineno 1, #line;
    }
}

$file = basename2;
setactivehidemaru #handle_2;
gofiletop;
insert "ファイル名:" + $file + "\n";
insert "検索語 「" + $search + "」を含む,前"+ str(#prev)
        + "行,後" + str(#next) + "行です。\n";
insert "検索個数は " + str(#Tn) + " です。\n";
if( #ows ) overwriteswitch;
call Reset_ClipHist;
endmacro;

Write:      //新ファイルに記入
setactivehidemaru #handle_2;
gofiletop;
insertreturn;
while(#n){
    poppaste;
    insertreturn;
    poppaste;
    insertreturn;
    #n = #n - 1;
}
backspace;          //最下行の改行マーク削除
setactivehidemaru #handle_1;
clearcliphist;      //クリップボード履歴の消去
return;

Set_ClipHist:   //クリップボ−ド履歴取得状態の保存・変更
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#och =  getregnum("ClipHist");
#ch = 200;
if (#och < #ch) {           //履歴を取るに変更
    writeregnum "ClipHist",#ch;
    #chchange = 1;
    envchanged;
}else #ch = #och;
closereg;
return;

Reset_ClipHist:     //元に戻す
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
if (#chchange) {
  writeregnum "ClipHist",#och;
  envchanged;
}
closereg;
return;
// ----------------------------------------------------------- //


[ ]
RE:01267 検索行前後抽出.Mac No.01269
なむnomoto さん 00/03/28 10:36
 

  山紫水明さん
            なむnomotoです

  すごい!!!
    すごい!!!
       スゴイ!!!\(^o^)/
  できました。労作ありがとうございます。

 作業している状態が見えるのも、動いてる実感が湧きます。
  見事に、表示されています。
  ファイルラストまで、きちんと抜き出されています。

 前2行 後ろ4行 数百件がキチンと乱れもせず、
  表示されました。数回実行しただけですが。
  **時々、空行が増えているのがありますが、問題ないです。

  これで今回の希望が取り込まれてしまって、完結してしまい
  ました。良いなあ〜。嬉しいなあ〜。感謝。感激。
  これで、秀丸前後行取得grepが可能になりました。

  ところが私の強欲が出てきました。
         # 申し訳ないというか済みません。

◎  これは別の文献検索にも使えそうです。んで、

■表示
 1○ 抽出結果は、現在1件ごとに空改行ですが、ひょっとすると、
    **********************
    とか、
    ++++++++++++++++++++++
    とかの区切りが入ると良いかも知れません。

  2○  タグジャンプできるように「タグ付きにしますか」とか
    メニュウが出て、付けられるようになると良いかも知れません。

■検索しようとした場合には、次のような場合も有ります。
 1○
妙法華6不輕品20,T9,50c,4,2,爲求聲聞者。説應四諦法。,8
妙法華6不輕品20,T9,50c,5,8,度生老病死究竟涅槃。爲求辟支佛者。説應十二因縁
法。,2
妙法華6不輕品20,T9,50c,6,2,爲諸菩薩因阿耨多羅三藐三菩提。,5
妙法華6不輕品20,T9,50c,7,5,説應六波羅蜜法究竟佛慧。得大勢。是威音王佛。,2
^^^^^^^^^^^行情報^^^^^^^^^^  ^^^^^^^^^^^^^^^^^検索したい部分^^^^^^^^^^^^
        この場合は、行情報部分を除いて
        このフィールドを避けて、本文検索したい場合のオプションが
        設定できると良いなあとか思います。
        このフールドには、色々あり得るので、
        ","何個より右側とか
        ":"何個より右側とか
        ")"何個より右側とか
             # どこかQgrepをライバル視していますが。(^^;)

 2○ あいまい検索は、,fuzzy, と書けば、可能なんですよね。
     「あいまい検索可能にしますか?」 とメニューがあると
     良いんですが。私の場合は、漢字の新旧同時検索ができる
     ようにjre32.dat をセットしています。

 3○ フォルダ検索とか、サブフォルダ検索とかのメニューも
   あると良いなあ、とかもあったりします。

  いろいろ、勝手な事を書いて済みません。急いではいませんが
    こういうgrepが秀丸でできたら良いなあという、希望が昔から
    あったんです。(^^;)

 


[ ]
RE:01269 検索行前後抽出.Mac No.01273
ENCODINGSHIFTJIS さん 00/03/28 14:54
 
>    メニュウが出て、付けられるようになると良いかも知れません。

まるでDBソフトの「誕生の歴史」を追体験しているようだ。

昔、UNIX の人々もテキストのDBを利用していた、その頃のコマンドは
今でもUNIXコマンドとして残っている。(使う人はもういないと言ってよい、
フリーのDBソフトがUNIXではいくつかあるので。)
前後行取得も意味的な言い方では文脈とか1レコードのビュー(窓)なの
でしょう。10万行ならファイルのプロパティも読み取り専用に違いない。
前後行取得程度ならいいですが、ペタテキストに当てるマクロであまり
書き込む加工は心配です。

SQL の式は MS-Access から Oracle まで使えます。
SELECT <抽出項目> FROM <DB名> WHERE <抽出条件>
です。
SELECT * FROM 教典.DB WHERE 行項目 LIKE '%検索文字列%'
* は1レコードの全項目
% は任意の文字列

WIN では適当なソフトが無いのかもしれないが、秀丸のマクロは
世界征服指向の万能言語ではないので無理に作り込まないことです。

経験から考えて、10万行のベタテキストを保守する気分にならない。
DBを動かせる人を早く見つけたほうがいいと思います。

 __e__

[ ]
RE:01269 検索行前後抽出.Mac No.01274
山紫水明 さん 00/03/29 00:13
 
    なむnomotoさん こんばんは。

》  できました。労作ありがとうございます。
 ご期待にそえてなによりです。

》  **時々、空行が増えているのがありますが、問題ないです。
 実はこれが気になります。取得行数が多いとクリップボードに取り残しているの
かも知れないと恐れます。実際以上に空行があるようでしたら,本当に問題がない
かどうか確認してください。

》  ところが私の強欲が出てきました。
 煩悩は果てなし(^^;

》 1○ 抽出結果は、現在1件ごとに空改行ですが、ひょっとすると、
》    **********************
》    とか、
》    ++++++++++++++++++++++
》    とかの区切りが入ると良いかも知れません。
 これは,さしあたり,
while(#n){
    poppaste;
    insertreturn;
    poppaste;
    insertreturn;
    #n = #n - 1;
}
のところの2番目の
    insertreturn;

insert "**************************************\n";
に変えてみてください。(これもメニューで選べるようにできるでしょう)

》 2○ あいまい検索は、,fuzzy, と書けば、可能なんですよね。
》     「あいまい検索可能にしますか?」 とメニューがあると
》     良いんですが。私の場合は、漢字の新旧同時検索ができる
》     ようにjre32.dat をセットしています。
 さしあたり,これは,直前にあいまい検索をやると,searchoption に保存され
ていますから,多分できると思います。オプションでできるかどうか考えてみまし
ょう。

》 3○ フォルダ検索とか、サブフォルダ検索とかのメニューも
》   あると良いなあ、とかもあったりします。
 ウーン,これはちょっと。ファイル名に規則的な番号でもついていればできるか
も知れませんが。

 とりあえずこれくらいで。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01269 検索行前後抽出.Mac No.01277
山紫水明 さん 00/03/30 20:24
 
    なむnomotoさん こんばんは。

 少し手を加えてみました。あちこち手が入っていますので,再度全文アップし
ます。

// ---------------- 検索行前後抽出.Mac ------------------------------- //
call Set_ClipHist;
disabledraw;
disableinvert;
#Oso = searchoption;    //検索オプションの保存
$file = basename2;
#Tn = 0;    //データ総数
#n = 0; //カウント用
#ch = #ch/5;    //空白行が出るようであれば,この除数値を大きくする
#handle_1 = hidemaruhandle(0);
if( overwrite ) { overwriteswitch; #ows = 1; }
clearcliphist;      //クリップボード履歴の消去
if(selecting) copy;
    else copyword;
    beginclipboardread;     //クリップボードからの取り込み開始宣言
    $s = getclipboard;      //クリップポードから1行取り込み
$search = input("検索語を入れてください", $s);
if ( $search == "" ) goto End;

Searchmenu:
menu "&1 通常検索",
     "&2 正規表現による検索",
     "&3 あいまい検索",
     "&4 元の設定";
#r = result;
if(!#r) goto End;
else if(#r == 1) #s_option = 0;
else if(#r == 2) #s_option = 16;
else if(#r == 3) #s_option = 48;
else if(#r == 4) #s_option = #Oso;
else goto Searchmenu;
setsearch $search, #s_option;
if(imestate){imeswitch; #switch = 1;}
#prev = val(input("前取得行数は? ", "1"));
#next = val(input("後取得行数は? ", "1"));
if(#switch) imeswitch;

$separator[1] = "*****************************************************";
$separator[2] = "+++++++++++++++++++++++++++++++++++++++++++++++++++++";
$separator[3] = "-----------------------------------------------------";
$separator[4] = "";

Separatormenu:
menu "&1 " + $separator[1],
     "&2 " + $separator[2],
     "&3 " + $separator[3],
     "&4 改行のみの行" + $separator[4],
     "      <区切りを選んでください> Escで終了";
#r = result;
if(!#r) goto End:
if(#r > 5) goto Separatormenu;
$separator = $separator[#r] + "\n";

newfile;
insert $separator + "                                 以上です。 "
        + date + " " + time +"\n";  //ここは何でもいい(^^;
#handle_2 = hidemaruhandle(0);
setactivehidemaru #handle_1;
gofileend;
while (1) {
    findup;
    if (!result) {
    call Write;
    break;
    }else{
    #line = lineno;
    movetolineno 1, #line - #prev;
    beginsel;
    movetolineno 1, #line + #next + 1;
    copy;
    setclipboard $file + "(" + str(#line) + "):";
    #Tn = #Tn + 1;
    #n = #n + 1;
    if (#n > #ch) call Write;
    movetolineno 1, #line;
    }
}
setactivehidemaru #handle_2;
gofiletop;
//insert "ファイル名:" + $file + "\n";     //必要ならばつける
insert "検索語 「" + $search + "」を含む,前 " + str(#prev)
        + " 行,後 " + str(#next) + " 行です。\n";
insert "検索個数は " + str(#Tn) + " です。\n";

End:
if( #ows ) overwriteswitch;
call Reset_ClipHist;
setsearch $search, #Oso;
endmacro;

Write:      //新ファイルに記入
setactivehidemaru #handle_2;
gofiletop;
insertreturn;
while(#n){
    insert $separator;
    poppaste;
    insertreturn;
    poppaste;
    #n = #n - 1;
}
setactivehidemaru #handle_1;
clearcliphist;      //クリップボード履歴の消去
return;

Set_ClipHist:   //クリップボ−ド履歴取得状態の保存・変更
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#och =  getregnum("ClipHist");
#ch = 200;
if (#och < #ch) {           //履歴を取るに変更
    writeregnum "ClipHist", #ch;
    #chchange = 1;
    envchanged;
}else #ch = #och;
closereg;
return;

Reset_ClipHist:     //元に戻す
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
if (#chchange) {
  writeregnum "ClipHist", #och;
  envchanged;
}
closereg;
return;
// ----------------------------------------------------------- //

**************************************************************
》■検索しようとした場合には、次のような場合も有ります。
》妙法華6不輕品20,T9,50c,6,2,爲諸菩薩因阿耨多羅三藐三菩提。,5
》妙法華6不輕品20,T9,50c,7,5,説應六波羅蜜法究竟佛慧。得大勢。是威音王佛。,2
》^^^^^^^^^^^行情報^^^^^^^^^^  ^^^^^^^^^^^^^^^^^検索したい部分^^^^^^^^^^^^
》        このフールドには、色々あり得るので、
》        ","何個より右側とか
》        ":"何個より右側とか
》        ")"何個より右側とか

 これについては,検索後に次のマクロで処理できると思います。もし単独で用い
られるなら最初の2行は不要でしょう。親マクロの endmacro; の直前に挿入され
てもいいと思います。

// ----行情報削除.Mac------------------------------- //
question "行情報を取り除きますか?";
if(!result) endmacro;
$mark = input("削除する記号", ",");
#number = val(input("行頭からの個数"));
$delete = "^";
#c = 0;
while(#c < #number){
$delete = $delete + "[^" + $mark + "]*" + $mark;
#c = #c + 1;
}
replaceallfast $delete + "\\f","\\1",regular;
endmacro;
// --------------------------------------------- //

****************************************************************
》 3○ フォルダ検索とか、サブフォルダ検索とかのメニューも
》   あると良いなあ、とかもあったりします。

 フォルダーの中の不特定のファイルを次々に全部開ける方法があればいいのです
が。ファイル名を特定できないと今のところ難しいです。誰か教えていただければ
ありがたいのですが。

****************************************************************
## いうまでもないことですが,秀丸あるいは Windows も時々機嫌を損ねて何
をするかわかりません。(^^;
 このマクロはテキスト本体には何の手も加えないはずですが,絶対にないとは保
証できませんので,バックアップは必ずとってから実行してください。大切な教典
を傷つけるようなことがあれば,私に仏罰が下るかも(^^;

 では, (^^)/~
                                        山紫水明


[ ]
RE:01277 検索行前後抽出.Mac No.01278
なむnomoto さん 00/03/30 20:42
 

  山紫水明さん
           なむnomotoです

 おお、すごい。今見たばかりです。
 検索行前後抽出.Mac
 フィールド指定grep
 私の強欲ほぼ全部が満たされている感じで、感謝します。
 早速、実行してみます。

> このマクロはテキスト本体には何の手も加えないはずですが,絶対にないとは保
>証できませんので,バックアップは必ずとってから実行してください。大切な教典
>を傷つけるようなことがあれば,私に仏罰が下るかも(^^;
>

  大丈夫じゃないかな。ファイルは書き込み禁止にして置きます。
 書き込めない、cd-romから読み込むとかやってみます。
 こういう場合は、電脳仏罰というんでしょうか。それなら、
 もう私に下ってますから、これからじゃんじゃん下るのは喜んで
 拝受いたします。
  山紫水明さんに当たることは無いでしょう。(^^;)
 取りあえず、ご報告。
 


[ ]
RE:01273 検索行前後抽出.Mac No.01279
なむnomoto さん 00/03/30 21:00
 

 ENCODINGSHIFTJIS さん
             なむnomotoです


>まるでDBソフトの「誕生の歴史」を追体験しているようだ。

 うう、そんな原始的な話を私はしてるんですか(・_;)
  ちょっと情けなくなってきました。
 最新版DBソフトを探してみます。

>前後行取得程度ならいいですが、ペタテキストに当てるマクロであまり
>書き込む加工は心配です。

 友人のデータの書き込みは、今後は多分無いでしょう。
 詳しいことは、解りませんが、このリストは、過去の
 論文目録です。ですから、一度完成すれば、後は追加
 だけでしょう。

>WIN では適当なソフトが無いのかもしれないが、秀丸のマクロは
>世界征服指向の万能言語ではないので無理に作り込まないことです。
>
>経験から考えて、10万行のベタテキストを保守する気分にならない。
>DBを動かせる人を早く見つけたほうがいいと思います。

 がは、「秀丸」エディタは世界征服指向のエディタかと思って
 いました。(^^;)
 別件ですけど、私の作成中のは、
 仏典のデータは、9Mb(30万行位)で、1字索引にすると430MBくらいに
 なりそうです。これはペタテキストになると思います。
  #ファイルは分けてありますけど。
    #現在完成済みは、1faile 10万行 7MBです。
       http://www.biwa.ne.jp/~namu007
 「秀丸」エディタのマクロ検索で、結構早いです。
 もっとも、これはアップデートするものではないですから、
 検索して、コピー・タグジャンプくらいでしょうか。
 DBよりは簡単で便利だと思っていますが、うう〜ん、DBが
 やはり良いのでしょうか。
                       なむnomoto__

[ ]
RE:01279 検索行前後抽出.Mac No.01280
ENCODINGSHIFTJIS さん 00/03/31 10:18
 
テキストでDB操作をしていた頃の雰囲気は以下の様でした。
長文ですから暇なときに。
http://eve.mogami-wire.co.jp/unix/unix-bg.html

ここで書かれた状況はプログラマの能力が無いと実現しません。
やはり、DBソフトのパッケージで包まないとオジサンは動かせません。

Web用の全文検索システムもいろいろあるし(MANAZU,SUFARY...)
http://www.kusastro.kyoto-u.ac.jp/~baba/wais/other-system.html
MS-SQL-Server もテキスト検索のインデックスを使えるようになる。

巨大データを保守するには専門技能が必要です。
秀丸も一つの手段です。あと、プログラムを長期に管理するしくみ
も考えないと。作るだけ作って人事異動で担当者がいなくなると
Excel や Word のマクロが宙に浮いて項目追加すらできなくなります。

__e__

[ ]
RE:01277 検索行前後抽出.Mac No.01282
なむnomoto さん 00/03/31 12:46
 
  山紫水明さん
            なむnomotoです

 検索行前後抽出2.Mac をありがとうございます。
 見事に抜き出されました。
 区切り線も入りました。
 単純なgrepと、抽出.macの件数は、ぴたりと一致してます。
 まだ、各種メニューを全部試してませんが、多分大丈夫でしょう。
 正規表現が選択できて、良いですね。
  #正規表現+あいまい検索 があっても良いかも知れません。
 色々応用できそうです。

 ただ、ちょっと、
>》■検索しようとした場合には、次のような場合も有ります。
>》妙法華6不輕品20,T9,50c,6,2,爲諸菩薩因阿耨多羅三藐三菩提。,5
>》妙法華6不輕品20,T9,50c,7,5,説應六波羅蜜法究竟佛慧。得大勢。是威音王佛。,2
>》^^^^^^^^^^^行情報^^^^^^^^^^  ^^^^^^^^^^^^^^^^^検索したい部分^^^^^^^^^^^^
>》        このフールドには、色々あり得るので、
>》        ","何個より右側とか
>》        ":"何個より右側とか
>》        ")"何個より右側とか
>
> これについては,検索後に次のマクロで処理できると思います。もし単独で用い
>られるなら最初の2行は不要でしょう。親マクロの endmacro; の直前に挿入され
>てもいいと思います。

  わ、有り難うございます。ととと、
  私の説明が悪いようです。これは削除してしまうんでしょ。
》        このフールドには、色々あり得るので、
》        ","何個より右側とか
》        ":"何個より右側とか
》        ")"何個より右側とか
 これは、検索の時に、"妙法華6不輕品20,T9,50c,7,5," のような部分を
 検索対象からはずして、検索するために必要なんです。この部分に、
 検索文字と同じものがあると、検索ヒットしてしまいますから、
 これを外して、右側だけ検索するとかの方法です。
 表示には、^^^行情報^^^部分が必要なんです。

 この場合だけだと、ええと、カンニング(^^;)
   grep ",[^,]*" +$$s_str+ "[^,]*,.+$",$f,hidemarudir,fuzzy;
 なんてことで良いんですよね?
 この外す部分が数種あれば、良いのではないかと言うことです。

  grep後ファイルだと、"ファイル名(行数):" が行頭に付きますから、
  これだと ":" より右側検索で良いですよね。あれ?この場合は、
  grep後ファイルにファイル名がないといけないんでしたっけ?
                  なむnomoto 2000/03/31(金)




[ ]
RE:01280 検索行前後抽出.Mac No.01283
なむnomoto さん 00/03/31 13:12
 

  ENCODINGSHIFTJISさん

             なむnomotoです

>テキストでDB操作をしていた頃の雰囲気は以下の様でした。
>長文ですから暇なときに。
>http://eve.mogami-wire.co.jp/unix/unix-bg.html

  早速拝見し、テキストに保存しました。じっくり読みます。
  ありがとうございます。
  わたしゃ、プログラマにはなれないしなぁ、
  ちまちま手作りのデータです。企業的な使用方法は無理です。

>Web用の全文検索システムもいろいろあるし(MANAZU,SUFARY...)
>http://www.kusastro.kyoto-u.ac.jp/~baba/wais/other-system.html
>MS-SQL-Server もテキスト検索のインデックスを使えるようになる。

 これも、拝見して、テキストに保存し、お気に入りにも登録しました。
 これからは、htmlのような表示が好まれて、単純なテキストデータ
 で漢文を表示できないような時代が来るかも知れないですね。
 漢字表示も、第4水準まで公表されても、マシンやソフトが流通し
 ないと使用できないし、
 XMLは、まだ普及してませんが、やがてこのようなソフトが
 常識になると、もはや、世代交代しなければならないかも知れ
 ないです。漢文データを作るだけでヘトヘト。(^^;)

>巨大データを保守するには専門技能が必要です。
>秀丸も一つの手段です。あと、プログラムを長期に管理するしくみ
>も考えないと。作るだけ作って人事異動で担当者がいなくなると
>Excel や Word のマクロが宙に浮いて項目追加すらできなくなります。

 そうなんですよね、ですから、私が惚けた時のためにも、
 詳しい初心者用のマニュアルを書かねばなりません。

 http://www.l.u-tokyo.ac.jp/~sat/japan/index.html
 なんかにも、あるように膨大なテキストデータが公表されて
 台湾・香港などのデータをcode変換しても使用してます。
 使える内は使うけれど、将来はどうなるんでしょうかという
 心配はあるけど、ほとんどの人が自己流で使用していますね。

 これが、まあ良いわけです。古典のデータですから、アップ
 デートは必要ないし、保守もハードディスクなどに置いて
 置けば良いという方がほとんどの、使用環境です。

 そこで、これを一挙に検索するソフトさえ有れば良いわけです。
 「秀丸」エディタなどで限界があるとすれば、100万行以上
 の表示とか、数万行の置換とかですね。
 通常の検索表示・コピー・印刷ていどだと、エディターで充分
 じゃないかな。そうだといいな〜という気分ではおります。
 これは、仕事というより遊びも結構あって、面白いです。

 本業のデータは、オーダープログラムで動いています。
 プログラマーはいません。そういえば、マニュアルが全くこれに
 ないですね。私のメモがあるくらいです。(うう、まずいぞ)



[ ]
RE:01283 検索行前後抽出.Mac No.01284
ひろ さん 00/03/31 18:03
 
 なむnomotoさん今日は、ひろです。
>  漢字表示も、第4水準まで公表されても、マシンやソフトが流通し
>  ないと使用できないし、
 検索には難がありますが、表示だけの問題なら殆ど全ての漢字がそろって
いる「今昔文字鏡 (http://www.mojikyo.gr.jp/html/index.html)」というの
があります。これを使えば、HTML で GIF を使って第 4 水準にも含まれてい
ない文字を表示したり、Word Processor で TrueType font の使用による編
集も出来ます。

 font や検索 tool は無料で入手可能ですが、なにぶん file size が大き
い(^^)。

[ ]
RE:01284 検索行前後抽出.Mac No.01285
なむnomoto さん 00/03/31 20:21
 

  ひろさん
           なむnomotoです

> 検索には難がありますが、表示だけの問題なら殆ど全ての漢字がそろって
>いる「今昔文字鏡 (http://www.mojikyo.gr.jp/html/index.html)」というの
>があります。これを使えば、HTML で GIF を使って第 4 水準にも含まれてい
>ない文字を表示したり、Word Processor で TrueType font の使用による編
>集も出来ます。

  わ、ひろさんもお使いですか「今昔文字鏡」。
  私の所にもあります。

  「秀丸」エディタでは表示できないし、検索もほぼ不可能。
  んで、jis外漢字は、「★」にしています。

  ただひたすら、jis3/4 の行き渡るのを待って居るんです。
  この、★は、大体3%あります。3%もあるんじゃ多い
  と思うのは、銀行金利が非常に低調なことと関係があるん
  かどうかは解りませんが、現在の私の漢文では
    約 135,000箇所
  あります。日本のjisがコンピュータ漢字に軟弱なのが、
  災いしているような感じがします。
  ま、「秀丸」エディタがあれば良いかって我慢してるところ
  です。

[ ]
RE:01282 検索行前後抽出.Mac No.01287
encodingshiftjis さん 00/04/01 12:39
 
> これは、検索の時に、"妙法華6不輕品20,T9,50c,7,5," のような部分を
> 検索対象からはずして、検索するために必要なんです。この部分に、
> 検索文字と同じものがあると、検索ヒットしてしまいますから、
> これを外して、右側だけ検索するとかの方法です。
> 表示には、^^^行情報^^^部分が必要なんです。

技能の向上により広がるのですが、構築の限界を意識します。
ある点まではスラスラゆくが、急に複雑度がアップすることがある。

今わかっているのは、ベタテキストの部分範囲処理(項目単位の)には
緊張感があることですね。split関数などソフト部品や名前のスコープ
規則など大規模な構築に対応した仕組みが必要になってきます。
秀丸マクロで何行程度まで、自分が適正に(永続的に)
管理可能か意識します。経典は公共財で、電子メールの整理保存のように
個人の責任範囲ですませられるのとチョット違うし。
ソフト/システムは生きている。作ったシステムを自分の外でも継承発展
させてゆくには?

[ ]
RE:01282 検索行前後抽出.Mac No.01290
山紫水明 さん 00/04/02 16:37
 
    なむnomotoさん こんにちは。

》 まだ、各種メニューを全部試してませんが、多分大丈夫でしょう。
 いやー,まだ思わぬ落とし穴が待っているかも知れません。

》  #正規表現+あいまい検索 があっても良いかも知れません。
 正規表現でないあいまい検索なんてありましたっけ?

》 これは、検索の時に、"妙法華6不輕品20,T9,50c,7,5," のような部分を
》 検索対象からはずして、検索するために必要なんです。この部分に、
》 検索文字と同じものがあると、検索ヒットしてしまいますから、
》 これを外して、右側だけ検索するとかの方法です。
》 表示には、^^^行情報^^^部分が必要なんです。
 このところ完全に誤解していました。(^^;
 難しそうな感じですが,以下のマクロで不要な行を除外して検索できるかどうか
まず試してみてください。文字列を検索するのではなく,行を検索するものです。
うまくいけば,本体に組み込めますが,どうでしょう。

 なお,フォルダー全体の検索はできませんが,開いているファイル全部を検索す
ることはできそうです。どうしましょう。

 では, (^^)/~
                                        山紫水明

// ----行情報除外.Mac------------------------------- //
$search = input("検索語を入れてください");
question "行情報部分を検索対象から除外しますか?";
if(!result) endmacro;
$$mark = input("除外する記号", ",");
##number = val(input("行頭からの個数"));
##c = 0;
$$unit = "[^" + $$mark + "]*";
while(##c < ##number){
$$infoset1 = $$infoset1 + $$unit + $$mark;
##c = ##c + 1;
}
$$infoset1 = $$infoset1 + $$unit;
$$infoset2 = $$unit + $search + $$unit + "$";
$search = $$infoset1 + $search + "|" + $$infoset2;
gofiletop;
while(1){
    searchdown $search, regular;
    if(result) {
        question "続けますか?";
        if(!result) break;
        golineend;
    }else break;
}
endmacro;
// --------------------------------------------- //

[ ]
RE:01287 検索行前後抽出.Mac No.01291
なむnomoto さん 00/04/03 22:13
 

                          なむnomotoです

>技能の向上により広がるのですが、構築の限界を意識します。
>ある点まではスラスラゆくが、急に複雑度がアップすることがある。

 ええと(^^;)
 Qgrepでできることが、「秀丸」エディタマクロでもしたい、
 ということだけなんです。

>今わかっているのは、ベタテキストの部分範囲処理(項目単位の)には
>緊張感があることですね。split関数などソフト部品や名前のスコープ
>規則など大規模な構築に対応した仕組みが必要になってきます。
>秀丸マクロで何行程度まで、自分が適正に(永続的に)
>管理可能か意識します。経典は公共財で、電子メールの整理保存のように
>個人の責任範囲ですませられるのとチョット違うし。
>ソフト/システムは生きている。作ったシステムを自分の外でも継承発展
>させてゆくには?

 この検索対象ファイルは、app形式などと名付けられておりまして、
 かなり普及している方法なんです。例えば、

  文漢文。漢文漢文文漢文漢文漢文。漢文漢文漢
  文漢文。漢文。漢文。漢文漢文文漢文漢文漢文
  漢文漢文漢文。漢文漢文漢文。漢文漢文漢文。

 この2行目と3行目は文章が継続してしますから、単語でも
 前行から継続している可能性がありますね。改行が邪魔して
 単語があっても検索で、ここに検索ヒット出来ないわけです。
 ですから、行末に「。」が無い場合は、行末の「。」以後の
 文字を、次行の頭に送りったファイルを作成しておき、app
 という拡張子にしておきます。(txtでも構わないけど)。
 このファイルに、grep検索すると、少なくとも単語は完全に
 検索できます。
 んで、各行に(書名をファイル名にすれば)巻数や頁数や
 行数を行頭にくっつけておけば、どの文献のどの行にあるか
 (印刷された文献の巻数・頁・行数)直ちに判明します。
 これが、appと呼ばれているファイルの、文章の構成です。
   
維摩玄疏1,T38,528b,28,5, 二大乘論師何得諍同水火也。次明修無作三昧。,3
維摩玄疏1,T38,528b,29,3, 觀眞如實相。不見縁修作佛。亦不見眞修作佛。,2
維摩玄疏1,T38,528c,1,2, 亦不見眞縁二修合故作佛。,8
維摩玄疏1,T38,528c,2,8, 亦不離眞縁二修而作佛也。四句明修即是四種作義。,4

 この左側の行情報部分に、1バイト英数だけで記入する方法もありますが、非常に
分かりにくいです。で私は漢字を使用するのでこうした条件検索(フィールド指定)
ができたらなあ、と考えて居るんですが、さほど一般的でないとなると、困りました
ね。(^^;)
 私のデータの場合は、専用の検索マクロ(秀丸)でやるんですけど。

 ゴマンとあるホームページは、
台湾の場合、http://ccbs.ntu.edu.tw/cbeta/index.htm など
日本の場合、http://www.l.u-tokyo.ac.jp/~sat/japan/index.html など
があります。台湾の場合はBIG5codeなので、コード変換が必要です。

 何か、日本文学のデータもappにすれば、完全検索が可能になります。
 変化するデータでなく、古典のようなのは、利用価値があるかと、
 思います。んで、そのための汎用的マクロが流行すればなあ、と考え
 るのは私だけくらいかも知れませんね。
 変人?-->自分


[ ]
RE:01287 検索行前後抽出.Mac No.01292
なむnomoto さん 00/04/03 22:27
 

             なむnomotoです

 忘れてました。

 んで、前後行取得grepを、このappに使うと、前後行も一緒に
 引き出せるので、印刷して必要箇所を読むのに便利になるはずです。

 どちらかというと、これから増えるであろう、古典のデータ対応
 ということになるかも知れません。
 アップデートのデータ向きではないですね、確かに。

[ ]
RE:01290 検索行前後抽出.Mac No.01293
なむnomoto さん 00/04/04 08:51
 
re:1290
  山紫水明さん、
            なむnomotoです
                       金帰月来で亀レスごめんなさい。

>》 まだ、各種メニューを全部試してませんが、多分大丈夫でしょう。
>
> いやー,まだ思わぬ落とし穴が待っているかも知れません。

 むふふ、では使い倒してみます。(^^;)

>》  #正規表現+あいまい検索 があっても良いかも知れません。
>
> 正規表現でないあいまい検索なんてありましたっけ?

 それは無いかも知れませんが、「秀丸」エディタの「検索」なんかでも
 「正規表現」「あいまい検索」は別々にスイッチが付いているし、
 あいまい検索だけ使うこともあるので、念のためにドウカなと思ったくらいで
 深〜い意味はないのです。あいまい検索が出来れば良いわけです。

> 難しそうな感じですが,以下のマクロで不要な行を除外して検索できるかどうか
>まず試してみてください。文字列を検索するのではなく,行を検索するものです。
>うまくいけば,本体に組み込めますが,どうでしょう。

 ありがとうございます。実行してみました。
 正常に動いているようです。ただし、これはsearchではなく、grepが理想的です。
 30万行のファイルなんかでは、grepの結果が欲しいです。(強欲なんです)(^^;)
  結構、ハイスピードで表示してくれてます。

 それで、秀丸のgrepのダイアログを呼び出して、フォルダを指定して *.* の
 ワイルドカードでファイル指定できると、良いですが、これが先にあって、

 後に、前後行取得 + 正規表現 + フィールド指定(除外指定)が選択
 スイッチか何かで任意に選べて、実行だと良いのですが、やっぱり難しいですか?
 秀grepが、何だかもう出来てしまいそうで、ワクワクです。
                                                なむnomoto 2000/04/04(火)

[ ]
RE:01291 検索行前後抽出.Mac No.01296
ENCODINGSHIFTJIS さん 00/04/04 14:26
 
> んで、各行に(書名をファイル名にすれば)巻数や頁数や
> 行数を行頭にくっつけておけば、どの文献のどの行にあるか
> (印刷された文献の巻数・頁・行数)直ちに判明します。
> これが、appと呼ばれているファイルの、文章の構成です。
>   
>維摩玄疏1,T38,528b,28,5, 二大乘論師何得諍同水火也。次明修無作三昧。,3
>維摩玄疏1,T38,528b,29,3, 觀眞如實相。不見縁修作佛。亦不見眞修作佛。,2
>維摩玄疏1,T38,528c,1,2, 亦不見眞縁二修合故作佛。,8
>維摩玄疏1,T38,528c,2,8, 亦不離眞縁二修而作佛也。四句明修即是四種作義。,4
>
> 思います。んで、そのための汎用的マクロが流行すればなあ、と考え

Webページを見るだけなら IE5 に繁体字/中国語モジュールを
入れるだけでよかった(Windows Update)。ピン音入力は知らないので検索は?

混合したまま検索するのはあまり、秀丸向きじゃないように見えます。
検索主体なら、行情報と本文を分離して必要なら行番号で引くほうが
処理が易しくなるのでは? たとえば
問題と手段を結びつける処理方式の決定は難しい。最初の方針があとあと

システムは泣きながら3度作り直すとちゃんとなるそうです。
このままゆきますか?

[ ]
RE:01293 検索行前後抽出.Mac No.01298
山紫水明 さん 00/04/04 20:23
 
    なむnomotoさん こん○○は。

》 それは無いかも知れませんが、「秀丸」エディタの「検索」なんかでも
》 「正規表現」「あいまい検索」は別々にスイッチが付いているし、
》 あいまい検索だけ使うこともあるので、念のためにドウカなと思ったくらいで
》 深〜い意味はないのです。あいまい検索が出来れば良いわけです。
 別々についてはいますが,あいまい検索だけを選んで,正規表現を選ばないとい
うことができましたっけ?(^^;

》 正常に動いているようです。ただし、これはsearchではなく、grepが理想的です。
 なむnomoto さん,なかなかせっかちなようで(^^;
 検索の結果を書き出すためには,まず検索自体が正しく行なわれているかどうか
を確かめる必要があったわけです。検索が間違っていれば,書き出す結果も正しく
ないものになってしまうということです。それでご希望通りの検索をしているかど
うかを確認していただきたいという趣旨でした。

》 30万行のファイルなんかでは、grepの結果が欲しいです。(強欲なんです)(^^;)
 もちろんご希望の意図(と強欲さ)は正しく理解しているつもりです。(^^;

》 それで、秀丸のgrepのダイアログを呼び出して、フォルダを指定して *.* の
》 ワイルドカードでファイル指定できると、良いですが、これが先にあって、
 フォルダの指定は難しいので,前回のメッセージの最後に次善の策としてそれに
替わる方法を書いたつもりですが。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01293 検索行前後抽出.MacNo.01299
きいろいまふらあ さん 00/04/04 22:59
 
まふです。1行つっこみ。

> あいまい検索だけ使うこともあるので、

?んなことできたっけ?

[ ]
RE:01298 検索行前後抽出.Mac No.01300
なむnomoto さん 00/04/05 01:45
 

  山紫水明さん
           なむnomotoです

> 別々についてはいますが,あいまい検索だけを選んで,正規表現を選ばないとい
>うことができましたっけ?(^^;

 いや、間違えてますね。正規表現だけを選ぶことがあるって意味です。
  宜しくお願いします。----> まふさま

> なむnomoto さん,なかなかせっかちなようで(^^;
> 検索の結果を書き出すためには,まず検索自体が正しく行なわれているかどうか
>を確かめる必要があったわけです。検索が間違っていれば,書き出す結果も正しく
>ないものになってしまうということです。それでご希望通りの検索をしているかど
>うかを確認していただきたいという趣旨でした。

 うう、せっかちがバレてしまった。

> もちろんご希望の意図(と強欲さ)は正しく理解しているつもりです。(^^;

 ぐて〜。宜しくお願いします。

> フォルダの指定は難しいので,前回のメッセージの最後に次善の策としてそれに
>替わる方法を書いたつもりですが。

  そうだわなぁ、そう書いてあるもん(独り言)。(^^;)
  山紫水明さん、
  それしかないのなら、次善策実行でお願いします。

  80個ファイルを開いては、止めた方がいいかも知れません。
  だとすれば、ファイルを全部繋いだものを1つ作っておく。
  ええと、この場合。どれくらいのサイズのファイルだと可能
  でしょうか。(やっぱり欲張りだわ-->自分)
  

[ ]
RE:01296 検索行前後抽出.Mac No.01301
なむnomoto さん 00/04/05 02:01
 
 ENCODINGSHIFTJISさん
              なむnomotoです
>
>Webページを見るだけなら IE5 に繁体字/中国語モジュールを
>入れるだけでよかった(Windows Update)。ピン音入力は知らないので検索は?
>
 このbig5dataを見ることが出来ても、検索は出来ません。
 ですから、KCtrans.exeを使用して、コード変換します。
 そうすれば検索使用できます。
   kctrans は、北原さんのホームページ
  http://www2u.biglobe.ne.jp/~kitabo/
      これで、数百ファイルを一挙にshift-jisに変換します。
   この処理は、特に別なものを使用します。

>混合したまま検索するのはあまり、秀丸向きじゃないように見えます。

 混合状態では、私には検索できません。 

>検索主体なら、行情報と本文を分離して必要なら行番号で引くほうが
>処理が易しくなるのでは? たとえば
>問題と手段を結びつける処理方式の決定は難しい。最初の方針があとあと
>
>システムは泣きながら3度作り直すとちゃんとなるそうです。
>このままゆきますか?

  前後行取得grepマクロが、完璧に検索に応えられなくても、
  他にも方法はあります。
  しかし、あるていどの検索が可能な方が良いかと思います。
  3度泣いたらできるのなら、私は何度目の泣きになって
  しまうだろうか。んで、他にも3つの検索方法を作っても
  らっています。杉浦さん作と mac+jperl の方法。
  今度のができれば4つめです。利用者が流用できるように
  なってるほうが良いかと思いますけど。

[ ]
RE:01300 検索行前後抽出.Mac No.01304
山紫水明 さん 00/04/05 23:36
 
    なむnomotoさん こんばんは。

》  だとすれば、ファイルを全部繋いだものを1つ作っておく。
》  ええと、この場合。どれくらいのサイズのファイルだと可能
》  でしょうか。(やっぱり欲張りだわ-->自分)
 ヘルプの概要によると,1000万行まで編集可能と書いてあります。

 当面,開いたファイルを開いて実行してください。
 フォルダー全体を検索するためには,マクロサーバが必要になるようです。
 引き続き考えてみますが,さしあたりこれでいろいろ使い込んでみて,問題が出
てきたらまたお知らせ下さい。
 多分,いろいろ注文が出てくるかも知れません。覚悟はしています。(^^;

 <会議室の方々へ> 長いマクロを何度もアップするのは気が引けますが,今回
もかなり全体に修正がありますのでお許し下さい。

 では, (^^)/~
                                        山紫水明

// ---------------- 検索行前後抽出.Mac ------------------------------- //
//
//          検索して行抽出,別ファイルに書き出し
//          クリップボード履歴が全部消去されるので注意。
//
call Set_ClipHist;
disabledraw;
disableinvert;
#Oso = searchoption;    //検索オプションの保存
#Tn = 0;    //データ総数
#ch = #ch/5;    //空白行が出るようであれば,この除数値を大きくする
if( overwrite ) { overwriteswitch; #ows = 1; }
clearcliphist;      //クリップボード履歴の消去
if(selecting) copy;
    else copyword;
    beginclipboardread;     //クリップボードからの取り込み開始宣言
    $s = getclipboard;      //クリップポードから1行取り込み
$search = input("検索語を入れてください", $s);
if ( $search == "" ) goto End;
$search_a = $search;    //検索語の保存

Searchmenu:
menu "&1 通常検索",
     "&2 正規表現による検索",
     "&3 あいまい検索",
     "&4 元の設定";
#r = result;
if(!#r) goto End;
else if(#r == 1) #s_option = 0;
else if(#r == 2) #s_option = 16;
else if(#r == 3) #s_option = 48;
else if(#r == 4) #s_option = #Oso;
else goto Searchmenu;

if(imestate){imeswitch; #switch = 1;}
#prev = val(input("前取得行数は? ", "1"));
#next = val(input("後取得行数は? ", "1"));

$separator[1] = "*****************************************************";
$separator[2] = "+++++++++++++++++++++++++++++++++++++++++++++++++++++";
$separator[3] = "-----------------------------------------------------";
$separator[4] = "";

Separatormenu:
menu "&1 " + $separator[1],
     "&2 " + $separator[2],
     "&3 " + $separator[3],
     "&4 改行のみの行" + $separator[4],
     "      <区切りを選んでください> Escで終了";
#r = result;
if(!#r) goto End:
if(#r > 5) goto Separatormenu;
$separator = $separator[#r] + "\n";

#hc = hidemarucount;
#hn = 0;
while(#hn < #hc){
    #handle[#hn] = hidemaruhandle(#hn);
    #hn = #hn + 1;
}
#hn = 0;    //再初期化

question "開いたファイル全部を検索しますか?";
if(result) #wn = #hc - 1;
else #wn = 0;

call Field_Line;  //行の部分選択が必要であれば

setsearch $search, #s_option;
if(#switch) imeswitch;
newfile;    //書き込み用
#handle_n = hidemaruhandle(0);
insert $separator + "                                 以上です。 "
        + date + " " + time +"\n";  //ここは何でもいい(^^;

while(#hn <= #wn){
    setactivehidemaru #handle[#hn];     //検索ウィンドウ設定
    $file = basename2;
    $files = "  " + filename2 + "\n" + $files;
    #n = 0; //カウント用
    call Search;
    #hn = #hn + 1;
}

setactivehidemaru #handle[0];   //最初のウィンドウに戻る
setactivehidemaru #handle_n;
gofiletop;
insert "検索ファイル名:\n" + $files + "\n";     //必要ならつける
insert "検索語 「" + $search_a + "」を含む,前 " + str(#prev)
        + " 行,後 " + str(#next) + " 行です。\n";
insert "検索個数は " + str(#Tn) + " です。\n";

End:    //後始末
if( #ows ) overwriteswitch;
call Reset_ClipHist;
setsearch $search, #Oso;
endmacro;

//*********************************************************
Search:     //検索
gofileend;
#lastline = lineno - 1;
while (1) {
    findup;
    if (!result) {
    call Write;
    break;
    }else{
    #line = lineno;
    movetolineno 1, #line - #prev;
    beginsel;
if(#line + #next > #lastline){
gofileend;
}else{
    movetolineno 1, #line + #next + 1;
}
    copy;
    setclipboard $file + "(" + str(#line) + "):";
    #Tn = #Tn + 1;
    #n = #n + 1;
    if (#n > #ch) call Write;
    movetolineno 1, #line;
    }
}
return;

Write:      //新ファイルに記入
setactivehidemaru #handle_n;
gofiletop;
insertreturn;
while(#n){
    insert $separator;
    poppaste;
    insertreturn;
    poppaste;
    #n = #n - 1;
}
setactivehidemaru #handle[#hn];
clearcliphist;      //クリップボード履歴の消去
return;

Set_ClipHist:   //クリップボ−ド履歴取得状態の保存・変更
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#och =  getregnum("ClipHist");
#ch = 200;
if (#och < #ch) {           //履歴を取るに変更
    writeregnum "ClipHist", #ch;
    #chchange = 1;
    envchanged;
}else #ch = #och;
closereg;
return;

Reset_ClipHist:     //元に戻す
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
if (#chchange) {
  writeregnum "ClipHist", #och;
  envchanged;
}
closereg;
return;

Field_Line:
   //一定の記号で区切られたデータ行のある部分以降
   //のみを選択の対象とするためのルーチン
question "行の一部を選択しますか?";
if(!result) return;
$$mark = input("区切り記号", ",");
##number = val(input("行頭からの記号の個数(対象外とする部分)"));
##c = 0;
$$unit = "[^" + $$mark + "]*";
while(##c < ##number){
    $$prevset = $$prevset + $$unit + $$mark;
    ##c = ##c + 1;
}
$$prevset = $$prevset + $$unit;
$$rearset = $$unit + $search + $$unit + "$";
$search = $$prevset + $search + "|" + $$rearset;
if(#s_option == 0) #s_option = 16;
return;
// --------------------------------------------- //


[ ]
RE:01304 検索行前後抽出.Mac No.01306
なむnomoto さん 00/04/06 16:47
 

  山紫水明さん
             なむnomotoです

> ヘルプの概要によると,1000万行まで編集可能と書いてあります。
> 当面,開いたファイルを開いて実行してください。

  ああそうだった、1MBファイル何個までなら開けるか
  やってみます。(^^;)

> フォルダー全体を検索するためには,マクロサーバが必要になるようです。
> 引き続き考えてみますが,さしあたりこれでいろいろ使い込んでみて,問題が出
>てきたらまたお知らせ下さい。
> 多分,いろいろ注文が出てくるかも知れません。覚悟はしています。(^^;

  済みません、お世話かけます。宜しくお願いします。
  マクロサーバは、まだ使ったことが有りません。
  使ってみたいけど、どういう風に使うのか、説明を
  読んでも、も一つ解らないからです。
   # 解凍してセットだけは済んでるんだけど。(^^;)
    使ってみたいなぁ〜

  んで、今読んだばかりですので、良く使ってからコメント入れます。
  ええと、この件でお願いが別にあるのでメールさせて下さいませ。

 私も<会議室の方々へ>。長いツリーでご迷惑かも知れませんが、
 未熟者のためにお許し下さい。
  良いものが出来そうなので。
                     なむNOMOTO

[ ]
RE:01306 検索行前後抽出.Mac No.01307
山紫水明 さん 00/04/06 22:25
 
    なむnomotoさん こんばんは。

》   # 解凍してセットだけは済んでるんだけど。(^^;)
》    使ってみたいなぁ〜

 セットしてあれば十分です。自分で気づかないうちに,マクロサーバを使ったマ
クロを使っているかも知れません。(^^;

》  ええと、この件でお願いが別にあるのでメールさせて下さいませ。
 会議室の方が気楽でいいですね。(^^; できないときや忙しいときは,黙ってい
ればいいし,私みたいな駆け出しではなくて,いざとなれば乗り出してくれる人が
たくさんいますから。
 何ならニフティの FWINAL19 の方でも。あちらの方,このところ寂しくなってい
るようですから。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01300 検索行前後抽出.Mac No.01308
なむnomoto さん 00/04/07 15:36
 

 山紫水明さん
          なむnomotoです

 Ver.3 を試しました。いろんなファイルで何度か。
  7Mb 3Mb 2Mb なども、内容も様々です。
  連続検索はしてません。

 メニューはずいぶん良くなりました。
 しかし、結果表示が巧くないです。
 前後行は正しく引き出されています。

例:「和光」を検索。前行1後行1,あいまい検索,区切り---------,フィールド指定、

一括.APP(36057):弘決4-3方便章,T46,267c,22,12,次同行中報身不思議功徳爲瓔珞。
丈六相好爲垢衣。生滅道品爲糞器。,0
弘決4-3方便章,T46,267c,23,0,示同見思名爲和光。本爲益彼名爲利物。,0
弘決4-3方便章,T46,267c,24,0,何者。引出宅已示尊特身説難思法。,2
一括.APP(29414):弘決1-3發大心,T46,165c,4,3,俗釋權者反常合道。又云。,9
弘決1-3發大心,T46,165c,5,9,迹近而行遠和光不同塵。賈逵曰。變也。宜也。,7
弘決1-3發大心,T46,165c,6,7,字義申此可以意知。又滅下滅諦中言若干正助者。,3
一括.APP(20526):止觀10諸見境7,T46,135c,29,4,化道應先以善引之。若自善勸惡者。,6

   このようです。
   区切り線は、ファイルの最初に集まって出てきます。途中にも集まっています。
   #Ver.2 では良かったのに。
   これは、こうなると正しいのかも知れません。

正体samp ------------------

一括.APP(36057):
-----------------------------------------------------
弘決4-3方便章,T46,267c,22,12,次同行中報身不思議功徳爲瓔珞。丈六相好爲垢衣。
生滅道品爲糞器。,0
弘決4-3方便章,T46,267c,23,0,示同見思名爲和光。本爲益彼名爲利物。,0
弘決4-3方便章,T46,267c,24,0,何者。引出宅已示尊特身説難思法。,2
一括.APP(29414):
-----------------------------------------------------
弘決1-3發大心,T46,165c,4,3,俗釋權者反常合道。又云。,9
弘決1-3發大心,T46,165c,5,9,迹近而行遠和光不同塵。賈逵曰。變也。宜也。,7
弘決1-3發大心,T46,165c,6,7,字義申此可以意知。又滅下滅諦中言若干正助者。,3
一括.APP(20526):
-----------------------------------------------------
止觀10諸見境7,T46,135c,29,4,化道應先以善引之。若自善勸惡者。,6


  一括.APP のタグが、最後行に出て、3行の中央を示しています。
  このタグは、区切りの最初の方が良いかも知れません。
  このようにです↓。Ver.2 では巧く行ってました。

-----------------------------------------------------
一括.APP(20526):
弘決1-3發大心,T46,165c,4,3,俗釋權者反常合道。又云。,9
弘決1-3發大心,T46,165c,5,9,迹近而行遠和光不同塵。賈逵曰。變也。宜也。,7
弘決1-3發大心,T46,165c,6,7,字義申此可以意知。又滅下滅諦中言若干正助者。,3
-----------------------------------------------------

 宜しくお願いします。


[ ]
RE:01307 検索行前後抽出.Mac No.01309
なむnomoto さん 00/04/07 15:44
 

  山紫水明さん
            なむnomotoです

> セットしてあれば十分です。自分で気づかないうちに,マクロサーバを使ったマ
>クロを使っているかも知れません。(^^;

 へえ、そう言うもんなんですか。

>》  ええと、この件でお願いが別にあるのでメールさせて下さいませ。
> 会議室の方が気楽でいいですね。(^^; できないときや忙しいときは,黙ってい
>ればいいし,私みたいな駆け出しではなくて,いざとなれば乗り出してくれる人が
>たくさんいますから。
> 何ならニフティの FWINAL19 の方でも。あちらの方,このところ寂しくなってい
>るようですから。

 ううんと、転載許可と「保証しない」とか、著作権者は誰で、
 何時作ったものとか、本当の”すばらっしい”マクロ名とか
 のことです。(^^;)

 別のマクロですが、今、tagujamp を奮闘してるので、
 解らないことは、じゃあfwinal19に尋ねます。





[ ]
RE:01308 検索行前後抽出.Mac No.01310
山紫水明 さん 00/04/08 06:53
 
    なむnomotoさん こんにちは。

》 しかし、結果表示が巧くないです。

》   #Ver.2 では良かったのに。

》  このようにです↓。Ver.2 では巧く行ってました。
》-----------------------------------------------------
》一括.APP(20526):
》弘決1-3發大心,T46,165c,4,3,俗釋權者反常合道。又云。,9
》弘決1-3發大心,T46,165c,5,9,迹近而行遠和光不同塵。賈逵曰。變也。宜也。,7
》弘決1-3發大心,T46,165c,6,7,字義申此可以意知。又滅下滅諦中言若干正助者。,3
》-----------------------------------------------------

 うーん,この結果表示部分はいじってないので,前と変わりないはずなんです
が。
 こちらのテストでは上記のように表示されます。通信の途中でおかしくなったの
かなあ?
 まず,マクロの次のサブルーチンの部分,次のようになっているか仔細に確認し
てみてください。
--------------------------------------
Separatormenu:
menu "&1 " + $separator[1],
     "&2 " + $separator[2],
     "&3 " + $separator[3],
     "&4 改行のみの行" + $separator[4],
     "      <区切りを選んでください> Escで終了";
#r = result;
if(!#r) goto End:
if(#r > 5) goto Separatormenu;
$separator = $separator[#r] + "\n";
--------------------------------------
Write:      //新ファイルに記入
setactivehidemaru #handle_n;
gofiletop;
insertreturn;
while(#n){
    insert $separator;
    poppaste;
    insertreturn;
    poppaste;
    #n = #n - 1;
}
setactivehidemaru #handle[#hn];
clearcliphist;      //クリップボード履歴の消去
return;
--------------------------------------

 通常検索かあいまい検索か,フィールド指定の有無などによって結果は違いませ
んか。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01310 検索行前後抽出.Mac No.01311
なむnomoto さん 00/04/10 18:12
 

  山紫水明さん
               なむnomotoです

 亀レス、申し訳有りません。
 前回の私の発言にある現象は、全部に出ます。
 つまり、前前回が巧く行ったのは、なぜなのかが解りません。(・_;)
  マクロメニュウの色々選択も、どれも同じ結果です。

 秀丸の設定か何かを、変更したとしても、関係するところは、変更
 していないように思います。
  Ver.1 Ver.2 Ver.3 とも全て前回同様の変な表示になります。

 Ver.3 の注意いただいた箇所の事ですが、
  既にマクロファイルとしてセットしたものと、新たにもう一度コピー
  したものとは、秀丸のファイル比較で、全く同じです。
  ご注意いただいた部分も、全同です。

 あれれ? うう〜ん。 PC98 と DOS/V の秀丸でも同じです。
  秀丸V.305なんです。前に成功した時は、V.301だったかな。?
  前々回成功した後に、最新版にしたのは間違いないです。

 で、秀丸V.301マシンで実行すると、なんと希望通りの表示です。
  秀丸V.229 でも成功します。
  V.305にバグがあるかも知れないし、何かの設定が原因かも知れません。
  山紫水明さんの秀丸は、バージョンはいくつなんでしょうか?
  V3.05だったら、バグじゃない。私のσ(^^;)バグ。


[ ]
RE:01311 検索行前後抽出.Mac No.01312
山紫水明 さん 00/04/10 22:17
 
    なむnomotoさん こんばんは。

》  V.305にバグがあるかも知れないし、何かの設定が原因かも知れません。
》  山紫水明さんの秀丸は、バージョンはいくつなんでしょうか?
》  V3.05だったら、バグじゃない。私のσ(^^;)バグ。

 私のも V3.05 です。(^^;
 で,ちょっと思い当たることがありますので次のようにしてください。
--------------------------------------
call Set_ClipHist;  →  call Set_Registry;  (マクロの1行目)
call Reset_ClipHist;  →  call Reset_Registry;  (endmacro; の2行前)
のように変更する。

Set_ClipHist: 以下20行を次のものに置き換える。

Set_Registry:   //クリップボ−ド履歴取得および貼り付け後の
                //カーソ状態の保存・変更
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#och =  getregnum("ClipHist");
#ch = 200;
if (#och < #ch) {           //履歴を取るに変更
    writeregnum "ClipHist", #ch;
    #chchange = 1;
}else #ch = #och;
#pcf =  getregnum("PasteCursorFix");
if(#pcf){
    writeregnum "PasteCursorFix", 0;
    #pcfchange = 1;
}
if(#chchange == 1 || #pcfchange == 1) envchanged;
closereg;
return;

Reset_Registry:     //元に戻す
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
if (#chchange) {
    writeregnum "ClipHist", #och;
}
if(#pcfchange){
    writeregnum "PasteCursorFix", #pcf;
}
if(#chchange == 1 || #pcfchange == 1) envchanged;
closereg;
return;
--------------------------------------

 では, (^^)/~
                                        山紫水明


[ ]
RE:01312 検索行前後抽出.Mac No.01313
なむnomoto さん 00/04/11 04:50
 

 山紫水明さん
               なむ野本です
               (^o^) (^o^)

 "call Set_Registry;"の変更有り難うございました。

  見事です!!、動いています。成功です!。
  おおお、素晴らしい!きちっと出てます。
   吉吉、吉吉、吉吉、吉吉、と出てます。
    ### ver3.05 のバグじゃなかった。良かった。

  なんだか、以前より結果表示が早いですね。
  気のせいでしょうか。

■ これで、あと、強欲を許されればですが、(^^;)
  (フォルダ指定検索は取りあえず置いといてと、)

  2行またぎです。行末と次の行の行頭に亘る場合は、
  現在では検索ヒットしないですね。当然ですけど。
  フィールドを指定する場合は考慮しなくて良いと
  思いますけど、次行に連続する場合は、ちょっと
  無理でしょうか?
---------
入末法過九千八百年後。月光菩薩出眞丹
國説法大度衆生。滿五十二年入涅槃後。首
楞嚴經般舟三昧先滅不現。余經次第滅無
量壽經在後得百年住。大度衆生然後滅去
---------
 この場合、2行目の末〜3行目の頭にかけて「首楞嚴經」がありますね。
 3行目の末と4行目の頭にかけて、「無量壽經」がありますね。
 この検索は、秀丸では出来ないと聞かされましたが、
 無理なことでしょうか?
 簡単に考えれば、首楞厳經は、「首.*楞.*厳.*經」でいけるわけですが、
  改行マークは、".*" のメタキャラクタだったんですよね。
  それにしても、こんな面倒なのは書けないですね。こりゃだめか。
  何か記入方法で、出来ますか? 
  正規表現でOKだと良いですね。たとえば、検索語を記入して、
  とにかく「あいまい検索」だと、改行があっても、またいで検索
  すれば良いのですけど・・・・・・
                   (^^;) なむnomoto




[ ]
RE:01313 検索行前後抽出.MacNo.01314
きいろいまふらあ さん 00/04/11 08:56
 
> 簡単に考えれば、首楞厳經は、「首.*楞.*厳.*經」でいけるわけですが、

もちろんいけないわけですが、
検索文字列の各文字の間に"\\n?"を入れ込んでやるルーチンでも組めば…。

>  正規表現でOKだと良いですね。たとえば、検索語を記入して、

逆に、正規表現でなければ無理です。
#経典の編集はしたくない。

[ ]
RE:01314 検索行前後抽出.MacNo.01315
なむnomoto さん 00/04/11 18:48
 

   きいろいまふらあさん、
             なむnomotoです


>もちろんいけないわけですが、
>検索文字列の各文字の間に"\\n?"を入れ込んでやるルーチンでも組めば…。

  それで大丈夫? なら大丈夫かなぁ...

>逆に、正規表現でなければ無理です。
>#経典の編集はしたくない。

  編集ではなくて、単なる検索です。(^^;)
  編集なんか、私も怖くてトテモトテモ (-o-;)
     (印刷してるンは何ですか?σ(^^)意味不明)

[ ]
RE:01313 検索行前後抽出.Mac No.01316
山紫水明 さん 00/04/11 20:07
 
    なむnomotoさん こんばんは。

》  見事です!!、動いています。成功です!。

 不具合の原因は秀丸の動作環境の設定にあったようです。「カーソル」で「貼り
付け後のカーソル位置」を「先頭のまま」にしてあったのではないでしょうか。
 それでマクロで一時的に変更するようにしました。要するにここの設定はどちら
であっても対応できるようにしたというわけです。

》  (フォルダ指定検索は取りあえず置いといてと、)

 なかなかあきらめない(^^; まあ,見通しはついてますので,お待ち下さい。

「首.*楞.*厳.*經」

 これはきいろいまふらあさんのご指摘のとおりです。
「首の楞も嚴と經」のように「首楞嚴經」の中に籠もっている野本さんなら探し出
します。(^^;

》  それにしても、こんな面倒なのは書けないですね。こりゃだめか。
》  何か記入方法で、出来ますか?

 次のようにしてみて下さい。
--------------------------------------
(1)
call Field_Line;  //行の部分選択が必要であれば
setsearch $search, #s_option;

 この2行の間に行を加え,次のようにする。

call Field_Line;  //行の部分選択が必要であれば
if(!#field){
    question "行を渡る検索をしますか?";
    if(result == yes) call Gyo_Watari;
}
setsearch $search, #s_option;

(2)
Field_Line:サブルーチンの
return;
の直前に
#field = 1;
の1行を加える。

(3)
一番最後に次のサブルーチンを加える。

Gyo_Watari:
if(ascii(leftstr($search, 2)) > 0xff) ##a = 2; else ##a = 1;
    //最初の1字で1バイトか2バイト文字列かを調べる。
    //両方混じった文字列ではうまくいかない。
##lenth = strlen($search);
##i = 0;
while(##i < ##lenth/##a - 1){
    $$s = $$s + midstr($search, ##i * ##a, ##a) + "\\n?";
    ##i = ##i +1;
}
$search = $$s + rightstr($search, ##a);
if(#s_option == 0) #s_option = 16;
return;
--------------------------------------
 では, (^^)/~
                                        山紫水明

[ ]
RE:01315 検索行前後抽出.MacNo.01317
きいろいまふらあ さん 00/04/11 20:35
 
>>#経典の編集はしたくない。
>  編集ではなくて、単なる検索です。(^^;)

言葉が足りませんでした。
検索する前に前後の行を連結しておくというテクニックがある、
ということを示唆したつもりでした。

"\\n?"を入れるだけでいけるかどうかは未確認です。
昔どこかで「検索文字列中の\nの数+1行分を検索のルーチンに
渡している」という話を聞いたことがあります。

[ ]
RE:01316 検索行前後抽出.Mac No.01318
なむnomoto さん 00/04/12 00:52
 
re:1316
     山紫水明さん
                 なむnomotoです

>》  何か記入方法で、出来ますか?
> 次のようにしてみて下さい。

  おおおおおおお、2行またぎ検索。出来ました。
  一発で成功!!! 何度やっても成功!
    素晴らしい。7MBファイルも、完璧です。
     # しかし、いままで一体何を悩んでたんだろう。ウソのようです。

> 不具合の原因は秀丸の動作環境の設定にあったようです。「カーソル」で「貼り
>付け後のカーソル位置」を「先頭のまま」にしてあったのではないでしょうか。

  ぐわぁ、その通りです。作業してる必要で確かに変更しました。(なんで解るの?)

> それでマクロで一時的に変更するようにしました。要するにここの設定はどちら
>であっても対応できるようにしたというわけです。

 お慈悲お慈悲。ありがたや、アリガタヤ。合掌。m(_ _)m 感謝あるのみ。
  しかし、この次に私が変な設定したら、
  またおかしくなる可能性が有るんでしょうか?(-;-)

>》  (フォルダ指定検索は取りあえず置いといてと、)
>
> なかなかあきらめない(^^; まあ,見通しはついてますので,お待ち下さい。

 有り難いことです。宜しくお願いします。ぜひともお願いします。
  この秀丸grepが出来たら、多くの方が非常に便利になると思います。
  これは、無いならgrepを使えば良いのですが、ここがほら、grepの核心
  になるかと思いますです。
  #きっと便利マクロの筆頭格になるでしょう。
          そう思われませんか? ---> きいろいまふらあさん
                         欲しいなあって1度も考えませんでした?

>「首の楞も嚴と經」のように「首楞嚴經」の中に籠もっている野本さんなら探し出
>します。(^^;

  ぐぐ、意味不明にしておきます(^^;)
■ また、問題を見付けてしまいました。
  喜んでいる内に、冷静さを失っていました。(いつも通り ^^;)
  実は、私のデータはこんな風になっています。9Mbほど作りました。
    将来は、ごまんとなるでしょう。
********************
V:T38
B:維摩玄疏1
P:519a
L:2
維摩經玄疏卷第一。
           天台山修禪寺沙門智★撰。
此經理致深遠言旨淵玄。若但依文帖釋恐
止事數而已。一教宗極終自難量。猶須略忖
幽微顯不思議旨趣。今輒於文前撰五重玄
  :(省略)
爲即況前明用。人道雖同種性殊別。即況前
P:519c
明教相同異也。類此五法上義可知。問曰。立
此五義止明此經復通餘部。答曰。衆家立義
 :(省略)
種正四悉檀。説一切大小乘經教也。一世界
P:520c
悉檀者。即是衆生五陰十二入十八界一切
***********************

  ここの、P:520c の部分です。これは印刷物の頁数と段落を示しています。
  これを股がないと完全ではないのです。
  他に、B:  L:  がありますが、この前では、必ず「。」が有ることになって
  います。「。」が無い文献があっても、文章の連続はしません。
  問題は、"P:頁数"です。必ず行頭にあります。この半角英数行をスキップ
  すれば良いのですけど、可能でしょうか?

  あ、それと、空白です。偈文なんかは、空白で字下げしていますし、
  佛法不思議 唯教相難解
  二乘及菩薩 尚所不能測
 途中で空白がわざと作ってあります(元々)。
  空白もスキップ(無視)してしまうと、より完全でしょう。
 次々と、申し訳ないです。宜しくお願いします。

[ ]
RE:01317 検索行前後抽出.MacNo.01319
きいろいまふらあ さん 00/04/12 00:54
 
まふです。適当にこのへんにつけときます。

>検索する前に前後の行を連結しておくというテクニックがある、
>ということを示唆したつもりでした。

また言葉が足りないかな。
いったん、検索するテキストを
1行目+2行目(改行)
2行目+3行目(改行)
3行目+4行目(改行)
のような形にしておいてから検索すれば
少なくとも2行以内におさまっている文字列は検索できる、
ということなわけですが。
そもそも、テキストをこんな形に加工(これを「編集」と表現しました)
するのは嫌だ、ということです。

ちなみに(全く関係ない話ですが)まふ版は
tagjump/backtagjumpが正常に動くようになったら、
最初にgrepダイアログを出して、普通にgrepしたあとで
その結果に対して前後行への拡張を行うので、
フォルダ指定等は、通常のgrepでできることは全部できます、多分。
#逆に、普通のgrepでできない検索はできません。

[ ]
RE:01317 検索行前後抽出.MacNo.01320
なむnomoto さん 00/04/12 00:55
 
re:1317
  きいろいまふらあさん、
               なむnomotoです

>言葉が足りませんでした。
>検索する前に前後の行を連結しておくというテクニックがある、
>ということを示唆したつもりでした。

  あれれ、私の手の内が、すっかりばれてしまっているような感じです。
  app形式ファイルのことですね。私も作っています。これに加工
  すると、約2倍の容量になります。9MBだと18MBです。
  ついでに1字索引の方法もあります。これだと45倍。検索はほぼ完璧
  です。ほぼというのは、jis外漢字は検索できないためです。
    加工は、jperlでスクリプトを作って頂きました。NIFTY fgalts
    1字索引の検索は、驚異のサーフィン検索 杉浦さん御作です。
  app形式の検索(grep)は簡単で、非常に高速です。
   この検索マクロは、3年前かに、杉浦さん御作です。fwinal mes19
  appはこんなでしょ?
涅槃玄1釋名1,T38,6b,26,2, 聖遠乎哉體之即神。見色與盲等。聞聲與響等。,1
涅槃玄1釋名1,T38,6b,27,1, 其説法者無説無示。其分別者無所分別。,2
涅槃玄1釋名1,T38,6b,28,2, 無絶無不絶而名爲絶。此亦方便道中。,4
涅槃玄1釋名1,T38,6b,29,4, 言語道斷心行處滅。若空慧相應入第一義。,4
涅槃玄1釋名1,T38,6c,1,4, 豁然清淨無能絶無所絶。無絶者無絶法。,5
   章名   書籍巻数頁段行    本文

 これに、私のほうで作ったjre32.dat の異体字・新旧漢字fazzyがあれば
  巧く行きます。実動中。天台CD1= http://www.biwa.ne.jp/~namu007

 しかし、今、山紫水明mac秀丸grepに拘るのは、appや1字索引がなくても
 データさえ作れば、誰でも検索できるようになっている必要が有るためです。
                   と私は考えてます。オホン。(^^;)
 これは、漢文だけでなく、日常の文章や、祕密の記録データ文章の検索も
 かなりの精度で検索できます。ちょっと簡単に出先で検索も可能になります。
 詳しくなくても使えるツールです。日本文学とか古典にも使えます。
  #秀Termの検索も2行またぎでしょうか?違いますね検索不可です。
   つまり、秀まるおさんも使えるかも(^^;)

>"\\n?"を入れるだけでいけるかどうかは未確認です。
>昔どこかで「検索文字列中の\nの数+1行分を検索のルーチンに
>渡している」という話を聞いたことがあります。

 ひょっとして、山紫水明さんの前回アップのルーチンのことですね。
 動いてますよお〜、見事です。
  私は、マクロやスクリプト書くことが相当駄目で、使い方を工夫する
  ようなことには、メチャこだわりなんです。で、ついついしつこい
  お願いをしてしまって済みません。

 ところで、まふさん、ここで書くと自業自得と云われちゃうかな?
                  #話題混乱
 お勧めの秀丸マクロは、例えばどういうのが便利にされてますか?
 ご自身のとか教えて下さい。
 便利そうなのを、あさっているんです。転載したくて。(^^;)


[ ]
RE:01319 検索行前後抽出.MacNo.01321
なむnomoto さん 00/04/12 01:09
 

 きいろいまふらあさん
             なむnomotoです

>いったん、検索するテキストを
>1行目+2行目(改行)
>2行目+3行目(改行)
>3行目+4行目(改行)
>のような形にしておいてから検索すれば
>少なくとも2行以内におさまっている文字列は検索できる、
>ということなわけですが。
>そもそも、テキストをこんな形に加工(これを「編集」と表現しました)
>するのは嫌だ、ということです。

 全く賛成です。さっきアップしたら、まふさんのコメントが
 表示されて(^^;) びっくりしました。それに少々書きました。
 でも、appを否定できない便利さもあるんです。
   # appの欠陥は、「。」がないと作れないのです。白文不可。

>ちなみに(全く関係ない話ですが)まふ版は
>tagjump/backtagjumpが正常に動くようになったら、
>最初にgrepダイアログを出して、普通にgrepしたあとで
>その結果に対して前後行への拡張を行うので、
>フォルダ指定等は、通常のgrepでできることは全部できます、多分。
>#逆に、普通のgrepでできない検索はできません。

 で〜わ問題。フォルダ指定して、ファイル名を *.* として、
 2行またぎ検索できます?
  前後行の拡張って、簡単にできるんですか?
       # そんなのスイッチが無かったような・・・・
 ここんとこがネックで、appに加工せざるを得ないのです。
 app加工できない、白文漢文なんかは、2行またぎがあれば、
 1字索引索引は、本当に詳しく調査するとき以外は、持ち
 歩かなくても良いようになります。
 便利になるとおもいますけど〜(^^;)
            便利は私だけっだったりして(・_;)

[ ]
RE:01321 検索行前後抽出.MacNo.01322
きいろいまふらあ さん 00/04/12 09:03
 
>>そもそも、テキストをこんな形に加工(これを「編集」と表現しました)
>>するのは嫌だ、ということです。

さらに補えば「検索するたびにリアルタイムに」ってことです。
この点がappの考え方とは決定的に異なります。
ちなみにappの話は読んでました。この手の工夫は全く否定しません。

>>#逆に、普通のgrepでできない検索はできません。
>
> で〜わ問題。フォルダ指定して、ファイル名を *.* として、
> 2行またぎ検索できます?

フォルダ指定とファイル名*.*は秀丸がやってくれるのでできます。
最後のは自分で検索文字列に「\n?」を入れ込まないとできません。
すなわち、検索の部分は普通のgrepでできないことはできません。

>  前後行の拡張って、簡単にできるんですか?
>       # そんなのスイッチが無かったような・・・・

普通にgrepした後に、そのgrep結果を元に自前のルーチンで
前後行をひっぱってきます。
#で、このルーチン自体は一応昔ここにアップしたマクロで
#実現できてるはずなんです。
#要するにtagjump/backtagjumpの更正待ちなわけです。

[ ]
RE:01318 検索行前後抽出.Mac No.01323
山紫水明 さん 00/04/12 23:02
 
    なむnomotoさん こんばんは。

》  ぐわぁ、その通りです。作業してる必要で確かに変更しました。(なんで解る
》 の?)

 結果の出方から見て貼付の設定に関係あるかも知れないと思い,自分でも設定を
変えてみたらそうなったというだけのことです。(^^;

》  しかし、この次に私が変な設定したら、
》  またおかしくなる可能性が有るんでしょうか?(-;-)

 そうですねー,強欲が度を越したら・・・?
 マクロがある設定に依存している場合はそういう可能性はあるでしょう。
 今回は,秀丸の version up ,マクロの変更,そして設定の変更が重なってしま
ったため,原因が分かりにくかったのではないかと思います。

》>「首の楞も嚴と經」のように「首楞嚴經」の中に籠もっている野本さんなら探し出
》>します。(^^;
》  ぐぐ、意味不明にしておきます(^^;)

「首.*楞.*厳.*經」で検索すれば,首の楞嚴もと經,首のも楞と嚴經,首楞嚴のも
と經など,どんな隠れ方をしても探し出すでしょう。お試しになったら(^^;

 さて,次のようにして試してみてください。
--------------------------------------
(1)call Field_Line; の次の部分

if(!#field){
    question "スキップ検索(行渡りを含む)をしますか?";
    if(result == yes){
        $skip = input("スキップする文字を指定してください。\n" +
            "行をわたる場合は \\n を指定");
    call Gyo_Watari;
    }

(2)前回のサブルーチンを入れ換え
Gyo_Watari:
if((ascii($skip) > 0xff && strlen($skip) > 2) || (ascii($skip) <
    0xff && strlen($skip) > 1)) $skip = "(" + $skip + ")";
        //スキップ文字の字数を調べる
if(ascii(leftstr($search, 2)) > 0xff) ##a = 2; else ##a = 1;
    //最初の1字で1バイトか2バイト文字列かを調べる。
    //両方混じった文字列はうまくいかない。
##lenth = strlen($search);
##i = 0;
while(##i < ##lenth/##a - 1){
    $$s = $$s + midstr($search, ##i * ##a, ##a) + $skip + "?";
    ##i = ##i +1;
}
$search = $$s + rightstr($search, ##a);
if(#s_option == 0) #s_option = 16;
return;
--------------------------------------

》  ここの、P:520c の部分です。これは印刷物の頁数と段落を示しています。
》  これを股がないと完全ではないのです。

スキップ文字の入力で
\nP.+\n
としたらどうでしょう。

》  空白もスキップ(無視)してしまうと、より完全でしょう。
空白を入れて下さい。
改行と空白両方だったら,
\n|空白
とすれば,もしかしたら?

 では, (^^)/~
                                        山紫水明


[ ]
RE:01323 検索行前後抽出.Mac No.01324
なむnomoto さん 00/04/13 04:14
 

   山紫水明さん
           なむnomotoです

 ver.6 出来ました。(^o^)

> 結果の出方から見て貼付の設定に関係あるかも知れないと思い,自分でも設定を
>変えてみたらそうなったというだけのことです。(^^;

 なるほど、やはり洞察力の有る方は違うんですね。悪魔術か?なんて心配(^^;)

> そうですねー,強欲が度を越したら・・・?
> マクロがある設定に依存している場合はそういう可能性はあるでしょう。

  うう、では更に完成度が高まる余地があるって事ですね。(^^;)

> 今回は,秀丸の version up ,マクロの変更,そして設定の変更が重なってしま
>ったため,原因が分かりにくかったのではないかと思います。

  お優しいお言葉です。グス。

>「首.*楞.*厳.*經」で検索すれば,首の楞嚴もと經,首のも楞と嚴經,首楞嚴のも
>と經など,どんな隠れ方をしても探し出すでしょう。お試しになったら(^^;

 「首.*楞.*厳.*經」で実は、前回に改行をまたぐかどうか試したんです。
 そうしたら出なくて、改行があれば無理らしいと、ヘルプで確認しました。
 再度やりましたら、やはり「首の楞\nも嚴と經」は駄目です。改行があっては
 検索しません。これで良いですか?
 「首\n?楞\n?嚴\n?經」なら、2行渡りなんですね。grepでも出ました。
  通常の「首楞嚴經」も出ますから、自動的に2行渡りにして置いてしまっ
  たら、どうでしょうか? それとも、
  「2行わたり」とか「2行またぎ」検索とかは、一般的な用語ではないので、
  初心者の方は「????」と、とまどうでしょう。通常検索を選択しても、
  正規表現検索になるようになっているから、うう〜ん、やっぱり駄目か。
  メニューで選択するしかないか。だとすると、最初に、
menu "&1 通常検索",
     "&2 正規表現による検索",
     "&3 正規表現+あいまい検索",
-->      正規表現+あいまい+2行わたり検索
     "&4 元の設定";
 のように、-->を加えてしまったらどうでしょうか。この時はフィールド指定はパス。
  ええと済みません、ここの、&4 元の設定 の #s_option = #Oso; ってのは何を意味
  しているのでしょうか? 

> さて,次のようにして試してみてください。

 さすが、ちゃんと出来てる。\nを指定しました。

>スキップ文字の入力で
>\nP.+\n
>としたらどうでしょう。

  おおおお、これもチャンと出てます。

>》  空白もスキップ(無視)してしまうと、より完全でしょう。
>空白を入れて下さい。
>改行と空白両方だったら,
>\n|空白
>とすれば,もしかしたら?

 そうすっと、"\n|\nP.+\n|\nP.+\n +| +" だと全部ですか? いや違うな。
   " +|\n|\n +|\nP.+\n|\nP.+\n +"かな?
  # そうなんです、複合的な組み合わせも考えておかないと(^^;)
  改行があっても、P.+ があっても、空白があっても、この全部があっても、
  スキップするってのは、どのように書くんでしょうか?
  [ \n(P.+)] じゃないなぁ(^^;)  うまく無いなあ・・・
  でも、現実には、
  空白だけ、改行だけ、改行と空白、改行とP.+\n、改行とP.+\nと空白、
  くらいかなぁ。 Pは \w とかできますか? 空改行連続で連続文章は無い
  と思いますし、空白\nもないですね多分。
  もしも、全部の組み合わせが可能な書き方が出来たら、最初の正規表現の
  選択メニュウで、2行渡りを選択すると、フィールド指定ルーチンを避けて
  渡り文字指定をせずに自動的に実行するように出来ますよね。
   #どうなんだろう。混乱してきたぞ(・_;)
                             なむnomoto







[ ]
RE:01322 検索行前後抽出.MacNo.01325
なむnomoto さん 00/04/13 21:36
 

   きいろいまふらあさん
                 なむNOMOTOです


>さらに補えば「検索するたびにリアルタイムに」ってことです。
>この点がappの考え方とは決定的に異なります。
>ちなみにappの話は読んでました。この手の工夫は全く否定しません。

 APPを否定してもらえると、完璧に近い秀丸GREPができるのに。(^o^)
 app加工するのは、漢文くらいじゃないでしょうか。見た目も不自然。
 引用も不自由。やっぱり生のまま(リアルタイムですよね)を直に
 検索できないといけない。結果は取りこぼしナシで。
 それで、ちょっとコダワリがあるんです。

>> で〜わ問題。フォルダ指定して、ファイル名を *.* として、
>> 2行またぎ検索できます?
>
>フォルダ指定とファイル名*.*は秀丸がやってくれるのでできます。

 それなのに、マクロでは非常に難しそうなのは、なんで?
 # 聞いても私には解らないかな。(^^;)

>最後のは自分で検索文字列に「\n?」を入れ込まないとできません。
>すなわち、検索の部分は普通のgrepでできないことはできません。

 そこを、なんとかしてしまうところが、腕の具合かな。
 必要は、発明の母ですから、なんとかして欲しいなぁ。
 私には到底手も足も出せない。

>>  前後行の拡張って、簡単にできるんですか?
>>       # そんなのスイッチが無かったような・・・・
>
>普通にgrepした後に、そのgrep結果を元に自前のルーチンで
>前後行をひっぱってきます。
>#で、このルーチン自体は一応昔ここにアップしたマクロで
>#実現できてるはずなんです。
>#要するにtagjump/backtagjumpの更正待ちなわけです。

  この更正はいつ頃なんでしょうね?
  grep結果がなんか不安定な事が沢山あって、困ったことも
  ありましたので、大規模grepは避けるようになってしまい
  ました。




[ ]
RE:01324 検索行前後抽出.Mac No.01326
山紫水明 さん 00/04/13 22:25
 
    なむnomotoさん こんばんは。

》  うう、では更に完成度が高まる余地があるって事ですね。(^^;)

 しまった! 強欲を刺戟してしまった。(^^;

》 再度やりましたら、やはり「首の楞\nも嚴と經」は駄目です。改行があっては
》 検索しません。これで良いですか?

》 「首\n?楞\n?嚴\n?經」なら、2行渡りなんですね。grepでも出ました。
》  通常の「首楞嚴經」も出ますから、自動的に2行渡りにして置いてしまっ
》  たら、どうでしょうか? それとも、

 逆に2行渡りをしたくない時どうしましょう?
 それと検索文字列に正規表現を使ってさらに2行渡りをすると,複雑になりすぎ
て,秀丸では検索できない事態が生じかねませんが,よろしいですか?

》  メニューで選択するしかないか。だとすると、最初に、
》menu "&1 通常検索",
》     "&2 正規表現による検索",
》     "&3 正規表現+あいまい検索",
》-->      正規表現+あいまい+2行わたり検索
》     "&4 元の設定";
》 のように、-->を加えてしまったらどうでしょうか。

 メニューの作り方はたしかに工夫の余地があるでしょう。今はどれだけの機能を
加えるかということでやっていますから,誰かさんの強欲が一段落したら考えまし
ょうか。(^^;

》  ええと済みません、ここの、&4 元の設定 の #s_option = #Oso; ってのは何を意

》  しているのでしょうか?

 大文字小文字の区別とか,単語検索とも含めて,直前に行なっていた検索方法が
引き継がれるということです。
#Oso は original search option のつもりです。

》 そうすっと、"\n|\nP.+\n|\nP.+\n +| +" だと全部ですか? いや違うな。
》   " +|\n|\n +|\nP.+\n|\nP.+\n +"かな?
》  # そうなんです、複合的な組み合わせも考えておかないと(^^;)
》  改行があっても、P.+ があっても、空白があっても、この全部があっても、
》  スキップするってのは、どのように書くんでしょうか?

 多分,そんな複雑な検索は一般の検索でも無理なのでは?
 まず普通の検索でできることを確認した上で,このマクロで試みてください。普
通の検索でできないことはこのマクロでもできないのです。
 どうぞ限界に挑戦してみてください(^^;


》  もしも、全部の組み合わせが可能な書き方が出来たら、最初の正規表現の
》  選択メニュウで、2行渡りを選択すると、フィールド指定ルーチンを避けて
》  渡り文字指定をせずに自動的に実行するように出来ますよね。

 万能というわけには行かないでしょう。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01326 検索行前後抽出.Mac No.01327
なむnomoto さん 00/04/14 23:12
 
re:1326
      山紫水明さん
                      なむnomotoです

> しまった! 強欲を刺戟してしまった。(^^;

 強欲もりもり σ(^^)☆\バキッ!

> 逆に2行渡りをしたくない時どうしましょう?
> それと検索文字列に正規表現を使ってさらに2行渡りをすると,複雑になりすぎ
>て,秀丸では検索できない事態が生じかねませんが,よろしいですか?

 「メニューで2行渡りを選択した人は、地獄に堕ちることを覚悟で選択して下さい」
 って書けないしなぁ(^^;)
 もし、複雑すぎた場合は、秀丸が「簡単にして下さい」ってお願いしますよね。
  これで行きましょう。

> メニューの作り方はたしかに工夫の余地があるでしょう。今はどれだけの機能を
>加えるかということでやっていますから,誰かさんの強欲が一段落したら考えまし
>ょうか。(^^;

 もうそろそろ、一段落したような振る舞いをしておきます。(-人-)

> 大文字小文字の区別とか,単語検索とも含めて,直前に行なっていた検索方法が
>引き継がれるということです。
>#Oso は original search option のつもりです。

 #Oso は original search option  なるほど、なるほど。
 「直前検索と同じ条件」ですか。これは非常に親切ですね。では、沢山開いて置い
て、
 一挙でなく、次々と手動でやる場合に便利ですね。また次開いてやる場合にも有効。
 でも、やってみたら、「元の設定」でも、同じ事を尋ねるダイアログが出ますけど。
  単語検索が引き継がれるなら、検索語を記入する前か同時に、
   新規検索
  直前検索と同じ条件
 のようなメニュウで、「直前検索と同じ条件」を選べば、直ちに実行するほうが、
 便利ではないでしょうか?
  確かに、検索語のヒストリを出す▼ボタンの省略も出来ますしね。
    #▼ボタン あった方が良いかなぁ(強欲がバレそ(^^;))

>》  # そうなんです、複合的な組み合わせも考えておかないと(^^;)
>》  改行があっても、P.+ があっても、空白があっても、この全部があっても、
>》  スキップするってのは、どのように書くんでしょうか?
>
> 多分,そんな複雑な検索は一般の検索でも無理なのでは?

 やっぱりそうですか。あの、perlの正規表現がつかえるとかをセットしても
  駄目でしょうか。2字だけなら、間に入れれば良いみたいですけどね。
  (.*|\n|\n +|\nP.*\n|\nP.*\n +) が、4文字の文字間にあるなんて
  おぞましいですね。()を抜いたら秀丸に叱られてしまいました。(^^;)

 ----------------------<
本迹。那互爲本迹。此又不可。今明此土爲穢
彼即爲淨。今穢國衆生見思毒害。欲借淨土
P:972a
來破其病。是故請於彼佛。國土相形互爲優
劣。破惑互有消除。如十種行人。作意祈請方
      ----------------<
 講説正法 種種因縁 以無量喩
 照明佛法 開悟衆生 若人遭苦
P:3a
 厭老病死 爲説涅槃 盡諸苦際
 若人有福 曾供養佛 志求勝法
 --------------------<
 上記のように P:と空白をもまたいで検索するのことは無理じゃないみたい。
 上の2つとも検索にヒットは出来るんですけど、字がくっついた場合は
  検索できるんだろうか。

> まず普通の検索でできることを確認した上で,このマクロで試みてください。普
>通の検索でできないことはこのマクロでもできないのです。
> どうぞ限界に挑戦してみてください(^^;

  だは(^^;)、「苦厭老病死」 を

  苦(.*|\n|\n +|\nP.*\n|\nP.*\n +)厭(.*|\n|\n +|\nP.*\n|\nP.*\n +)老(.*|\n|\
n +|\nP.*\n|\nP.*\n +)病(.*|\n|\n +|\nP.*\n|\nP.*\n +)死

 でやると、じゃあ〜ん!ちゃんと検索します。強欲の勝ちイ!!!(^o^)
   苦の厭も老と病死
  # この頁を秀丸にコピーして、上の2行を(強制改行ナシで)検索窓に貼り付けて
    上検索・下検索してみて下さい。ヒットしますう〜 ( P:3aの前後に注意)
 でもこれは私の場合の特例かも知れないですね。
  \nP.*\n +  <---この P.* を半角英数字の指定にすれば一般的かも。
    いやいや、これは私が勝手に工夫したらいいのだわ。
                   ##でもどんな風に?作り直せるの---->σ(^^)自信なし。

  それではこれを、メニューにして頂けるでしょうか?<---強度のせっかち。

menuの例;

 正規表現+あいまい+2行わたり検索 <----を選択した場合
            ↓
 スキップする特別な文字を記入して下さい。
  通常改行+空白は無記入でスキップします。
  前後2行づつ出力します。
           ↓ <------リタンだけで、上記の(もの)が文字間に入る。

  駄目でしょうか(^^;););)
                                                     なむnomoto
                                                     金帰月来

[ ]
RE:01327 検索行前後抽出.Mac No.01328
山紫水明 さん 00/04/16 21:32
 
    なむnomotoさん こんばんは。

》 「メニューで2行渡りを選択した人は、地獄に堕ちることを覚悟で選択して下
》さい」って書けないしなぁ(^^;)

 そうですよね,自分の強欲のために衆生が地獄に堕ちるのを黙ってみているなん
て。(^^;

》 もうそろそろ、一段落したような振る舞いをしておきます。(-人-)
 振る舞いだけですか。また本性が現れる?

》   新規検索
》  直前検索と同じ条件
》 のようなメニュウで、「直前検索と同じ条件」を選べば、直ちに実行するほうが、
》 便利ではないでしょうか?
 多くのファイルをまとめて検索できれば,実用的にはそれほど意味がないかも知
れないとも思いますが。

》 やっぱりそうですか。あの、perlの正規表現がつかえるとかをセットしても
》  駄目でしょうか。

 これはちょっと分かりません。もしかしたらできるかも知れませんが。

》  苦(.*|\n|\n +|\nP.*\n|\nP.*\n +)厭(.*|\n|\n +|\nP.*\n|\nP.*\n +)老(.*|\n|\
》n +|\nP.*\n|\nP.*\n +)病(.*|\n|\n +|\nP.*\n|\nP.*\n +)死

》 でやると、じゃあ〜ん!ちゃんと検索します。強欲の勝ちイ!!!(^o^)

 強欲+執念!!!

ところでこれは次のように書けると思います。

苦(\n?P*.*\n? *)厭(\n?P*.*\n? *)老(\n?P*.*\n? *)病(\n?P*.*\n? *)死

で,「\n?P*.*\n? *」をスキップ文字に指定すれば,検索してくれるでしょ
う。(多分)
(テキストの空白の全角半角に注意する必要があります)

》それではこれを、メニューにして頂けるでしょうか?

 検討しておきましょう。← まるで官僚答弁(^^;

 では, (^^)/~
                                        山紫水明



[ ]
RE:01328 検索行前後抽出.Mac No.01334
なむnomoto さん 00/04/17 21:31
 
re:1328

    山紫水明さん、
                    なむnomotoです

>》 「メニューで2行渡りを選択した人は、地獄に堕ちることを覚悟で選択して下
>》さい」って書けないしなぁ(^^;)
>
> そうですよね,自分の強欲のために衆生が地獄に堕ちるのを黙ってみているなん
>て。(^^;

  お助けを〜!。山紫水明慈悲菩薩さまー!! 合唱と合掌の阿鼻叫喚地獄。

>》 もうそろそろ、一段落したような振る舞いをしておきます。(-人-)
> 振る舞いだけですか。また本性が現れる?

  自分σ(^^)でも、どのような本性してるのか実はよく分かってないんですよ。

    ただし、これくらいの検索ができるマクロなら、一般的にもかなり使えると
    思います。必要に応じて色々使っている内に、発生してくる要求もあるかも
    知れません。ぜひフリーソフトにして下さいませ。他の方の本性も出てくるかと
    思います。 もっと欲の深〜いのが。(^^;) さすれば着々と完璧度が高まる。

     個性の強い独自な検索は、2行渡り検索の正規表現部分を、工夫するなどして、
    利用できると思います。
     良いなあ、これ。フォルダ内検索が付けば、云うことナシです。
      欲しい人は無いのかなあ。沢山に有ると思うけど。
     「2行渡りフォルダ内検索」マクロ。P:* をまたげば、3行渡りになりますね。

>》  直前検索と同じ条件
>》 のようなメニュウで、「直前検索と同じ条件」を選べば、直ちに実行するほうが、
>》 便利ではないでしょうか?
> 多くのファイルをまとめて検索できれば,実用的にはそれほど意味がないかも知
>れないとも思いますが。

  でも、何かお考えがあっての設定だったのでは? 深智を読めず。(・_;)

> 強欲+執念!!!
>ところでこれは次のように書けると思います。
>苦(\n?P*.*\n? *)厭(\n?P*.*\n? *)老(\n?P*.*\n? *)病(\n?P*.*\n? *)死

 そうか、執念が落ちてか、ううむ。まだ執念が足りん!(^^;)
  どうして、こんなに(簡単)になるんだろうか、と騙されているような気がして
  試してみると、なんと、確実にヒットしますね。
  ワテの智慧も足りんなぁ・・・・トホホ

>(テキストの空白の全角半角に注意する必要があります)

 あ、これは大丈夫そうです。あいまい検索に 全角空白<-->半角空白 が同一視
  されています。意地悪データも大丈夫でした。必要なら、ワテの方のjre32.dat
  をご利用頂いても良いかと。新旧漢字・異体字一応完全にカバー。類似漢字誤植
  対応もあります。

>》それではこれを、メニューにして頂けるでしょうか?
>
> 検討しておきましょう。← まるで官僚答弁(^^;

  こういう時は、OKという場合が非常に多いんですと、自己暗示。
  ありがとうございます。宜しくお願いします。

  ところで、山紫水明さんは、ご自身のhttp:をお持ちでしょうか、
  お差し支えなければ教えていただけないでしょうか?
                            なむnomoto


[ ]
RE:01334 検索行前後抽出.Mac No.01336
山紫水明 さん 00/04/17 23:39
 
    なむnomotoさん こんばんは。

》  でも、何かお考えがあっての設定だったのでは? 深智を読めず。(・_;)

 ないものは読めない! 浅智慧に過ぎませんでした。(^^;

》 あ、これは大丈夫そうです。あいまい検索に 全角空白<-->半角空白 が同一視
》  されています。意地悪データも大丈夫でした。

 なるほど,これはお見それしました。

》必要なら、ワテの方のjre32.dat  をご利用頂いても良いかと。新旧漢字・異体
》字一応完全にカバー。類似漢字誤植  対応もあります。

 いずれいただきたくなるかもかも知れません。その節はよろしく。m(__)m

》  ところで、山紫水明さんは、ご自身のhttp:をお持ちでしょうか、

 いや,今のところありません。

》 良いなあ、これ。フォルダ内検索が付けば、云うことナシです。

 これに関連することですが,
 MS-DOS プロンプトを開いて, "DIR" 実行していただけませんか。

HH       EXE        26,896  99-07-15   9:08 hh.exe
ILERRORS LOG            60  00-03-04  10:50 ilerrors.log
ACTIVE~1 TXT        37,728  99-07-15  10:45 Active Setup Log.txt
IESETU~1 TXT        90,266  99-07-15   9:20 IE Setup Log.Txt
OFFLIN~1       <DIR>        99-07-15  10:49 Offline Web Pages

 このように,右側に完全なファイル名が示されるでしょうか。
DOS の Version によって違うかも知れませんので。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01336 検索行前後抽出.Mac No.01338
なむnomoto さん 00/04/18 20:44
 
re:1336

     山紫水明さん、
                なむnomotoです

>》  でも、何かお考えがあっての設定だったのでは? 深智を読めず。(・_;)
>
> ないものは読めない! 浅智慧に過ぎませんでした。(^^;

  なにか秘策が隠れてるような感じもします。(^^;)

>》  ところで、山紫水明さんは、ご自身のhttp:をお持ちでしょうか、
>
> いや,今のところありません。

 ふ〜ん。そうなんですか。では、お勧めのマクロとか、ご自作秘伝マクロ
  とか、「フリーで使って良いよ」ってマクロなんか有りませんでしょうか?

> これに関連することですが,
> MS-DOS プロンプトを開いて, "DIR" 実行していただけませんか。

 実行させて頂きました。下記です。

 ----NEC9821Xn Windows 95 -------------------
 ドライブ D: のボリュームラベルはありません.
 ボリュームシリアル番号は 3B16-11D0
 ディレクトリは D:\字数計算
.              <DIR>        99-03-11  16:50 .
..             <DIR>        99-03-11  16:50 ..
字数CNT  PL          1,301  00-04-04  13:04 字数cnt.pl
字数CNT2 PL            824  98-06-16  22:46 字数cnt2.pl
字数CNT  BAT            59  98-11-25   2:35 字数cnt.bat
字数CNT  PIF         1,021  98-11-25  11:29 字数cnt.PIF
JI_CNT   TXT           905  98-08-25   0:05 ji_cnt.txt
法華字数 TXT            60  98-06-15  22:31 法華字数.txt
一括字数 TXT           198  98-08-25   2:05 一括字数.txt
維摩玄疏 TXT            90  98-06-23   7:00 維摩玄疏.txt
涅槃玄義 TXT            91  98-06-16  22:53 涅槃玄義.txt
觀心論疏 TXT            89  98-06-16  22:56 觀心論疏.txt
HM_COUNT BAT            68  98-08-24  23:54 HM_count.bat
峰山     TXT           282  98-11-25  11:28 峰山.txt
   ------------------------------------<

  あ、<DIR> 部分の表示がないか。でもこれで良いですか?


[ ]
RE:01338 検索行前後抽出.Mac No.01339
山紫水明 さん 00/04/18 22:48
 
    なむnomotoさん こんばんは。

》  なにか秘策が隠れてるような感じもします。(^^;)

 なかなか疑い深い(^^; そいじゃ,そういうことにしておきましょうか,なにや
ら神秘的な方がいいかも?

》 実行させて頂きました。下記です。

》涅槃玄義 TXT            91  98-06-16  22:53 涅槃玄義.txt
》觀心論疏 TXT            89  98-06-16  22:56 觀心論疏.txt
》HM_COUNT BAT            68  98-08-24  23:54 HM_count.bat
》峰山     TXT           282  98-11-25  11:28 峰山.txt
》   ------------------------------------<

》  あ、<DIR> 部分の表示がないか。でもこれで良いですか?

 一番右側にファイル名が出ていますよね,これで結構です。
 この場合はファイル名がすべて DOS で使える長さに収まっているので,左側と
右側のファイル名が一致していますが,長くなると左側のファイル名は省略形にな
ることはご存じのととおりです。
 そして,省略形のファイル名では開くことができないのです。

 ともあれ,これでフォルダー内のファイル検索はできますが,さあ,どうしまし
ょうか。ここにまた全文を挙げるのはちょっと憚られるので,フリーソフトとして
登録することにしましょうか。そうなると,いろいろ書くことがありそうで,ちょ
っと気後れしそうです。(^^;

》 ふ〜ん。そうなんですか。では、お勧めのマクロとか、ご自作秘伝マクロ
》  とか、「フリーで使って良いよ」ってマクロなんか有りませんでしょうか?

 うーん,このツリーも長くなりすぎましたので,続きは FWINAL19 に。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01339 検索行前後抽出.Mac No.01340
なむnomoto さん 00/04/19 01:40
 

  山紫水明さん
              なむnomotoです


> なかなか疑い深い(^^; そいじゃ,そういうことにしておきましょうか,なにや
>ら神秘的な方がいいかも?

  おお、ハンドル名と同じ雰囲気になってきました。(^o^)

> そして,省略形のファイル名では開くことができないのです。
>
> ともあれ,これでフォルダー内のファイル検索はできますが,さあ,どうしまし
>ょうか。ここにまた全文を挙げるのはちょっと憚られるので,フリーソフトとして
>登録することにしましょうか。そうなると,いろいろ書くことがありそうで,ちょ
>っと気後れしそうです。(^^;

  おお、「出来てる!」。ますます神秘的。
  ロングファイル名ではだめなんですね。


> うーん,このツリーも長くなりすぎましたので,続きは FWINAL19 に。

  馳せ参じます。


[ ]
RE:01340 検索行前後抽出.Mac No.01341
山紫水明 さん 00/04/19 21:26
 
    なむnomotoさん こんばんは。

》>神秘的な方がいいかも?

》  おお、ハンドル名と同じ雰囲気になってきました。(^o^)
 そのうち
 幽霊の正体見たり枯れ尾花

》  ロングファイル名ではだめなんですね。

 いや,そうではなくて,前回の DIR は,ロングファイル名を取得できるかどう
かを確かめたかったのです。
 それで,なむnomotoさんのPCでもできるだろうという見通しができました。

 先ほど,ここのライブラリに登録をお願いしました。

 では, (^^)/~
                                        山紫水明


[ ]
RE:01341 検索行前後抽出.Mac No.01342
山紫水明 さん 00/04/21 10:38
 
    皆さん,こんにちは。

 前後行抽出マクロに早速 (^^; バグが見つかりましたので,修正版の登録をお願
いしました。

                                        山紫水明


[ ]