[BACK]Return to asirgui.mac CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / windows / post-msg-asirgui

Diff for /OpenXM_contrib2/windows/post-msg-asirgui/asirgui.mac between version 1.4 and 1.5

version 1.4, 2013/11/14 17:28:29 version 1.5, 2013/11/19 13:03:59
Line 1 
Line 1 
 // $OpenXM: OpenXM_contrib2/windows/post-msg-asirgui/asirgui.mac,v 1.3 2013/11/14 17:21:51 ohara Exp $  // $OpenXM: OpenXM_contrib2/windows/post-msg-asirgui/asirgui.mac,v 1.4 2013/11/14 17:28:29 ohara Exp $
 // Keep shift-jis code!  // Keep shift-jis code!
 call Main;  call Main;
 endmacro;  endmacro;
 Main:  Main:
 $asirpath=getenv("HOMEPATH")+"\\Desktop\\asir\\bin\\";  $asirpath=getenv("HOMEPATH")+"\\Desktop\\asir\\bin\\";
 $asir_rootdir=getenv("ASIR_ROOTDIR");  $asir_rootdir=getenv("ASIR_ROOTDIR");
 if($asir_rootdir!="" && existfile($asir_rootdir+"\\bin\\asirgui.exe")) {  if($asir_rootdir!="" && existfile($asir_rootdir+"\\bin\\asirgui.exe")) {
     $asirpath=$asir_rootdir+"\\bin\\";      $asirpath=$asir_rootdir+"\\bin\\";
 }  }
 menu "asirgui起動","編集中のファイルの実行","選択範囲の実行","行の実行","選択範囲の実行(paste)","行の実行(paste)";  menu "asirgui起動","編集中のファイルの実行","選択範囲の実行","行の実行","選択範囲の実行(paste)","行の実行(paste)";
 if (result==0) endmacro;  if (result==0) endmacro;
 else if (result == 1) {  else if (result == 1) {
   run $asirpath+"asirgui";    run $asirpath+"asirgui";
 } else if (result == 2) {  } else if (result == 2) {
   run "cmd /c "+$asirpath+"cmdasir %f";    run "cmd /c \""+$asirpath+"cmdasir\" %f";
 } else if (result == 3) {  } else if (result == 3) {
   call ExecuteSelectedArea;    call ExecuteSelectedArea;
 } else if (result == 4) {  } else if (result == 4) {
   call ExecuteSelectedLine;    call ExecuteSelectedLine;
 } else if (result == 5) {  } else if (result == 5) {
   call ExecuteSelectedAreaByPaste;    call ExecuteSelectedAreaByPaste;
 } else if (result == 6) {  } else if (result == 6) {
   call ExecuteSelectedLineByPaste;    call ExecuteSelectedLineByPaste;
 }  }
 return true;  return true;
 ExecuteSelectedArea:  ExecuteSelectedArea:
   if(selecting) {    if(selecting) {
   $s = gettext(seltopx,seltopy,selendx,selendy);    $s = gettext(seltopx,seltopy,selendx,selendy);
 //  message "選択範囲は、" + $s + "です. ステルスウインドウに書き出すのはまだ書いてない.";  //  message "選択範囲は、" + $s + "です. ステルスウインドウに書き出すのはまだ書いてない.";
     $tmp_fname = getenv("TEMP")+"\\cmdasir-tmp-hidemaru.rr";      $tmp_fname = getenv("TEMP")+"\\cmdasir-tmp-hidemaru.rr";
     run "cmd /c del "+$tmp_fname ;      run "cmd /c del "+$tmp_fname ;
     call MakeFile $tmp_fname,$s;      call MakeFile $tmp_fname,$s;
     run "cmd /c "+$asirpath+"cmdasir "+$tmp_fname;      run "cmd /c \""+$asirpath+"cmdasir\" "+$tmp_fname;
   } else {    } else {
   message "範囲選択されていません";    message "範囲選択されていません";
   }    }
   return true;    return true;
 ExecuteSelectedLine:  ExecuteSelectedLine:
   golinetop;    golinetop;
   beginsel;    beginsel;
   golineend;    golineend;
 //  message(str(seltopx) + "," + str(seltopy) + "," + str(selendx) + "," + str(selendy));  //  message(str(seltopx) + "," + str(seltopy) + "," + str(selendx) + "," + str(selendy));
   call ExecuteSelectedArea;    call ExecuteSelectedArea;
   return true;    return true;
   
 // MakeFile in cmd_perl. See  // MakeFile in cmd_perl. See
 //      http://d.hatena.ne.jp/ohtorii/  //      http://d.hatena.ne.jp/ohtorii/
 //      https://github.com/ohtorii  //      https://github.com/ohtorii
   
 MakeFile:  MakeFile:
         $$tmp_filename  = $$1;          $$tmp_filename  = $$1;
         ##old_charset   = charset;          ##old_charset   = charset;
         $$text=$$2;          $$text=$$2;
         ##prev_hidemaru = hidemaruhandle(0);          ##prev_hidemaru = hidemaruhandle(0);
   
         openfile "/h " + $$tmp_filename;          openfile "/h " + $$tmp_filename;
         if(! result){          if(! result){
                 message("テンポラリファイルのオープンに失敗。\n" + $$tmp_filename);                  message("テンポラリファイルのオープンに失敗。\n" + $$tmp_filename);
                 return false;                  return false;
         }          }
         ##new_hidemaru = hidemaruhandle(0);          ##new_hidemaru = hidemaruhandle(0);
         setencode ##old_charset,1;          setencode ##old_charset,1;
         insert $$text;          insert $$text;
   
         save;          save;
         setactivehidemaru       ##prev_hidemaru;          setactivehidemaru       ##prev_hidemaru;
         closehidemaruforced ##new_hidemaru;          closehidemaruforced ##new_hidemaru;
         return true;          return true;
   
 ExecuteSelectedAreaByPaste:  ExecuteSelectedAreaByPaste:
   if(selecting) {    if(selecting) {
   $s = gettext(seltopx,seltopy,selendx,selendy);    $s = gettext(seltopx,seltopy,selendx,selendy);
 //  message "選択範囲は、" + $s + "です. ステルスウインドウに書き出すのはまだ書いてない.";  //  message "選択範囲は、" + $s + "です. ステルスウインドウに書き出すのはまだ書いてない.";
     $tmp_fname = getenv("TEMP")+"\\cmdasir-tmp-hidemaru.rr";      $tmp_fname = getenv("TEMP")+"\\cmdasir-tmp-hidemaru.rr";
     run "cmd /c del "+$tmp_fname ;      run "cmd /c del "+$tmp_fname ;
     call MakeFile $tmp_fname,$s;      call MakeFile $tmp_fname,$s;
     run "cmd /c "+$asirpath+"cmdasir --paste-contents "+$tmp_fname;      run "cmd /c \""+$asirpath+"cmdasir\" --paste-contents "+$tmp_fname;
   } else {    } else {
   message "範囲選択されていません";    message "範囲選択されていません";
   }    }
   return true;    return true;
 ExecuteSelectedLineByPaste:  ExecuteSelectedLineByPaste:
   golinetop;    golinetop;
   beginsel;    beginsel;
   golineend;    golineend;
 //  message(str(seltopx) + "," + str(seltopy) + "," + str(selendx) + "," + str(selendy));  //  message(str(seltopx) + "," + str(seltopy) + "," + str(selendx) + "," + str(selendy));
   call ExecuteSelectedAreaByPaste;    call ExecuteSelectedAreaByPaste;
   return true;    return true;
   

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>