あきろさんに教えてもらった印刷マクロを改造して便利に使っていますが、 ブロック印刷した後、編集画面に戻ってもブロックが指定されたままになっているのが不便です。 印刷した後はブロックを解除するには何を付け加えたらいいでしょうか? 下記が利用しているマクロです。 === mk_print.def === H岡氏の美しいマクロを汚してしまいました by akiro ●ブロック起動->ブロック部分をファイル化して閲覧 * M 89^\"xyzzy ppm 印刷" k=ks, ;■akiro挿入 (h=s)>?{ >A . >E >H . } ;▲編集/コマンドライン/ファイラーモードで起動可 ;:A (mb)?{ &s #S &?("%strash\###.mk",pi) #m (s==4)?'Y' &d (0) } ;★ :A (mb)?{ &s #S &?("c:\prt.tmp",pi) #m (s==4)?'Y' &d (0) } ;★ ?{ &Sc(pf,wa+146) } ;↑↑■akiro書き換え #E >E :H &Fi &Fg(pf,1) ;ファイラー上のカーソル位置のファイル名->pf (r&16)?h--, ;ディレクトリなら無視 #H ;:E ss2, "g:\mkeditor\MKEDITOR.exe" ;◆ご本体(^^) :E ss2, (k&1)?{"c:\tool\ppm.exe -s 1 -p -q"} ;■akiro書き換え;さらに追加 -s 1 -p ; ?{"c:\xyzzy\xyzzy.exe -p"} ;■akiro書き換え ?{"C:\TOOL\WINPRT\WLPRT32.EXE"} ;■でがらし書き換え (h-2)?{ &?(" %s",pf) } &d #m (h)??#[ (h==3)?#98 * ======
大変無責任ですし、僭越なのですが、見やすく整理させていただいて、でがら しさんの要望だけ実現したつもりです。 意図は、ああ、せっかくのプログラムがそれでは可哀想(タブ飛び etc)、で した。自分でもやったばかりですが…。 トレース命令(&t)が入ってます。とりあえず、ブロックモードで動かして様子 をみてください。 細かくは、きっとめざらさんが。m(__)m === mk_print.def === H岡氏の美しいマクロを汚してしまいました by akiro ●ブロック起動->ブロック部分をファイル化して閲覧 * M 89 ^\ "xyzzy ppm 印刷" k=ks, ;shift (h=s)>?{ >A . >E >H . } ;edit/commandline/filer :A ;--- edit mode &t (mb)? { &s #S &?("c:\prt.tmp") #m ;★変だったと思う。 (s==4)?'Y' ;★またしても「書式制御」! mb-, ;★追加★ コメントアウトして試してね &d (0) } ? { &Sc(pf,wa+146) } #E >E :H ;--- filer mode &Fi &Fg(pf,1) ;ファイラー上のカーソル位置のファイル名->pf (r&16)? h--, ;ディレクトリなら無視 #H :E ;--- commandline mode ss2, (k&1) ?{"c:\tool\ppm.exe -s 1 -p -q"} ?{"C:\TOOL\WINPRT\WLPRT32.EXE"} ;■でがらし書き換え (h-2) ?{ &?(" %s",pf) } &d #m ; if commandline, stay there (h) ?? #[ ; if edit, then back to E (h==3) ? #98 ; if filer, then back to F *
>H岡教授も凝り性だよね。全天候凝り性と言うんですかね。
>自分だったら最初に?.を書いて済ませてしまう。
> しかし、「最初に ?. を書いて済ませてしまう」とか、
>「印刷マクロをコマンドラインから起動」とか、よくわかりません。
>後者はコマンドラインからでも起動できるってことかな?
> 例えば、トム・クルーズは、文字が全くだめみたいですが、
> あと、メモリ関係の図も、何度読んでも頭に入りません。
> ただ、今回の件ですと、文太さんの &t を試してみた報告を、でがらしさん
>は書いたほうが良かったかなあと思いました。
でがらしさん>VZの濃厚ユーザーの数って、10人を切っていますかね?うーん、でがらしさんの質問に答えてくれるかもしれない人(だれの質問であ れ答えてくれる人)は、3人、多くて6人でしょう。 質問する人がいなくなったときが、公に、Vzが死ぬときだろうとは思うけど…。>どうもまだ数百人は手を切れない人がいるような気がしていました。僕もそんなふうに想像します。数百でなく、百人ぐらいかな。 でも、そのうちの97人が世の中に影響を及ぼしたり(間接的に我々に影響を 与える)、直接に我々を助けてくれたり、ということはほぼないのではないかし ら。 また、我々はVzをマクロを搭載したものとして愛していますが、LX、モバ ユーザののような古参のPCヘビーユーザ(プログラマなど)でも、必ずしもマ クロを意識しているわけではないでしょう。悲しい事実ですが、我々は圧倒的少 数派で、絶滅危惧種なんだと思います。>そのときは画面下に何か表示が出てきましたが、そこでエンターを押すと先へ進ん>じゃったので、やりますね。野性の勘といってよいのかな。積み上げてきた努力のたまものと いうべきでしょうか。エンターですか。 ただそれって、&t を消したのと同じ効果です。&t を書いたひとは、消される ことではなく、スペースが押されることを期待していたはずですけれど。 以下、無理する必要などまったくありません。 言わずもがなですが、今さらVzマクロの勉強を誰かが始めるべきだとは、僕 も考えていません。押しつけるつもりも、まったくありません。とはいえ、何か 他に特殊な能力がないなら、大昔、でがらしさんの FGALDC デビュー時に高橋さん が仰られていたように、ギブ&テイクが成り立たないかもしれないとは思います。 もっともギブする人の懐の深さ、Vzへの愛の深さの問題でもありますけどね。m(__)m === Macrotmp by B === ;文字が書き出されて良いファイル上で実行 ;Vz macro userが修得すべきマクロ・コマンド(関数)のテスト。&tと&s。 * M 50 ^^ "Macrotmp" ?. ;(0) edit/commandline/filer 3通り &t ;(1) space keyin/enter keyin/comment out 3通り ;&s ;(2) comment out/in 2通り "ぶ" "ん" ;ここからトレース窓で、コードを見ることができないのは "た" ;仕様でしょう。 "で" "す" &d . * 因みにこれ、してくれる仕事という意味では、上村さんの『マクロ道場』の 一番最初に出てくる「実用マクロ」と、同型なはずです。シャーロック・ホームズ だったかな? Baker Street。
>作ってもらったマクロ、試してみました。
>&sの意味がわからないので、
>そのうち黒本で調べてみます。
>上さんのマクロの説明の1章は理解しました。
>文太さんもなかなかに粘着系の人だから。
>私ら生っ粋の粘着人間から見ると、でがらしさんは相対的に淡白に見えるの
>は確か。恐らく、ヒトとしてはそちらが正解だとは思うんですけどね。
でがらしさん、ごゆっくりでどうぞ。> ?.で3つ。最初のだけ利いて、後の2つは稼動せずでした。ということは、マクロ冒頭の「?.」はどういう意味ということになりますか? 全天候型マクロとは、どういうマクロですか? 答える必要はありません。もうお分かりでしょうから。ただ、そこまで書いて もらうと(理解してもらうと)、次からそこはクリアしてるんだ、とコミュニケ ーションできるじゃないですか、と言いたいだけなのです。> &t は3つ。 最初だと下の欄に文字が出てきてスペースを繰り返して押してい>ると、「ぶんたです」といつか出てきます。エンターだといきなり「ぶんたです」>と出てきます。コメントアウトはエンターと同じです。はい。&t は「トレース・モード」にする命令です。「トレース・モード」と は、命令を1つずつ実行していくモードです。 === Macrotmp by B ===;トレース・モードを体験 ^ここにカーソルをおいて実行。このファイルを使用してください。 上の行には、混乱がないようにスペースが入っています。 * M 50 ^^ "Macrotmp" ?. &t ;コメントアウトした場合も実験してください。 #d #d #d #d #d ;右へ1文字カーソル移動。これを5回という意味。 ;エンターもいいけど、まず、スペースキーでどうぞ。 *> &sは2つ。これはどっちでも動作が変わらないです。2つとは何でしょう? とても変です。 ;&s ;(2) comment out/in 2通り コメントアウト記号「;」を取る、そのままにする、の2通りが僕の意図です。> #3342 での&sというのはどういうことかわかりません。あのままの状態で、&s命令【だけ】「コメントアウト」してみてください。 そして、トレース実行です。スペースキー連打です。もちろん、コメントアウト してないときの動作との、違いをみるのが目的です。 コメントアウト「;」は、行単位で作用してしまいますから注意してください。 #d #d #d #d #d を ;#d #d #d #d #d とすると、#d 5つが死にます。もし、最初の#dだけとりあえず実行したくないなら、 ;#d #d #d #d #d と書き換える必要があります。> 上さんの説明の0章の最後にちゃんと&sが載っていました。見落としてました。ふつう、&d とペアになります。 サイレントのままにすると事故が起こること があります。ものすごく便利ですし、そこらじゅうで使われますが、原理は僕レ ベルでは分からないくらい深いです。深いらしいです。 &s の応用編が、ss2, です。応用といっても、グレップ・マクロを使われる でがらしさんには、お馴染みとなっててもいいのですが…。
> stkhelp.def が c:\vz に入れてあるんですけど、検索しても stkhelp.def
> がないと出てくるんですよね。directory を c:\vz に移しても同じです。
>モリ領域)、また、コンベンショナル(0000-9999)も、MS-DOS がすでにいっぱ