新着記事

− 野ざらし言 −

新規投稿は記事一覧のフォームからお願いします

[4523] Re^2: 英辞郎とnozlog

文太 2018/09/20(Thu) 23:21
[関連記事] [4522]へのコメント
>blogjumpは飛んでくれませんが
 飛びましたぁ、飛ばせましたぁ。簡単じゃん。すっげえコード、涙ぐましいコードを発見してしまったけど、それもfixします! ま、動けば正義ですけどね。
 ふん、もう、あんな恥ずかしいミスはしない。しかしですよ、いつか、めざらさんがあれを必要とする、と占い師は知っていたわけです。improviseすることが必要な場面がやってくるだろうと知っていた。感謝するように。そして、英辞郎の最新版くらい買うように。
 奥ゆかしくエールか励ましかを送っていたり、ムチを送っていたりしてるだけなので、ほっといてやってください。勝手な奴なのです >文太。
 さあ、本気でブルーで残酷な季節だぞ。

[4522] Re: 英辞郎とnozlog

文太 2018/09/20(Thu) 01:59
[関連記事] [4521]へのコメント
>英辞郎の最新版を買って、UTF-8をVzでどう処理するか
 blogjumpは飛んでくれませんが(分からにゃい、でかすぎだよ、あのマクロ)、
NIFTY閉鎖後のログは大まかに整理しました。秀丸のお世話になりました。
 「テンポラリーファイル・エラー」ブルー。

 そして、UTF-8 -> SJISへの変換は、nkfでできるみたいなことも了解。
 来年度になったら、英辞郎の最新版を買います。
 eiji.defの完成版が、HDフォーマットで失われていることも判明。くくく。
立川で焼肉をくったときには、あったのにぃ
 実務的には、もっぱらDDWINなもので。英辞郎をEPWINGにして、DDWINで引く
方法はありますよ。ネットで足りますね。シソーラスはないです、はい。

 腹がくくれたので、
>それまで旅は禁止! improviseも禁止!
 これは取り下げます。旅にいって来てください。旅先で人格豹変させて、もう
トリックスター。寅さんみたく、超無責任だけど、持ち前に熱さで、人生を
おおいに楽しんで来る!

 (そうもいかない場合には)
 お庭の雑草抜き、暑さは引いたようなので、のんびりやると、なごみますよ。
もう奴ら体力ありません。弱っていくところを突く。卑怯な行為ではありません。
自然の摂理です。
 毎日、ちょっとずつ変化するんですよね、庭。ダイコンの種は蒔きましたで
しょうか? そんな時期ですよ。

 あー、片付けが進まない。やばい、やばい。
 ダイコンにネットを掛けることすらできなかった。
 明日、というか今日、やる。

[4521] 英辞郎とnozlog

文太 2018/09/19(Wed) 20:38
[関連記事] [4520]へのコメント
 ふぉふぉふぉふぉふぉ。

#03088 文太 英辞郎切り分け法

 これでいいでしょう。nozlogのことでした。
 2009年にさあ、FGALDCとかやってませんよ、もう。
 その後のログ管理、いいかげんなんだよなぁ。シオシオ。
 いろんなところで、システムが破綻しておる!
 く、くそう。システムを作り直してやる、、、、く、く、く、く。
 時間がないんだってば、今は。シオシオ。

>01113/01113 SDI00000 中島 ○     フォーラム終了のお知らせ
>( 2) 05/01/12 10:26

>■■■■■■■■■■■フォーラム終了のお知らせ■■■■■■■■■■■

 FGALDCは、2005年に終わってますよ。やれやれ。

 自分のところにログあるんだから、見つけてくださいよ。そんな大きな
ファイルをエディタで切り刻むようなことしてぇ。
 罰として、英辞郎の最新版を買って、UTF-8をVzでどう処理するか調べて!
それまで旅は禁止! improviseも禁止!
 完全な八つ当たりモード。

 プール行ってきまーす。
 情けなかぁ。

[4520] Re^4: MemoMenu.def (v 1.00)

文太 2018/09/19(Wed) 12:43
[関連記事] [4519]へのコメント
>躁期に向かっている証左と言えなくもない…のかも.(はっきりしねぇな)
 あはははは。不謹慎、不謹慎。で、でも、これ、すごく受けてしまった。

 今日はいい日。さて、どう時間配分しようか……。ダイコンにネットを
かけるのが最初だな……。6年目の種、芽がでました。種袋の種ぜんぶ、
使いきりました。v(^^)

 閑話休題。

 そんな大きなファイルを、エディタで何とかしようとするのは……。

--- eijicut.sed ---
# >Onigsed -f eijicut.sed eijiv58.txt 
1,/^■A/Iw 0.ejr		#1行目から■Aまで
/^■A /I,/^■B/Iw A.ejr
/^■B /I,/^■C/Iw B.ejr
中略
/^■X /I,/^■Y/Iw X.ejr
/^■Y /I,/^■Z/Iw Y.ejr
/^■Z /I,$w Z.ejr		#■Zから$(最終行)まで
-------------------

行数指定,/regex/
あるいは
/regex/,/regex/
 のアドレッシングで範囲指定して、

//I のフラグで、ignorecaseして(serow sedにはきっとない-注-)、

w (write) A.ejr (出力先ファイル)指定

 こんな感じで。

 次回はないか?
 (テンポラリーファイルエラーの連発くうと、鬱になりますよね。ボソ)

-注-:serow版で対処するには、きっとignorecaseフラグなんてないだろうから、
   テキストのフォーマットをよく見て、正規表現を工夫するしかないでしょう。

1,/^■[Aa]/w 0.ejr		#1行目から■Aまで
   これで足りるのかは、やってみないと。
   大変すぎるので、Onigsedで。


eijiro.org  171,258,595  2016-01-09  10:32
 これがS-JIS最終版に近いもののサイズ。タイムスタンプはあてになりません。
 でも、これくらいかな。v.141ぐらいだったような記憶?
 最新版を買って、UTF-8とやらについて教えてください。

 僕は、上の範囲指定を
