汎用機メモっとくか

しごと用の(学習メモ&お気に入り保存)。

サクラエディタ・VXEditorでjgawkを使う(2)

2015年02月04日 03時16分34秒 | editor

サクラエディタ・VXEditorでjgawkを使う(2)

VXEditor 0.7.5.0
サクラエディタ Ver. 2.0.3.1

//<test07.dms>VXEditor用
var oEditor = new Editor;
var i;
var j;
var i_sta;
var i_end;
var data3 = new Array();
var result_compile;
var oWSHShell = new ActiveXObject("WScript.Shell");
 
if(oEditor.Selected == false){
    oEditor.SelectAll(0);
}
 
i_sta = oEditor.SelSr;
i_end = oEditor.SelEr;
 
j = 0;
for(i = i_sta ; i
    data3[j] = oEditor.GetLineString(i);
   j++;
}
//oEditor.SelText = data4;
var oExec = oWSHShell.Exec('D:\gawkm115\jgawk -f "C:\Users\tkhs1732\Desktop\a001.awk"');

    oExec.StdIn.Write(data3.join("\n") + "\n");
    oExec.StdIn.Close();
    sleep(1000);
    //oWSHShell.Popup("waitの為。OKを押してください。",0,"メッセージ",0);
     if (!oExec.StdOut.AtEndOfStream)
          oEditor.SelText = oExec.StdOut.ReadAll();
 
     if (!oExec.StdErr.AtEndOfStream)
          oEditor.SelText = oExec.StdErr.ReadAll();
 
    oWSHShell.Popup("処理終了",0,"メッセージ",1);
 
delete oWSHShell;

//<test07.js>サクラエディタ用
var i;
var j;
var i_sta;
var i_end;
var data3 = new Array();
var result_compile;
var oWSHShell = new ActiveXObject("WScript.Shell");
 
if(Editor.IsTextSelected(0)==0){
    Editor.SelectAll(0);
}
 
i_sta = Editor.GetSelectLineFrom();
i_end = Editor.GetSelectLineTo();
 
j = 0;
for(i = i_sta ; i
    data3[j] = Editor.GetLineStr(i);
   j++;
}
//Editor.SelText = data4;
var oExec = oWSHShell.Exec('D:\\gawkm115\\jgawk -f "C:\\Users\\tkhs1732\\Desktop\\a001.awk"');

    oExec.StdIn.Write(data3.join(""));
    oExec.StdIn.Close();
    
    func_Sleep(1000);
    //oWSHShell.Popup("waitの為。OKを押してください。",0,"メッセージ",0);
     if (!oExec.StdOut.AtEndOfStream)
          Editor.InsText(oExec.StdOut.ReadAll());
 
     if (!oExec.StdErr.AtEndOfStream)
          Editor.InsText(oExec.StdErr.ReadAll());
    Editor.GoFileTop(0);
    oWSHShell.Popup("処理終了",0,"メッセージ",1);
 
delete oWSHShell;

function func_Sleep(ms) {
    var d1 = new Date().getTime();
    var d2 = new Date().getTime();
    while( d2 < (d1 + ms) ) {
        d2 = new Date().getTime();
    }
    return;
}