アウトプット枠への出力はマクロ化したほNo.09388
天翔記.jp さん 17/03/27 16:32
 
いつもお世話になっております、天翔記.jpです。

秀丸マクロを組む際にいつも思っていたのですが、

##OUT = loaddll("HmOutputPane.dll");
#ret=dllfunc(##OUT, "Output",hidemaruhandle(0),"メッセージ\r\n");
freedll(##OUT);

に相当する処理は、

printfやconsole.log等にも近しい感覚のモノなので、
マクロ関数化した方がいいと思います。

事前に想像するスクリプト記述と、
実際の記述の煩わしさの乖離が大きいように思えます。
(別窓のアウトプットへ書き込み…とか通常やりませんし…)

・(カレント)アウトプット枠への追記
・(カレント)アウトプット枠のクリア

ぐらいでほとんどのシーンにおける使用目的をカバーできるのではないかと。


多くの言語でも、io/pipe/streamを使用した詳細なコントロールをするライブラリの
ショートカット的な意味で
print関数に相当する手軽なもの(もしくはシンボル)を持たせているわけですし。

どうでしょうか。

[ ]
RE:09388 アウトプット枠への出力はマクロNo.09389
秀丸担当 さん 17/03/27 17:32
 

アウトプット枠のdllの呼び出しは確かに書き方は面倒かもしれません。
どちらかというとアウトプット枠はエンドユーザー向けで、あまり使われていな
い気もしますが、本来はdebuginfoという文を使ってデバッガに出力できたりし
ます。
OutputDebugStringと同じです。
VisualStudioであれば、hidemaru.exeを「プロセスにアタッチ...」した状態で、
debuginfo 1;
debuginfo "log\n";
とかすると出力枠に情報が出力されたりします。

[ ]
RE:09389 アウトプット枠への出力はマクロNo.09392
天翔記.jp さん 17/03/27 19:47
 
debuginfoがらにみについては、
http://秀丸マクロ.net/?page=nobu_tool_hm_debugmonitor
をライブラリに提出させていただいていることもあり、
「送信」や「受信」の仕組みについて、
ある程度は把握しているつもりなのですが、

・debuginfo
・アウトプット枠への文字列出力

この2つは使用用途が異なると思います。

アウトプット枠(出力ウィンドウ)への表示を、より手軽なものとしていくことで、
プログラミングに全く縁遠い人にとっても
その利用をより身近なものにしていけると思います。

[ ]
RE:09392 アウトプット枠への出力はマクロNo.09394
秀丸担当 さん 17/03/28 11:06
 

debuginfoは既に使われているばかりでなく、デバッグモニタまで作っておられ
たとは、失礼しました。
debuginfoとは別に、簡便にアウトプット枠に出せる方法があってもいいと思い
ます。
あるいはdebuginfoのパラメータ次第でアウトプット枠を指定できてもいいかも
しれません。
今後の参考にさせていただきます。

[ ]