/^■AC/I,/^■AD/Iw AC.ejr
 みたく、頭2字にして、110個くらいのファイルに切り分けているみたいでした。

ac.ejr  1,282,942  2017-03-29  23:06
 一つが、これぐらいのサイズ。

 切り分けは、スクリプトファイル4つをバッチで次々動かすみたい。

 これだけしてあると、すいません、はしたない自慢ですが、検索は一瞬です。m(__)m

 LXで全ての作業をすると、きっとスリリングな3分とかを経験できそう。
 「仕事中なの? それともハングしたの?」みたく。sedは非対話型。

 やっぱり母艦のパワーのあるWindowsマシンで、Onigsedを使ってというのが
オススメですね。

小物マクロの住所録 2009/01
nifty:FGALDC/MES/02/
03037  文太		WAEI.DEF(謹賀新年)
03052  文太		WAEI.DEF
03088  文太		英辞郎切り分け法
03089  文太		eiji.def (v.0.1)

 この辺りにあるはずなんですが、ログの復旧が済んでなかった! く、くそう。
鬱&ブルー。ど、どこだ?

 最後に。
 英辞郎は立派です。そんなに新語でもない表現で、「これって決まった言い方
でしょ」(独立単語の連なり以上イディオム未満)というを、出すことができた
のが英辞郎だけ、ということが3回以上ありました。(不必要に細かくいうと、
例辞郎の例文中において、という意味です)
 日本人の辞書作りにかける情熱は、世界一です。

PS: 旅、しましょうよ。僕は2月ころ、毎年、むしょうに旅に出たくなります。
PPS: 「壊れていたのは結局 i だけ」 improviseの呪い。あるいは僥倖。
 「いまや i で始まる単語も引けます!」
  占い師いわく「思いつきの行動を運命が求めているようです。衝動的に
  行き先も決めず、旅に出るなど」(improvise)

[4519] Re^3: MemoMenu.def (v 1.00)

めざら 2018/09/18(Tue) 23:50
[関連記事] [4517]へのコメント
http://mezala.la.coocan.jp/
> MemoMenu が欲しかったのは、こんなデータを何度も何度も見たかったから。

 なるほど.見るだけなのですね.メニュー表示中は見ながら書くこともできないけれど,ぱっと見れば済むものもありますよね,確かに.

>  たまには引いてあげましょう、アゲン。

 ですけどね.昨今はネットの辞書が引き放題で,しかもシソーラス化が進んでいるので,これが辞書読み好きにはタマラナイんだなー.なにしろ索引を作っていないベタのテキスト辞書を引くのはひどく待たされますしね.
 英辞郎v58辞書の原本が見つかったので,27分割したところ,壊れていたのは結局 i だけではありました.LX用の辞書は確か,3語以上の複合語をカットするようにGrepで出力した辞書だったので,その過程で壊れていたのかもしれません.
 分割作業中にテンポラリファイルエラー出まくり.でかいファイルを扱っていると,たとえリードオンリーにしていても一定の作業を繰り返すと陥るのかな.どうにもならなくて,後半はxyzzyで切り分けました.


 今日は祝日勤務の代休で,数週間ぶりに畑の草刈りをしました.繁忙期とそれに続く反動期を口実にして,実際何をやる気力もしばらく起きなかったのですが,今日からアレコレいそがしく始めることになるでしょう.双極性も実は半ば混濁しています.鬱期は常に口実を探しているだけ……と考え言えるようになるのも躁期に向かっている証左と言えなくもない…のかも.(はっきりしねぇな)

>  私めは渡り鳥。ぶんちょう。

 わたしはなんだろう.ネコでもカエルでもいいけど,旅したいーー

[4518] Re: メニューの最大面積は?

文太 2018/09/16(Sun) 23:06
[関連記事] [4515]へのコメント
 ふと、テストしました。
 やっぱ、ダメですね。

=== MNtest by B ===;menu size test
* M
50 ^^ "MNtest"
!01 (r<0)?.
* P
1 "menuscan",62,2,,-1
; 横幅60、縦25
"$[60,'0']"
"$[60,'1']"

*

[4517] Re^2: MemoMenu.def (v 1.00)

文太 2018/09/16(Sun) 23:01
[関連記事] [4516]へのコメント
>いえ,色々と応用可能な部品が満載だと思いました.なので,今の仕様では
>「これだけ」かもしれませんが,この先,使える場面がきっと来ますよ.

 どうもどうも、ありがとうございます。考えるところの多いレスでした。

:A 何より、ほんと、その人が欲しいものって、傾向があるなぁ、ということ。
実用派だと、とりわけ。まあ、たとえばEmmettさんとかは、その傾向がかなり広範囲
に及んでいたのだなぁ、とか思いますが。寅二さんとか高橋さんみたいのは、僕は、
あまり実用派だと思ってない(別にぜんぜん悪いことじゃないですが。もー、頭あが
りませんし)、そんな意味で。
 矩形ブロック、大事ですよね。僕は読もうとしたことないけど。
 僕は、一つには検索ですね。マシン語やっても、検索だけマスターする、とか
思ってますし。
 話を戻すと、はい、満載なんかじゃないですが、でも流用していこうとは思っ
てます。m(__)m

>ほんとに動的メニューって便利!
>で,思うのは,メニュー構築部という核を中心に,入出力のバリエーション
 これですよね、ほんとに。今はしょぼいのですが(やっぱり)、ココですね。
stkhelp が検索対象として、フォーマットされたテキストファイルをもってる、
ここがすごいんだな、と。
 ただそんなにいつも辞書つくってるわけにもいかないのですけどねぇ。動的辞
書はないかな、僕に特化したので。
 (ちょっと小さくジャンプして。editfile  コレクション、統合・整理マクロ
を作ろうか、とか思ってます。自分の検索語・ファイル・コマンドラインだから、
特化してそうでしょ。)

>> (xc<0)? { &m("up -> down, only.") .}"
> ちょっと懐が浅くない?って.#Bではいかんのかしら.
 了解。宿題、やります。下から上へブロックをしたことがないもので。勝手に
