grep の後データ郡を ClipBoard に入れるNo.01240
番頭++ さん 00/03/23 15:50
 
データの形式
--------------------

1:a
2:a
3:a
4:a
5:a
6:a

1:a
2:a
... (略)
6:a

1:a
2:a
3:a
4:a
5:a
6:a

--------------------


//*1    gdgc1.mac
//  grep の後データ郡を ClipBoard に入れる。
    $wk2 = "h:\\a1.txt";
    $wk1 = input("検索するファイル - "+$wk2+"\n\n検索する文字列 ?","");
    if( ! result ){ endmacro;   }
    if( strlen($wk1) == 0 ){
        grepdialog;
        if( ! result ){ endmacro;   }
        if( iskeydown( 0x1B ) ){    //  [Esc]
            if( basename == "" && x+y == 0 ){
                quit;   endmacro;
            } else {
                endmacro;
            }
        }
    } else {
        grep $wk1, $wk2, directory2, icon;
    }
    if( basename == "" && code == eof ){
        quit;   endmacro;
    }
    setclipboard "";    //  clear
    #y = -1;
    while( code != eof ){
        tagjump;
        if( ! result ){
            message "tagjump failed !";
            endmacro;
        }
        escape; searchup "^\n", regular;
        if( ! result ){
            message "データを区切る改行(開始)がありません ";
            endmacro;
        }
    if( y != #y ){  //  重複しない処理
        #y = y;
        escape; down;   beginsel;
        searchdown "^\n", regular;
        if( ! result ){
            message "データを区切る改行(終了)がありません !";
            endmacro;
        }
        down;
        question "このデータをクリップボードに入れますか ?";
        if( result ){   appendcopy; #k = #k + 1;    }
    }
        escape;
        backtagjump;
        if( ! result ){
            message "backtagjump failed !";
            endmacro;
        }
        golinetop2; down;
    }
    if( #k ){
        newfile;    paste;  gofiletop;
        message str(#k) + " - 件のデータを処理しました。";
    }
    setsearch "", 0x00; //  reset. 記憶にありません !
endmacro;

[ ]
RE:01240 grep の後データ郡を ClipBoard No.01241
番頭++ さん 00/03/23 16:11
 
あとは趣味なのでこの辺にしておきます。

//*1    gdgc2.mac
//  grep の後データ郡を ClipBoard に入れる。
    $wk2 = "h:\\a1.txt";
    $wk2 = input("検索するファイル ?",$wk2);
    if( ! result ){ endmacro;   }
    if( strlen($wk2) == 0 ){    endmacro;   }
    $wk1 = input("検索するファイル - "+$wk2+"\n\n検索する文字列 ?","");
...
        question "このデータをクリップボードに入れますか ?";
        if( result ){   appendcopy; #k = #k + 1;    }
        if( iskeydown( 0x10 ) ){    //  [Shift] で終わる。
            escape; backtagjump ;   endmacro;
        }
...
        message str(#k) + " - 件のデータを処理しました。";
    }
    closehidemaruforced hidemaruhandle(findhidemaru($wk2)); //  検索するファ
イルを閉じる。
    closehidemaruforced 1;  //  grep の結果を閉じる。
    setsearch "", 0x00; //  reset. 記憶にありません !
endmacro;


[ ]
RE:01241 grep の後データ郡を ClipBoard No.01242
番頭++ さん 00/03/23 17:42
 
>あとは趣味なのでこの辺にしておきます。
>
>//*1    gdgc2.mac
>//  grep の後データ郡を ClipBoard に入れる。

いかんいかん、バグがありました ...

//*1    gdgc2.mac
//  grep の後データ郡を ClipBoard に入れる。
    $wk2 = "h:\\a1.txt";
    $wk2 = input("検索するファイル ?",$wk2);
    if( ! result ){ endmacro;   }
    if( strlen($wk2) != 0 ){
        $wk1 = input("検索するファイル - "+$wk2+"\n\n検索する文字列 ?","");
        if( ! result ){ endmacro;   }
    }
    if( strlen($wk1) == 0 ){
//      setsearch "", 0x00;
        grepdialog;

... (略)

    }
    closehidemaruforced hidemaruhandle(findhidemaru($wk2)); //  検索するファ
イルを閉じる。
    setsearch "", 0x00; //  reset. 記憶にありません !
    if( #k ){
        newfile;    //  結果を新規ファイルに入れる。
        paste;  gofiletop;
        message str(#k) + " - 件のデータを処理しました。";
        closehidemaruforced 1;  //  grep の結果を閉じる。
    } else {
        quit;
    }
endmacro;


[ ]
RE:01242 grep の後データ郡を ClipBoard No.01243
なむnomoto さん 00/03/23 22:02
 

 番頭++さん おおきに
             なむNOMOTOです
                        

  gdgc2.mac をやってみます。
       取りあえずご挨拶。

[ ]
RE:01242 grep の後データ郡を ClipBoard No.01250
なむnomoto さん 00/03/24 19:20
 

  番頭++さん
                   なむnomotoです

>//*1    gdgc2.mac

  を注意して繋ぎましたが、式がおかしいと叱られました。
  完成版をお願いできませんか?

>//  grep の後データ郡を ClipBoard に入れる。
>    $wk2 = "h:\\a1.txt";
>    $wk2 = input("検索するファイル ?",$wk2);
>    if( ! result ){ endmacro;   }
>    if( strlen($wk2) != 0 ){

   この if( strlen($wk2) != 0 ){ を指してますが
   間違っているようには思えません。

 多分、私の他の場所のつなぎがおかしいからだと思います。
 お願いします。

[ ]