定型句をmenuでgrepNo.05837
lotus さん 08/03/13 14:49
 
初めて質問させていただきます。マクロ初心者ですので,皆さま宜しくお願いいたし
ます。

定型句をmenuからgrepしようと思って

//検索ディレクトリイ

$texfile = "c:/tex/texファイル";

//データファイルの名前とセクション名

$DATA_FILE = "c:/program files/hidemaru/macros/bunrui.dat";
$nendo = "Bunrui";


//定型句をデータファイルから読み出す。

//データの個数を取得
#bunrui_num = getininum($DATA_FILE,
                       $nendo, "num");

//定型句のデータの取得

#a = 0;
while (#a < #bunrui_num) {
  $bunrui[#a] = getinistr($DATA_FILE,
                        $nendo, "str" + str(#a));
   #a = #a + 1;
}

//メニューの表示

menuarray $bunrui, #bunrui_num;

//定型句のgrep

if (result != 0) {
  grep "$bunrui[result - 1]","*.tex",$texfile,word,subdir,filelist;
}


としたところ,検索ディレクトリイ($texfile)の方は,きちんと指定したディレクト
リイを読んでくれるのですが,"検索キーワード"
の方が,そのまま"$bunrui[result - 1]"という単語をそのまま検索してしまい、
データファイルのデータが反映されません。
resultの内容をgrepするには" "の中をどのように記述すればよろしいのでしょうか。
つまらない質問かと思いますが,宜しくお願いいたします。




[ ]
RE:05837 定型句をmenuでgrepNo.05838
K'zawa さん 08/03/13 15:18
 
lotusさん、こんにちは。
K'zawaです。

  grep $bunrui[result - 1],"*.tex",$texfile,word,subdir,filelist;

とすればいいと思います。

[ ]
RE:05838 定型句をmenuでgrepNo.05840
lotus さん 08/03/13 17:02
 
K'zawaさん,ご教授ありがとうございます。


いろいろやってみたところ

>  grep "$bunrui[result - 1]","*.tex",$texfile,word,subdir,filelist;

とすると$bunrui[result - 1]を文字として認識して,$bunrui[result - 1]そのもの
を検索してしまい

>  grep $bunrui[result - 1],"*.tex",$texfile,word,subdir,filelist;

とすると,""を検索してしまうようなのです。

同じマクロで最後の部分を

insert $bunrui[result - 1];

としたものが,秀丸エディタハンドブックにあり,これだときっちりinsertします。
grep の場合は微妙にやり方が違うのでしょうか?

あるいは,私の勘違いなのでしょうか?

ご教授宜しくお願いいたします。

[ ]
RE:05840 定型句をmenuでgrepNo.05842
K'zawa さん 08/03/13 19:19
 
lotusさん、こんにちは。
K'zawaです。

grep の時点で、resultがクリアされてしまうようです。
下記のようにしたらどうなるでしょうか?

menuarray $bunrui, #bunrui_num;
#r = result;

//定型句のgrep

if (#r != 0) {
  grep $bunrui[#r - 1],"*.tex",$texfile,word,subdir,filelist;
}

[ ]
RE:05842 定型句をmenuでgrepNo.05843
lotus さん 08/03/13 20:45
 
K'zawaさんできました!

いろいろな本なども調べたのですが,どうしてもわからなくて困っていたので本当に
助かりました。これでうまくマクロが作れそうです。

お忙しいところご教授いただき感謝しております。本当にありがとうございました。
またお手を煩わせるかもしれませんが宜しくお願いいたします。


[ ]