禁止しました。外に出さなければ、このチェックすら、してなかったでしょう。
 お気づきだと思いますが、エラーチェック部分は後知恵でつけました。ラベル
Aから作り始めて、動いた、じゃ、エラーチェック部分かな、とか。分かってる
から、そんなチェック要らないとか思い、やがて、一人でどつぼにはまるタイプ。
明日の自分は赤の他人。あはは。

>> (xc>25)? { &m("vertically too long!") .} ; ??? improvise!"
> xcの取り得る値は,1,0,-1 だったかと……
 おほほほほ。 ありがとうございます。「どうする? 25 とかにしとこ」みた
いな気のゆるみがもろ出てる。improvise は、ここで、「tekito」と書くのは失礼
みたいな気がして、「即興せよ」という意味でした。

>LXに入ってるのと比べてみたら,〔Eijiroの〕ファイルによって大きさがバーラバラ!
 あはははは。ありますか、めざらさんでも。たまには使ってあげましょう。
 僕が思いついたのは、
 (1)エネループ。20個ぐらいの充電がやっと終わりました。たまにはチェ
ックしよう! 充電器も含め新品も買いました。4つとも高速モードで充電でき
るんですよ。たいへんにインテリジェント。evolta もできるよ。
 (2)住所録、過去ログ。僕のとこでも(?)、壊れてました。復旧に1週間
ぐらいかかりました。リードオンリーにふだんはしてるのですが、時々、メモい
れちゃったりするので。ああ、あの環境であの時、とか。そうそう、どうでもい
いことですが、ログ→住所録のジャンプマクロは当然として、住所録内ジャンプ
マクロまで書いてしまいました。 で、そのときに気づいたのは、たぶん、YASAT
さん担当部分かな、と思われるところで、タブと全角スペースのフォーマット不
正がありました。自分で書いた部分かもしれませんが。上村さんのとこが割とシ
ステマティックに。マクロを書くと、こういうのしらみつぶしのチェックしちゃ
うじゃないですか。で、気づきました。そのとき sed が大活躍。
 (3)sed って、偉いっす。そのうち、としきさんのところで。長年の課題が
解けた! >Aとか。
    使うなら、logos sed を。s/srch/repl/3 が使えます。桁的にとても大
事かと。矩形ブロックの置換みたいなものです。僕はエンバグに気づいてません。
    僕がマクロにしろ、スクリプトにしろ書くのは、相手がだいたいコンピ
ュータの出力なんだよなぁ、と思う今日この頃。使ってるのだか使われているの
だか。で、一瞬だけ、攻略の興奮に酔う。
 (4)Eijiro。 最新版は、もう SJIS ではないのですって。UTF-8?   YASAT
さんの話により、Vzの敵であると、、、。
 (5)文脈ジャンプ。MemoMenu  が欲しかったのは、こんなデータを何度も何
度も見たかったから。

----- sed.shd -----
@version2 
その他1
 version2 
 1988/03/02 06:11 15,366 OLDSED.EXE  ;serow
 1992/06/17 11:00 25,108 LSED.EXE   ;logos
 1994/06/02 19:17 70,111 SED.EXE   ;GNU 1.18 +m 1.03
                     ; \{n,m\} OK
 1999/06/20 12:41 99,854 GSED3.EXE  ;GNU 3.02 +m 1.07 (hgc02147)
                     ; stack overflow in VTDOS
 1999/06/20 13:40 90,112 sed32.exe  ;GNU 3.02 +m 1.07 (=)  ERE Perl5
 2003/05/17 02:29 86,016 egsed.exe E ;GNU 4.07        -r
 2005/02/11 11:14 98,816 SSED.EXE  E ;3.62, based on GNU 4.1 -r  -R
 2005/08/24 06:32 311,296 OSED.EXE   ;GNU 4.1.4 +Onig 2.4.2  -r  -R
 2007/07/13 09:22 159,744 mbsed.exe  ;GNU 4.1.4 (Bruce.)   -r
                     ; \{n,m\} OK
 2009/10/01 01:45 278,528 onigsed.exe ;GNU 4.1.5 +Onig 2.5.0  -r  -R
-------------------                       ^^^^^^
                                 注意

> 双方でそれぞれ壊れているファイルがあるというオチでした.最近はEijiroを引く
>頻度が極度に低いにしても,
 たまには引いてあげましょう、アゲン。文太のマクロ(コメント)も何かの役
に立ったか。☆\(^^;)

>い,いえ,それはルールではなくて,単にわたしの希望だっただけで….
 いえいえ。細かく深いコメント、多謝です。ま、ルールとか言わずとも、その
ときの雰囲気で臨機応変に。
 私めは渡り鳥。ぶんちょう。

[4516] Re: MemoMenu.def (v 1.00)

めざら 2018/09/16(Sun) 11:47
[関連記事] [4514]へのコメント
http://mezala.la.coocan.jp/
> なかなかのアイディアじゃないかとか思ったのけど、しょぼいな、、、。
 いえ,色々と応用可能な部品が満載だと思いました.なので,今の仕様では「これだけ」かもしれませんが,この先,使える場面がきっと来ますよ.

 自分が Umenu.def を作ったときは「これだけ」だったはずなのですが,ものすごく沢山のマクロに部品を流用しています.ほんとに動的メニューって便利!
 で,思うのは,メニュー構築部という核を中心に,入出力のバリエーションということに収束されるのかな,ということ.一度マスターすると,本当に便利.

 そんなわけで,あまりツッコミ所は見つからないけれど,敢えて言うなら…

> (xc<0)? { &m("up -> down, only.") .}
 ちょっと懐が浅くない?って.#Bではいかんのかしら.

> (xc>25)? { &m("vertically too long!") .} ; ??? improvise!
 xcの取り得る値は,1,0,-1 だったかと……


 副産物ではないですが,Eijiro で improvise を引いたらマッチせず,imprとまで短くしてもマッチせず……で,辞書ファイルが壊れていることに気付きました.LXに入ってるのと比べてみたら,ファイルによって大きさがバーラバラ!
 双方でそれぞれ壊れているファイルがあるというオチでした.最近はEijiroを引く頻度が極度に低いにしても,どうして今まで気づかなかったのだろう.ファイルサーバを捜してみたら,そもそも元ファイルが見つからない…….orz


