output や dump などを使って、Curl のコンソールにログ出力をすることができますが、
あるタイミングで、これまでコンソールに出力された内容を取得して、
クリップボードに保持することはできますでしょうか。
コンソールを開いて、「すべてコピー」するのと同じことをしたいです。
{get-stdin} を利用するのかなと思ったのですが、どう使えばよいかわかりませんでした。
output や dump プロシージャで、Curlコンソールに文字を出力できると思いますが、
そのCurlコンソールに出力された情報を取得
stdout プロシージャで、標準出力の参照先を StringBuf などにして、
その値を参照することで output などの結果をためておくことができるのはわかりました。
Code:
{def tos = {StringBuf}}
{CommandButton
label = "set-stdout",
{on Action do
{set-stdout tos}
}
}
{CommandButton
label = "output \"bbb\"",
{on Action do
{output "bbb"}
}
}
{CommandButton
label = "popup-stdout",
{on Action do
{type-switch {get-stdout}
case strb:StringBuf do
{popup-message {strb.to-String}}
else
{popup-message {type-of {get-stdout}}}
}
}
}
しかし、これだと、コンソールには出力されなくなってしまうので、
目的に合致しません。
「コンソールに出力されている」値を取得する方法があれば、教えてください。
拡張ライブラリのinitialize-logプロシージャで出力先をファイルにして、
そのファイルを操作する方法ではいかがでしょうか?取得後にファイルをクリアすれば
同等の機能が実現できるかと思います。