> マクロは「野ざらし」、という大まかなルールだったと思うので、
 い,いえ,それはルールではなくて,単にわたしの希望だっただけで….それないと,この掲示板の存在意義がほぼ皆無になってしまうので.(^o^;ははは

[4515] メニューの最大面積は?

文太 2018/09/14(Fri) 14:21
[関連記事] [4514]へのコメント
メニューの最大面積は?

 というテストをしました。

=== MNtest by B ===;menu size test
 以下、独り言です。
 Vz: 80*20=1600 --> 80*19
 これぐらいが見やすい。スクロールしない最大は80*19。
 スクロールを許すなら、縦スクロールのみ。

* M
50 ^^ "MNtest"

        !01 (r<0)?.
;80*19=1520	max
;70桁*21行
;69桁*22行
;60桁*25行

* P
1       "menuscan",62,25,,-1
; 横幅60、縦25
"012345678901234567890123456789012345678901234567890123456789"
"123456789012345678901234567890123456789012345678901234567890"
"234567890123456789012345678901234567890123456789012345678901"
"345678901234567890123456789012345678901234567890123456789012"
"456789012345678901234567890123456789012345678901234567890123"
"567890123456789012345678901234567890123456789012345678901234"
"678901234567890123456789012345678901234567890123456789012345"
"789012345678901234567890123456789012345678901234567890123456"
"890123456789012345678901234567890123456789012345678901234567"
"901234567890123456789012345678901234567890123456789012345678"
"012345678901234567890123456789012345678901234567890123456789"
"123456789012345678901234567890123456789012345678901234567890"
"234567890123456789012345678901234567890123456789012345678901"
"345678901234567890123456789012345678901234567890123456789012"
"456789012345678901234567890123456789012345678901234567890123"
"567890123456789012345678901234567890123456789012345678901234"
"678901234567890123456789012345678901234567890123456789012345"
"789012345678901234567890123456789012345678901234567890123456"
"890123456789012345678901234567890123456789012345678901234567"
"901234567890123456789012345678901234567890123456789012345678"
"012345678901234567890123456789012345678901234567890123456789"
"123456789012345678901234567890123456789012345678901234567890"
"234567890123456789012345678901234567890123456789012345678901"
"345678901234567890123456789012345678901234567890123456789012"
"456789012345678901234567890123456789012345678901234567890123"

*

1       "menuscan",82,19,,-1
;スクロールなし max, 80*19 (右1行アキ)
"01234567890123456789012345678901234567890123456789012345678901234567890123456789"
"12345678901234567890123456789012345678901234567890123456789012345678901234567890"
"23456789012345678901234567890123456789012345678901234567890123456789012345678901"
"34567890123456789012345678901234567890123456789012345678901234567890123456789012"
"45678901234567890123456789012345678901234567890123456789012345678901234567890123"
"56789012345678901234567890123456789012345678901234567890123456789012345678901234"
"67890123456789012345678901234567890123456789012345678901234567890123456789012345"
"78901234567890123456789012345678901234567890123456789012345678901234567890123456"
"89012345678901234567890123456789012345678901234567890123456789012345678901234567"
"90123456789012345678901234567890123456789012345678901234567890123456789012345678"
"01234567890123456789012345678901234567890123456789012345678901234567890123456789"
"12345678901234567890123456789012345678901234567890123456789012345678901234567890"
"23456789012345678901234567890123456789012345678901234567890123456789012345678901"
"34567890123456789012345678901234567890123456789012345678901234567890123456789012"
"45678901234567890123456789012345678901234567890123456789012345678901234567890123"
"56789012345678901234567890123456789012345678901234567890123456789012345678901234"
"67890123456789012345678901234567890123456789012345678901234567890123456789012345"
"78901234567890123456789012345678901234567890123456789012345678901234567890123456"
"89012345678901234567890123456789012345678901234567890123456789012345678901234567"
"90123456789012345678901234567890123456789012345678901234567890123456789012345678"

1       "menuscan",71,22,,-1
;横幅69、縦22
"012345678901234567890123456789012345678901234567890123456789012345678"
"123456789012345678901234567890123456789012345678901234567890123456789"
"234567890123456789012345678901234567890123456789012345678901234567890"
"345678901234567890123456789012345678901234567890123456789012345678901"
"456789012345678901234567890123456789012345678901234567890123456789012"
"567890123456789012345678901234567890123456789012345678901234567890123"
"678901234567890123456789012345678901234567890123456789012345678901234"
"789012345678901234567890123456789012345678901234567890123456789012345"
"890123456789012345678901234567890123456789012345678901234567890123456"
"901234567890123456789012345678901234567890123456789012345678901234567"
"012345678901234567890123456789012345678901234567890123456789012345678"
"123456789012345678901234567890123456789012345678901234567890123456789"
"234567890123456789012345678901234567890123456789012345678901234567890"
"345678901234567890123456789012345678901234567890123456789012345678901"
"456789012345678901234567890123456789012345678901234567890123456789012"
"567890123456789012345678901234567890123456789012345678901234567890123"
"678901234567890123456789012345678901234567890123456789012345678901234"
"789012345678901234567890123456789012345678901234567890123456789012345"
"890123456789012345678901234567890123456789012345678901234567890123456"
"901234567890123456789012345678901234567890123456789012345678901234567"
"012345678901234567890123456789012345678901234567890123456789012345678"
"123456789012345678901234567890123456789012345678901234567890123456789"

[4514] MemoMenu.def (v 1.00)

文太 2018/09/14(Fri) 13:58
[関連記事] [4506]へのコメント
 副産物です。割とちゃちゃちゃとできた。しかし、どんどんずれていく。
 「これ、欲しい」と思ったときは、なかなかのアイディアじゃないかとか
思ったのけど、しょぼいな、、、。
 メモをYメニューで見せてくれます。これだけ。

 hist workという自前ヒストリーバッファに文字列をため込み(メニューの内容)、
それをラインバッファに送っておいてから、また自前バッファにYメニューを作り
直して、自前バッファのサイズを抑えています。これを思いついたときは、ちょっと
嬉しかった。(最初は、自前を2つ作っていた。1600*2なので馬鹿にならないなぁ
とか思ってました)。
 strlen2は、実は作りこんであります。(ムダに)色んな情報がでる、当時つき
合ってくれたkonnoさんに感謝。

 "22行*68桁<>19行*78桁" とメッセージに入れてありますが、この程度のサイズの
メモだと思ってください。桁数が小さければ、いちおうそれなりの行数は出ると思い
ます。モバだどどうなるの? 行数が少ないので。
 Vzのメニューには、もちろん、サイズとか画面書き換えとかの制約があるはず
です。が、モバでのテストはやってません。

 (めざらさん、コメントいただければ嬉しいですが、ご無理をなさらないように。
konnoさんのところとどっちにしよう? と思ったけど、いちおう前後の繋がりと、
マクロは「野ざらし」、という大まかなルールだったと思うので、こちらに上げ
させていただきます。UOMですから、問題なしです。<- cf. DOM)


=== MemoMenu (v 1.00) by B ===; Memo displayed on Ymenu
・行ブロックで起動。メニューにそれが出ます。重要事項の参照用マクロです。
・一画面のメニューの制限(Vz)は80字X20行程度。その程度に制限されています。
・一度記憶されたら、それを何度も見せる。消えない。もちろん、マクロ自体がマクロ
 バッファから消えたら、消えるよ。
・新規登録したい場合には、シフトで一度、バッファをクリア。
・ほとんど常に複数ファイルを往復してるのだけど、その往復操作がヘタなので。

* M
50 ^^ "MemoMenu"

	?.
	&10 p=r, 	;hist work -> Ymenu buf (data going thru linebuf)

	; --- SHIFT -> prep for new memo (del buff)
	(ks&1)? { p.0-, &m("Buff cleared. Now, ready for new items.") .}

	(p.0==0) ?? >c	;simply exec!  You want to see the memo, again.


	; --- initial check
	(mb==1)?? { &m("line block, please!") .}
	(xc<0)?   { &m("up -> down, only.") .}
	(xc>25)?  { &m("vertically too long!") .}	; ??? improvise!

&s
	; --- make workfile (nul)
	#k #B
	mx[+, #R "nul" #m (s)? 'y' mx],
	#i

	; --- del empty line, first, on nul file
	ps[=pr,
	#56 "\n\n" #m "\n" #m "AY"
:d	#57 (r)? >d
	ps],

	; --- clean up
	ps[=pr,
	#56 "\x ^[\s\t]+" #m "" #m "AY"
	#56 "\x [\s\t ]+$$" #m "" #m "AY"
;	#56 "\x ^" #m " " #m "AY"
	ps],

	; --- check the max length
	#^ #<
	l-,
:f	#> (lx>l)? l=lx,		;<l> max length
	#d 
	(r<0)? >g ? >f
	
:g	(l>80)? { &m("sorry! too ugly.") . }
	l--,				;<l> adjusted

	; --- check lines
	#_ #e v=ln,			;<v> line
	(l*v>1500)? { &m("too big. 22行*68桁<>19行*78桁.") . }

	; --- prep for get strings
	#_
	#s #<

	; --- get strings loop (hist work)
	ps[=p,
:a
	#b #> #G
	#< #s (r)? >b
	#<
	>a

:b	ps],
	mx[+, #C mx],			;close nul workfile

	; --- strlen2 (upto 2 nulls)
	si=p, ax=p..-1,		;return <ax> or (r)
	&i("$(56,33,DB,39,1C,74,06,46,48,74,10,EB,F6,8B,FE,47,5B,2B,F3,8B)$
	    $(DE,46,8B,C6,40,EB,01,F9,C3)")

	; --- move strings in <p> to linebuffer, w/o size info (p..-1)
	#] n=pn..-27,			;linebuffer
	&Sm(n,p,ax)

	; --- Ymenu in <p> (hist work) from <n> (linebuf)
	&01				;-- measurements
	&02 &Sm(p,r,20)			;send dummy macro (+menu header)
	p.16=l+2,			;longest string = menu width (f), 
	p.17=h,				;item num (4)
	k=2+h*2, p..7=8+k+j,		;n..7 menu size (c0),
	p[,
	p+=20, (k){ p.0-, p++, }	;nulls for rest of header
	&Sc(p,"MEMO") p=r+1,		;title
	&Sm(p,n,j)			;items after title
	p],
	&d
:c	rr[=p, &* rr], .		;exec!

01:	j=n, h-, l-,			;measure longest item,item num,all len(*)
  :a	&Sn(j) (l<r)? l=r,		;longest string <l>
	(r)? { j+=r++, h++, >a }	;num of items <h>
	j-=n,				;all the length <j>

02:	(3+$)."$(1,a,0,ff,ff,0)!01(r)$(0,e1,c0,0,f,4,0,ff)"

10:	(5+$)."$(40,06)$[1600]"

*

[4513] cm について(final+1)!!!

文太 2018/09/02(Sun) 18:22
[関連記事] [4465]へのコメント
=== Macrotmp by B ===;
#08 のようにコマンド番号を書かなければならない場合、#8とゼロを抜いて
書いてはいけません。
もっとも、これら1ケタ台を数字で書くことは、ほとんどないと思いますが。
は、はまった。(;_;)

* M
50 ^^ "Macrotmp"
?.
&t
;#01 &?("#01 %d, ",cm)	;テンポラリーファイルエラー、VTDOS落ち、その他

#02 &?("#02 %d, ",cm)
#03 &?("#03 %d, ",cm)
#04 &?("#04 %d, ",cm)
#05 &?("#05 %d, ",cm)
#06 &?("#06 %d, ",cm)
#07 &?("#07 %d, ",cm)
#08 &?("#08 %d, ",cm)

*
kekka: #02 2, #03 3, #04 4, #05 5, #06 6, #07 7,  #08 8, (整形済み)
cmが返るには返るのです。私用では使わないほうがいいと思う。cm==1は
outlawが使っています。

--- from vz.def ---
01  ^[          ;redo cmd
02  ^_          ;KBM; (^- @dosv)
03  [ESC]
04  ^M  [CR]
05  ^E  [UP]    ;:↑
06  ^X  [DOWN]  ;:↓
07  ^S  [<--]   ;:←
08  ^D  [-->]   ;:→
09  ^QA         :Wd ←

 というわけで、やっぱり、100番以上が、個人の変な使用では、いいようです。

--- from my .shd ---
@CM @Cm @cm 
グローバル変数
 cm  *  直前に実行したエディットコマンド番号
 #nn のエディットコマンドの実行後に
 コマンド番号が保存される
 0-2, 86- , 100ー255あたりが空いている(?)m.gann  <-- これは書き換えですね。
 0は多重実行で頻用されている			  <-- 「が、個人使用では100以上を」
 また、窓の区別もcmで可能
 編集モードでのみ、保存される。
 非編集モードでは、cm+256 が r に返される。

[4512] Re^2: #00での記述 (final+1)

文太 2018/09/02(Sun) 18:20
[関連記事] [4511]へのコメント
>何と十三年ぶりの更新ができますよ!
 そうなんですか、おめでとうございます。

>ああ,ようやく嵐の繁忙期が過ぎた.
 よかったですね。僕はこれから……。きた、きた、きた。くわばらくわばら。メールの山、書類の山。ためちゃった。

>そして,読書・芸術・食欲の秋が到来するのだった……
 8月は暑い季節である。9月は残酷な季節である。10月は悲惨な季節である、11月は絶望の季節である。以下、同。

>貧乏ヒマなし.
 まったく。「貧乏、でも余裕はあるよ。そのための貧乏だよ」、が人生の目標だったはずなのに。
 とはいえ、意志力と継続力の大富豪でなけりゃ、あのサイトは作れないですよ。

[4511] Re: #00での記述 (final+1)

めざら 2018/09/01(Sat) 21:07
[関連記事] [4508]へのコメント
http://mezala.la.coocan.jp/
>  はい、^2, ^6, ^- のままでいいようです。シフトキーを押すとダメでした。

ありがとうございます.
何と十三年ぶりの更新ができますよ!

ああ,ようやく嵐の繁忙期が過ぎた.
そして,読書・芸術・食欲の秋が到来するのだった……

貧乏ヒマなし.

[4510] 遊び2

文太 2018/08/30(Thu) 16:20
[関連記事] [4506]へのコメント
c:\vzsrc\cmos\vz.inc 714
;--- Menu record ---
_menu		struc		;type _menu = 6bytes
mn_wd		db	?
mn_c		db	?
mn_valwd	db	?
mn_sel		db	?	; if -1, no cursor
mn_ext		dw	?	; extern function ptr
_menu		ends

 意味、ありません。
 ちょっと通りすがりに、ふと「どこ?」と。みんなvz.incなんですね。

[4509] 遊び1

文太 2018/08/30(Thu) 16:18
[関連記事] [4465]へのコメント
c:\vzsrc\cmos\macro.asm 194
;--- Command symbol table ---
 記号は人間に分かりやすく。それだけ。番号の振り方に意味がありますね。
	public	cmdsymtbl
cmdsymtbl	db	11		; < cmd #  #< == #11
		db	0		; =
		db	12		; >
		db	29		; ?
		db	0		; D
		db	0		; Z
		db	0		; \
		db	0		; `
		db	0		; j
		db	0		; o
		db	0		; q

=== Macrotmp by B ===;
* M
50 ^^ "M1"
#D #Z #\ #` #j #o #q 
;kekka: #######

51 ^\ "M2"
#
;what's this?
*
 超くだらない、お遊びでした。失礼しました。
 macro interpreterが何をどうしているのか? 「アルファベットを見つけると……」
と誰かが言ってました。榊原さんなら、何が起こっているのか、教えてくれそうな気が
しますね。
 "M2"は、おやおやと面白いのですが、「##」「###」とかすると、正しすぎて、
まったく面白くありません。

[4508] #00での記述 (final+1)

文太 2018/08/30(Thu) 11:00
[関連記事] [4504]へのコメント

 どうしていつも「final+1」が出てくるのでしょう?

http://mezala.la.coocan.jp/vz/extcmd/cmd00.html
#00 の最後にある、以下のくだりなのですが。

>101キーボードで刻印通りのキー入力ができるとすると,これら3種類のキーはシフトキーを押しながら入力するということになるのでありましょうか。それとも,そのまま ^2 ^6 ^- で入力しても同じなのでしょうか。ご教示ください。

 はい、生まれて初めて、101キーボードのアメリカ製win10(64bit)マシンを買うことになり、試してみました。
 はい、^2, ^6, ^- のままでいいようです。シフトキーを押すとダメでした。

 15.6インチとかの正真正銘の動かせないわけではないデスクトップ型ノートなので、キーが全体にでかい。が、[Enter]は小さい。なんだかスカスカ。
 英語配列、bios verupで、そこそこ慣れてましたけど、でも、苦労も多かった。vtdos、それなりに動きました。日本語が素直に表示されたのには、ちょっと驚き。OSもinternationalizeしてるのでしょうか、それともvtdosのお陰?

[4507] Re^6: なにかエラーが起きている

としき 2018/08/30(Thu) 09:48
[関連記事] [4455]へのコメント
http://toshiki.la.coocan.jp/
また新たな挙動不審事象が発生したので備忘録的に。
今回は野ざらしは一切関係ないんですが、状況の蓄積ということでこちらに
書かせていただきます。
結論から言うと、今回の件では板塀サーバも一枚噛んでそう。

先般、母親の誕生日だったということで、実家に来ています。
で、自宅の板塀にアクセスしたのですが、なぜか読めない発言があって。
何が悪いか切り分けにあたって、いろいろと試しました。
最初は、各発言に普通にアクセスできていたのですよ。
ところが、ある発言を読もうとしたところ、延々待ち状態。
サーバが落ちたかと思ったくらいだけど、他の発言等、その他のリンクは読める。
試しているうちにわかったのは、ある特定のURLだけ、砂時計というか、
アクセス待ち状態になってしまう、ということ。
どういうことかというと、うちの板塀、デフォルトでは

wforum.cgi?mode=msgview&no=xxx&reno=yyy&oya=zzz&page=0&list=tree

みたいなパラメータの並びになります。
ところが、該当発言の場合、この並びのときだけNG。
途中停止させて再読み込みしても、アクセス待ち状態という状況は変わらず。
ところが、手で以下のパラメータを入れてやると

wforum.cgi?mode=msgview&no=xxx
wforum.cgi?mode=msgview&no=xxx&oya=zzz&page=0&list=tree
wforum.cgi?mode=msgview&no=xxx&reno=yyy&oya=zzz&list=tree
wforum.cgi?mode=msgview&no=xxx&reno=yyy&oya=zzz&list=tree&page=0
wforum.cgi?mode=msgview&no=xxx&reno=yyy&oya=zzz&page=0
wforum.cgi?mode=msgview&no=xxx&reno=yyy&oya=zzz&page=0&list=new
wforum.cgi?mode=msgview&no=xxx&reno=yyy&oya=zzz&page=0&list=thread

すべてOK。
最初は、ブラウザを疑っていませんでした。
なお、実家では、いまだにVista。ブラウザはFirefoxESR。
でも、これだけいろいろ試して、いよいよブラウザを疑いました。
そこでパケットの状態を見ると、なぜか該当URLのときだけ、リクエストの
パケットが飛んでいない。

ここまでなら、ブラウザが悪いね、で終わりです。
ここから先、変なことをやってしまったために、そういう単純な結論では
なさそう、ということになりました。
実家と自宅の間のVPN経由で、自宅サーバにアクセスしました。
え〜と、VPN経由でVNCというツールを使って遠隔ログインしたのです。
で、まず気がついたのは、通常、タスクトレイにあるはずの、WEBサーバの
アイコンが表示されていない。これは明らかに異常動作。
でも、WEBサーバの動作を確認しても、その他には異常は認められない。
さらに、基本に立ち返って、というか、サーバマシン自体でブラウザを
起動して、自分自身のサーバソフトにアクセスしてみました。
通常はブラウザなんて起動しません。なにせ、IE5ですから。
結果。
なぜか、該当発言にはアクセスできない。砂時計状態。これはおかしい。
これではブラウザ被疑ではなくサーバ被疑になってしまう。
ところが、リンクをたどって、ではなく、手でURLを入力したら、アクセス
できてしまった。これ以降は、リンクをたどってもアクセスできるように
なり、砂時計状態は全く再現しなくなりました。

ここで実家のVistaに戻ったのですが、やはりアクセス不能状態は継続。
ここまでいろいろと試してから、やっと行ったのが、Firefoxの再起動。
これがあたりというか、該当URLにもアクセスできるようになりました。



ここまでで、仮説というか暫定的な結論。
第一被疑はブラウザ。
ブラウザがなんらかの異常動作を起こしているのは間違いない。
ただし、第二被疑というか、サーバが何らかの変な情報を送ってきている
可能性は否定できない。
その結果、ブラウザがおかしくなってしまっている、と。

おそらく、これ以上の調査は、私には難しいかもしれません。
今後も変な状況が発生したらこちらに書かせていただくことがあるかも
しれませんが、ご迷惑でなければお許しいただきたいと思います。

[4506] Yメニュー

文太 2018/08/29(Wed) 13:41
[関連記事] [4493]へのコメント
=== Ytest by B ===;
PSの文字列からYmenuを作るサンプル。

* M
50 ^^ "Ytest"

	; --- make Ymenu --- 
		;-- thanx to wanama, PK14 96/07/17
		;-- thanx to taneichi, PK14 96/01/29
		;-- of course, the biggest thanx to Yushi

	&01				;-- measurements
	#] n=pn..-27,			;linebuffer
	&02 &Sm(n,r,20)			;send dummy macro (+menu header)
	n.16=l+2,			;longest string = menu width (f), 
	n.17=h,				;item num (4)
;	n.19=-1,			;cursor posit (-1, none)    (A)
	k=2+h*2, n..7=8+k+j,		;n..7 menu size (c0),       (B)
	n+=20, (k){ n.0-, n++, }	;nulls for rest of header   (C)
	&Sc(n,"PS") n=r+1,		;title (*)
	&Sm(n,ps,j)			;items after title (*)
	rr[=pn..-27, &* rr],		;exec!                      (Z)

01:	j=ps, h-, l-,			;measure longest item,item num,all len(*)
  :a	&Sn(j) (l<r)? l=r,		;longest string in PS, length=<l>
	(r)? { j+=r++, h++, >a }	;num of items num <h>
	j-=ps,				;all the length of PS (*) <j>

02:	(3+$)."$(1,a,0,ff,ff,0)!01(r)$(0,e1,c0,0,f,4,0,ff)"
;					    ^^^^ ^ ^overwrite by this macro

*
n: dummy macro + menu header (前半まで) ptr
local:
 j: <- src address // -> length of all the item strings(アイテム全長)
 h: number of items (メニューアイテム個数)
 l: longest string (メニュー幅) 足りないので、枠ぶん増やす。+2

以下、S.KIN氏, 93/5/22, <nifty:FGALPK/MES/13/816> より

 メニュー番号 |E0h
 │ サイズ
 │ │         (items + 1)*2 bytes              アイテム文字列(items 個)
 ↓ ↓        │← アイテム種類 →│            ↓
┌┬─┬┬┬┬┬─┬─┬・・┬─┬─┬─────┬────┬─・・─┬─────┐
└┴─┴┴┴┴┴─┴─┴・・┴─┴─┴─────┴────┴─・・─┴─────┘
       ↑↑↑↑                     ↑
       │││選択アイテム位置       タイトル文字列
       ││パラメータのカラム数(中身の詳細についてはS.KINさんの後のねこさんへ)
       │アイテム数(items)
       横幅

 覚書をほんと簡単にしたためます。

(A) ローカル02のメニューヘッダを書き換えるところです。-1は19バイト目です。
ffのままでいいでしょう。(C)のヌル潰しから外れていますから。

(B) Kは何なのでしょうか。+8の8は何なのでしょうか。8は簡単。メニューヘッダ前半。
ffまでです。
 h*2は間違いない。アイテム個数ぶんX2のアイテムタイプというものが入るそうです。
 では、+2は? 「mn_ext メニュー作成ルーチンのアドレス(vz が初期化)」(和生
さんノートより)が入る。2バイトなので、上のS.Kinさんのように、「(items + 1)*2」
と書いても同じになりますが、いちおう正確をきしたつもり。
 これで、すでにダミーで与えられているメニュー前半以降のメニューヘッダの長さが
でました。Kのことです。kは*itemのとおり、可変です。
 で、アイテムの全文字列長が(j)で、ヘッダ前半が8ですから、メニューサイズの
n..7が埋まりました。

(C) nを20バイト進めるのは、ダミーマクロ+ダミーメニューヘッダ(前半)、つまり
ローカル02が、20バイトだから。
 で、後半以降、メニュータイトルまで(これがk)をヌルで潰す。

(Z) 高橋さん曰く(そのとおりですね、と賛同・理解できる自分が嬉しい)、これが
Yメニューのキモ。

 ご利用の際には、(*)の4箇所だけ書き換えれば、そのままごっくんで行けます。


 何人もの方々がこんなことをしてきたはず。buftourにも感謝。


 +-+--+-+-+-+-+--+--+--+--+----------+------+------+------+
 |0|12|3|4|5|6|78|90|12|34|title str.|item1 |item2 |item3 |
 +-+--+-+-+-+-+--+--+--+--+----------+------+------+------+
              ^   |-item*2-|

=== test by B ===;
* M
50 ^^ "test"
	!01
	.
* P
1       "test",4,3,,-1
        "aaa"
        "bbb"
        "ccc"
*

                         |->menu header
4448h: 00 21 30 31 2E 00 E1 1D-00 04 03 00 FF E8 BF 00  ・!01.・・・・・・・・・ソ・ 
        4  5  6  7  8  9  0  1  2  3  4  5  6  7  8  9
           !  0  1  .    mn  size wd  c vl sl ex ex ・
                                            ^

4458h: 00 00 00 00 00 74 65 73-74 00 61 61 61 00 62 62  ・・・・・test・aaa・bb 
        0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
       ・ ・ ・ ・ ・  t  e  s  t ・  a  a  a ・  b  b

[4504] サイトのステータスバー(笑)

文太 2018/08/27(Mon) 18:47
[関連記事] [4503]へのコメント
 もちろん、お任せです。

 言うまでもないことをお伝えさせていただきますね。
 感動的な美術館にいる。ものすごい愛と情熱と、きっと祈りの気持ちさえあっ
て作られている。すごい、すごい、とため息すら出ない。恍惚とすらしてしまう。
でも、部屋の片隅に埃がたまっているのに気づいてしまった。4つの角のうちの
1つだけに、奴はいる。取りたい、掃きだしたい、でも手が届かない。というわけ
で、なんだか小姑みたいに、些細なことを、いちいちご報告している次第です。

 最後になると思います。たぶん、めざらさんにはめざらさんのお考えがあるの
だろうとは思うのですが。
 サイトのステータスバー、上のかっちょいい黒と赤の帯のところです。細かい芸
を見てしまった。気づいてなかった。「め」とか。
 で、以下のところに英訳がない。

コマンド拡張マクロ入門
Introduction to Vz Macro Language
or
Introduction to Macro Language: Power up your Vz commands!
or
Vz Commands Enhanced by Macro Language (Introduction)
or
Vz Commands Empowered by Macro Language

VZマクロ関連覚書
Macro Language Notes

 この翻訳は難しい。内容を伝えればよいのでなく、格好良くないといけないから。
英語もつたないしなぁ。まぁ、ネイティブでも詩人でもないのでお許しくだされ。
 もちろん、お任せですよ。めざらさんの作品なのですから。

おっと。

>メタ文字って大抵,重ねるとメタ文字の否定を表す…という感じですね.
 一般論として、これには同意しかねますかね。少なくとも僕が生息している
MS-DOS界隈の住人たちは、やりたい放題なんじゃないか、1つ1つ覚えるのかよ、
と(覚えないしメモすらきちんと取らないのだけど)思うことが多いです。

;p="""",
;p="\"\"",
p="$"$"",	;こうなんですねぇ
&m("%s",p)	;これはあくまでVzマクロの話。
;VWXの正規表現なら? コマンドラインは? ygrepは? izgrepは? jgawkを
;コマンドラインで-f (scriptfile)を使わないと? あうあう

[4503] Re^3: %%

めざら 2018/08/27(Mon) 13:08
[関連記事] [4489]へのコメント
http://mezala.la.coocan.jp/
トークン索引のページは誤記が多いことに気付いたので,今更ながら修正しました.(多くは%以外のところ)

メタ文字としての%の件は,文献がなくて,いい加減なことも書けないので保留します.メタ文字って大抵,重ねるとメタ文字の否定を表す…という感じですね.

C言語でも,書式制御はprint系関数が解釈するものであって,コンパイルする時には何ら変換を生じないということですので,VZマクロでも関数内で処理されて後の構文解釈に影響することはないってことなのかな?

> >%の数が違うと動作不定になるようですね。
>  ありそうなことですが、あえて試してはみなくていいですね。そんな変なことするほうが変。

動作不定と言うか,出力されるべき引数の個数が足りないときに「何処から持ってきたの?!」と思わせるくらいでしょうかね.

↑ このページの先頭