一括表示

− 野ざらし言 −

[1340] 漢字入力マクロ

としき 2006/11/14(Tue) 22:43
http://www.hinocatv.ne.jp/~toshiki/
Vz用の漢字入力マクロが欲しくなりました。
機能仕様としては、&gか何かの窓に漢字コードを入力すると、その1文字を
編集テキストに書き込んでくれるという程度でよいのですが。
ただ、TOOL.DEFの^KJがJIS、シフトJIS、区点コードの表示に対応して
いるので、入力側もこれらのコードのどれにも対応していてほしいのです。
どのコード体系を使うかの切替はメニューでもよいのですが、一旦設定した
ら、次に切り替えるまでは同一のコード体系を使い続けるというか、1文字
入力するごとにいちいちコード体系を指定するようなものであってほしくは
ありません。
あるいは、それぞれのコード体系毎にキーアサインを変えてしまって、1つ
のマクロでは単一のコード系のみの対応だけど、\や[CTRL]の同時押下でコー
ド系を変える、というようなものでも構いません。
なんかありそうなんですが、既存でこういうのってありませんでしたっけ。

あと、誰の作品だったかな、画面に漢字一覧表が出て、十字カーソルのよう
なものをカーソルキーで移動させて漢字を選び入力する、というようなマク
ロがあったかと思いましたが、名前も作者も思い出せないもので、これも探
せていません。このマクロは持っているはずなんだけどなぁ。試用した記憶
があるのですから。夢かもしれないけど。
もしこれの漢字表の部分でJISや区点コードが表示されていれば、これで
十分代用できると思っています。でも、表示されているかどうかを試せない
ので、代用できるかどうかがわからない状況です。
ということで、こちらも併せて教えてください。
 

[1342] Re: 漢字入力マクロ

めざら 2006/11/14(Tue) 23:24
[1340]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 入力マクロの方は仕様を理解するのに時間をいただくとして,コード選択マクロの紹介です。
 十字カーソルの出るメニューでコードを選択するマクロは Yushi 氏の cord.def です。このマクロは記号選択のためのマクロです。1996/5/31 ISH
 それより以前,記号から漢字の読み,果ては第2水準漢字の部首画数などでメニューを呼び出して選択するマクロは金近真一氏の psymbol.def です。1992/9/21 ISH
 psymbol.def は v1.5 対応であるため,くらと氏によって v1.6用に修正された版もあります。1998/10/17 ISH

 これらのメニュー版とは別に,LX に FEP を載せていない和生氏が漢字入力マクロを作っています。jc_in.def です。1995/5/14 ISH
 また JIS 単漢字入力表(jistable.def)というマクロも作成されています。これもメニューから選択するマクロですが,普通のメニューです。 2000/2/29 ISH


> 表示されているかどうかを試せないので、

 えーと,こちらはどういう意味なのか,解りやすくご説明くださいますか。

[1346] Re^2: 漢字入力マクロ

としき 2006/11/15(Wed) 00:02
[1342]へのコメント http://www.hinocatv.ne.jp/~toshiki/
ありがとうございます。
私が試用したことがあるのはpsymbol.defでした。
どういう表示になるか確認してみます。

(確認中)

うぅん、漢字の表のどこかとか、あるいは画面最下行のキー操作を表示して
いるところの片隅に、現在選択中というか、リターンキーを押すと入力され
る事になる文字のコードが表示されることを期待していたのですが、残念な
がらそういう表示はありませんでした。それがあれば、とりあえずは代用が
効くかと思ったのですが。
その他のマクロは、明日あたり確認してみます。

> > 表示されているかどうかを試せないので、
>  えーと,こちらはどういう意味なのか,解りやすくご説明くださいますか。

どのマクロを持っているかがわかれば、実際に試せる。
試した結果、入力時に漢字コードがわかれば、代用が効くことがわかる。
しかし、そもそもマクロ名を失念している。
なので、試す事ができない。
だから、入力時に漢字コードが表示されるかどうかがわからない。

ということなんですが。ちとわかりづらかったですね。
 

[1348] Re^3: 漢字入力マクロ

YASAT 2006/11/15(Wed) 21:46
[1346]へのコメント
和生さんのjistable.defがJISコードでの入力に対応しております。

[1347] Re^2: 漢字入力マクロ

としき@宿直 2006/11/15(Wed) 21:46
[1342]へのコメント http://www.hinocatv.ne.jp/~toshiki/
試した範囲では、jc_in.defとjistable.defで、おそらく用が足りそうです。
あとでポケ3で試してみます。今回はポケ3でも同一のマクロが動くことが
必要になりそうなもので。
そういう意味で、cord.defは98専用ということから、候補から外れました。

いろいろなマクロの紹介、ありがとうございました。

[1350] Re^3: 漢字入力マクロ

めざら 2006/11/15(Wed) 22:10
[1347]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
> 試した範囲では、jc_in.defとjistable.defで、おそらく用が足りそうです。

 おお,よかったですね。

 …ということは,FEP が使えない環境でコード入力するのでしょうか。


 大昔,FEP を組み込まずに 98を起動すると右下に[コード]なんてのが出てたのでしたっけ。懐かしいなぁ。

[1352] Re^4: 漢字入力マクロ

としき@宿直 2006/11/16(Thu) 04:56
[1350]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  …ということは,FEP が使えない環境でコード入力するのでしょうか。

ニアピン。
FEPは使えるけど、コード入力が必要な状況。
で、ポケ3はコード入力が面倒なので、マクロで簡単に入力したい。
そして、その他の環境でも、インターフェースを統一したい。
といったところでした。
希望としては、区点入力があればベターなのですが、多分、なくてもなんとかなりそうです。
もし、これが必須ということであれば、再度質問させていただきます。

どうもありがとうございました。

[1356] jistable.defでヘルプ求む

としき 2006/11/16(Thu) 22:38
[1347]へのコメント http://www.hinocatv.ne.jp/~toshiki/
すみません。
明けボケで、何か間違えているのかもしれないのですが。
標記のマクロ、ドキュメントによると、上下左右の矢印キーでカーソル移動
できる事になっています。ところが、私のメインマシンの環境では、左右の
矢印キーしか効きません。ただ、シフトを押しながらの上下矢印によるペー
ジ移動は可能です。
どこを(もしくは、何を)チェックしてみたらよろしいのでしょうか。
VZ.DEFの何かの記述とバッティングしているのかなぁ。

あと、ページ移動を、\[UP]/\[DOWN]だけでなく[RLUP]/[RLDN]でも行いたい
と思いました。どこに、というのは大体わかるのですが、どんな記述を追加
すればよいでしょうか。

どなたか、お知恵をお貸しいただけると幸いです。
  

[1358] Re: jistable.defでヘルプ求む

めざら 2006/11/16(Thu) 23:46
[1356]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 うちでも,上下が効かないですね。

 jistable.def ではコマンドキーテーブルの値を一時的に書き換えて,
通常はメニューの返り値が得られない(複数アイテムのメニューの中で
上下に動いてしまうので)上下キーでメニューをキャンセルして返り値を
得るという裏技を使っています。

 今日は時間が時間(わたしは早寝早起きです)なので,
明日詳しく検証してみます。

 過去ログがあれば,Yushi さんの技術資料を参照してください。
って,貼り付けた方が早いですね。

---- 引用開始 出典:FGALPK mes 14 #16139
》16139/16139 Yushi            メニューで[UP] [DOWN]
》(14)   96/02/13 00:54  16132へのコメント

=T23=

* M
1""
    &Le(pr,vp+118) &Le(vp+118,vp+110) &Le(vp+110,pr)
:A  !01 (r+1)??>Z
    (r&$FF+$100)>!{
        (#s) (m"←")
        (#d) (m"→")
        (#a) (m"↑")
        (#f) (m"↓")
    } &m("%s",m)
    >A
:Z  &Le(vp+110,vp+118) &Le(vp+118,pr)
 
* P
1 "Test",10,1
    "Yushi"
*
 
        - Macro Wizard -
---- 引用終わり

 このマクロが正常に動作するか確認してください。
 やっていることは同じなので,これが動けば修正可能なはずです。
 うちではきちんと動作しましたので,jistable.def の問題だと思います。

 なお,他のコマンドキーに機能を割り当てる場合は,
使いたいコマンドキーが割り当てられているコマンド番号を vz.def で確認し,
その番号を記述します。

 例えば,[RLUP]/[RLDN] をそれぞれ [PageDown]/[PageUp] として 
#35/#36 に割り当ててあるなら ^R/^C と同じですが,
Smooth Up/Down に割り当ててあるなら #37/#38 なので,
(37)と(38)に 35/36 に書いてある命令を書きます。

 あれ? うちでもうまくいかないなぁ。どうしてだろう。(?_?)

[1361] Re^2: jistable.defでヘルプ求む

としき 2006/11/17(Fri) 10:20
[1358]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  過去ログがあれば,Yushi さんの技術資料を参照してください。
> って,貼り付けた方が早いですね。

実行してみました。
T23は、うちでもきちんと動きました。って、入力したカーソルキーに応じて、
上下左右の矢印が表示されればよいのですよね。
すると、jistable.defって、和生さんの環境依存のマクロなのでしょうか。
会議室とかで誰もそういう報告をしていないという事の方が不思議なことの
ような気もします。
あるいは、200LXでは正常に動くのかな。
 

[1363] Re^3: jistable.defでヘルプ求む

めざら 2006/11/18(Sat) 09:01
[1361]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 環境に依存するというのは確かです。
jistable.def では #39/#40(表示窓の上端・下端)と #e/#x(↑・↓)を
キーアサインテーブル上でスワップしています。
#39/#40には元々特殊キーが割り当てられていないので,これ幸いと交換していますが,
もしもこれらのコマンドに割り当てている特殊キーを変更している環境では,
ちと話がややこしくなります。

 まずは自分の環境とすり合せるという作業が発生しますね。

 としきさんの環境では Yushi さんのテストマクロが正常に動いたらしいので,
#07/#08のコマンドキーに上下カーソルキーを割り当ててあると考えられます。
ま,普通これほど基本的な特殊キーを変更する人はいないと思いますけど。

 まず,jistable.def の以下の2行をコメントアウトして,3行目を挿入します。

;       &Im(o=wo+126,0)                         ;mark #0 使用
;       o.1=o.3=64, &La(vp+110,o) &Ls(vp+178,o) ;#39/#40←→#e/#x
        &Le(pr,vp+118) &Le(vp+178,vp+110) &Le(vp+110,pr)

 ワンセットの作業として,次の1行をコメントアウトして2行目を挿入します。
;       &Ls(vp+110,o) &La(vp+178,o)
        &Le(vp+110,vp+178) &Le(vp+178,pr)

 単純に Yushi さんのサンプルを写しただけですけれど,
jistable.def ではこの辺りの演算がうまくいってなかったようです。
指摘がなかった理由はわかりませんが,和生さんの回遊魚的開発スピードに
誰も随いてゆけなかったからという事情があるのかもしれません。
ワナマ産のマクロって質・量とも高いので,赤身だけで満腹してしまい,
肝腎のトロやカブトを十分に味わうということが,実はわたしもできなかったのです。

 うちではこの変更で上下カーソルが効くようになりました。

 次に,他のキーについてですが,ページアップ・ダウンに \[UP]/\[DOWN] を
使っているところを見ると,NEC-98環境で作成されたものだと思います。
ここに [RLDN]/[RLUP] を追加する場合は,まず,[RLDN]/[RLUP] が何のコマンドに
割り当ててあるかを調べなければなりません。
NEC-98用製品版では #37/#38 に割り当てられていますが,
そのままであれば,次のように追加します。

                (35) { cx-=256,>e }     ;#r \[up]       頁↑
                (36) { cx+=256,>e }     ;#c \[down]     頁↓
                (37) { cx-=256,>e }     ;[RLDN]         頁↑ 追加
                (38) { cx+=256,>e }     ;[RLUP]         頁↓ 追加

 もしも他のコマンドに割り当ててある場合は,
割り当てているコマンド番号を分岐の条件にします。
例えば,1行スクロールの #31/#32 に割り当ててあれば,
(31)/(32) を分岐条件とします。

[1365] Re^4: jistable.defでヘルプありがとう

としき 2006/11/18(Sat) 11:04
[1363]へのコメント http://www.hinocatv.ne.jp/~toshiki/
おかげさまで、使い勝手がイマイチだったところがすべて改善されました。
あと、マクロコードをじっくり眺めたら、区点コードなどを表示してくれる
ルーチンもしっかり用意してあったことに気がつきました。ここもコメント
アウトを外すことにより、欲しかった情報がすべて入手できるようになりま
した。
とりあえずメインマシンのPC-98の上だけですが、ウホウホ言いながら使って
います。ポケ3へのポーティングする際に変なことが起きたら、またヘルプ
を求めることになるかもしれませんが、多分大丈夫でしょう。

どうもありがとうございました。
 

[1368] Re^5: jistable.defでヘルプありがとう

めざら 2006/11/18(Sat) 17:25
[1365]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 あれから色々考えたのですが,結局,和生さんがなぜ単純なキーのスワップをせずに,敢えて面倒なキーの値の演算を選らんだのか不明なままでした。

 キーアサインは連続しているように見えて,値の方が実は離れている場合も多く,例えば機能↑↓←→はコマンド番号は 05,06,07,08 のように並んでいますが,キーの値は↑←→↓の順に 94h,95h,96h,97h なんですね。さらに ^R/^C などはキーの値がアルファベット順になっていますからホントにばらばらになっています。定数を加減して交換できるようなものではないんですね。謎です。

 それはともかく,既に気付かれたようですが,jistable.def は JIS/SJIS/区点のコードを表示できるオプションを持っていますので,今回の希望にぴったり適うものだと思います。

[1504] jistable.defポケ3に導入失敗?

としき 2006/12/01(Fri) 20:10
[1347]へのコメント http://www.hinocatv.ne.jp/~toshiki/
タイトルの通りなんですが、どうもうまくありません。
どんな不具合が出ているかというと、あまりにも基本的なところから大量に
出ているので、具体的に述べることはとりあえず控えます。
で、教えていただきたいことは、マクロをざっと眺めてみて、ポインタは大
量に使っているようなんですが、機種依存あるいはVzのバージョンに依存
するような部分は見受けられるか、というところです。
また、そのような依存性が仮にあったとして、それを取り除くことは可能か、
というところです。

もし、ちょっとコードをなめてみた範囲ではその手の依存性は見当たらない
という事であれば、あらためて不具合の状況をアップいたします。
また、バリバリに依存している、というようなことであれば、今回の要件に
はjc_in.defで対応したいと思います。

以上、よろしくお願いいたします。
 

[1505] Re: jistable.defポケ3に導入失敗?

めざら 2006/12/02(Sat) 07:15
[1504]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 やはりどこでエラーになっているのかわからないと、何とも言えないところだと思います。

 最初に考えたのは、#if の機種判定で所期の読み込みが行われているかどうか、ということでした。要らない部分をばっさり落としてやってみるとどうなるでしょうか。

 あと、気になるのは &b のような割り込みタイマでしたっけ、そんなものが引っかかっている可能性はありませんか?

 それから、オアポケはコンソールのフックって言いましたっけ、コンソールファイルへの書き出しは行われているでしょうか。機種に依存するというより DOS のサービスの関係での引っかかりってないでしょうか。

 逆に質問だらけになってしまった。(^^; @寝床

[1507] Re^2: jistable.defポケ3に導入失敗?

としき 2006/12/02(Sat) 10:55
[1505]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  やはりどこでエラーになっているのかわからないと、何とも言えないところだと思います。

エラーメッセージは出ません。
異常ではありますが、とりあえず動作はしています。
停止はしていません。

>  要らない部分をばっさり落としてやってみるとどうなるでしょうか。

ばっさり落してみましたが、以下の状況に変化はありませんでした。

>  あと、気になるのは &b のような割り込みタイマでしたっけ、そんなものが引っかかっている可能性はありませんか?

これは大丈夫だと思うのですが、あまり自信はありません。
どうすれば確認できるのでしょうか。

>  それから、オアポケはコンソールのフックって言いましたっけ、コンソールファイルへの書き出しは行われているでしょうか。

これは大丈夫だと断言できます。
以前にお世話になった、VZTOWER.DEFも正常に動いています。
ただ、EMS使用時にコンソールファイルを使用すると著しく速度が低下す
るのですが、もしかしたらこれは影響しているかもしれません。

> 機種に依存するというより DOS のサービスの関係での引っかかりってないでしょうか。

いわゆるDOS汎用のソフトは動いていますから、大丈夫だと思います。



では、不具合の状況を行きます。
使っているバージョンは、先日、めざらさんが教えてくれた、キー入力に関
する改造を施したバージョンです。
まず、最初の起動時、普通に表が表示されます。
ところが、ここで、下カーソルキーとリターンキーが全く効きません。
右カーソルキーを押すと、カーソルは移動せず、リターンキーを押した時の
ように編集画面にその時のカーソル位置の漢字が入力されます。
上カーソルキーと左カーソルキーは効きますが、カーソルを一つ動かす毎に
表の再表示が行われるので、とても遅いです。これがコンソールファイルの
速度低下の影響かもしれません。
ページのアップ・ダウンは効きますが、そうすると、漢字の表が壊れます。
枠は正しく表示されるのですが、中の漢字が全然違うものを表示したりカタ
カナを表示したり空白になったり文字化けしたり、となります。
2回目に起動すると、漢字表が表示されず、オプションというか、[DEL]キー
を押した時に表示されるコード入力窓が表示されます。これを[ESC]で抜ける
と、そこで漢字表が表示される形になります。

といった感じです。
なんとかなりそうですか?

[1514] Re^3: jistable.defポケ3に導入失敗?

めざら 2006/12/03(Sun) 09:33
[1507]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/index.html
 こちらで心配したような機種依存の関係のものではないということですね。
コンソールファイルが気になったのは,コンソールファイルのテキスト構造体
をワークとして使っているためなのですが,絶対に参照されないと思われる部
分(ne と qk)ですし,使われる可能性のある方(マーク)は pr に変更しち
ゃってますしね。関係ないですかねぇ。

 割り込みタイマの方も,思い当たるふしがなければ問題ないように思います。
&b の引数が 1/60秒単位で問題(桁違いの値にしなければならないような状況)
が出なければ,関係がなさそうです。

> ただ、EMS使用時にコンソールファイルを使用すると著しく速度が低下す
> るのですが、もしかしたらこれは影響しているかもしれません。

 ワークに使っているのはコンソールファイルそのものではなくて,テキスト
構造体の一部ですので,影響はないのかなぁ。速度低下ということであっても
メニューの書き換えが発生するときに一瞬待たされるのは LX も同じですし。

> いわゆるDOS汎用のソフトは動いていますから、大丈夫だと思います。

 汎用というのは,表示周りなどで機種固有のファンクションを使わないとい
うことだと思いますので,VZ は汎用ではないですよね。 大丈夫とは言い切れ
ないと思うのですが,その辺りはオアポケ版のソースを読めないとお手上げ。
ううう,すみません,役立たずで。

> まず、最初の起動時、普通に表が表示されます。
> ところが、ここで、下カーソルキーとリターンキーが全く効きません。

 当然,同じ修正を施した版を他の PC で動作確認してからオアポケに移して
いるわけですよね。そうするとここが機種依存なのでしょうか。でも,いくら
なんでもこんな基本的なキーがスキャンコードが異なるなんて考えられないで
すよね。そもそも騙されているのは VZ の方なのですから,キーの発生するコ
ードが違っていたら,通常の動作もおかしくなるわけだし。謎ですねぇ。

 例えば,リターンキーを押したときに上カーソルみたいな動作になるのであ
れば,スワップ位置がずれているなという想像がつくのですが,[-->] が [CR]
#04#08)というのはずいぶんずれてますね。

> 上カーソルキーと左カーソルキーは効きますが、カーソルを一つ動かす毎に
> 表の再表示が行われるので、とても遅いです。これがコンソールファイルの
> 速度低下の影響かもしれません。

 表の再表示自体は正常な動作です。 386より後くらいになると再表示されて
いることに気付かないくらいですが, 80186 や V30 あたりだと一、二瞬です
ね。それより遅いと固有の問題のように思います。

> 2回目に起動すると、漢字表が表示されず、オプションというか、[DEL]キー
> を押した時に表示されるコード入力窓が表示されます。これを[ESC]で抜ける
> と、そこで漢字表が表示される形になります。

 むう。その動作は,シフトキーが押されている状態で起動したシフト起動動
作ですね。そうでなければ,マクロバッファが壊れているとしか思えないよう
な動作です。 常にそうなるなら [CR] も \[CR] になるでしょうし,カーソル
移動も別のキーになってしまいます。

 例えば,ですよ。次のようなマクロでキーの値をチェックすることができる
としたら,コマンドに割り当てたキーの値になっているでしょうか。
 http://homepage3.nifty.com/mezala/vz/workshop/mtool.html#menuret

[1521] Re^4: jistable.defポケ3に導入失敗?

としき 2006/12/03(Sun) 11:46
[1514]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> > > 機種に依存するというより DOS のサービスの関係での引っかかりってないでしょうか。
> > いわゆるDOS汎用のソフトは動いていますから、大丈夫だと思います。
>  汎用というのは,表示周りなどで機種固有のファンクションを使わないとい
> うことだと思いますので,VZ は汎用ではないですよね。 大丈夫とは言い切れ
> ないと思うのですが,その辺りはオアポケ版のソースを読めないとお手上げ。

えと、よくわかりません。
DOS汎用ソフトが動いているからDOSのサービス関係での引っ掛かりが
ないと判断したのですが、何か私、読み間違えているようですね。
めざらさんの欲しい情報を確認できる、何か容易な方法ってありませんか?

>  むう。その動作は,シフトキーが押されている状態で起動したシフト起動動
> 作ですね。そうでなければ,マクロバッファが壊れているとしか思えないよう

マクロバッファ破壊、というのは可能性がありそうです。
ページのアップ・ダウンで漢字表の中身が壊れるのですが、どのように壊れ
るかというと、文字化けした文字が表示されたり、Vzの内部で使っている
ような文字列が表示されたり、となります。なんかのdefファイルの一部のよ
うなものが表示されたこともあったな。
このような状態になってしまうので、その後すぐにマクロバッファからこの
マクロを削除する関係か、その他のマクロおよびVzの動作に不具合が出た
ことはありません。長時間使っていると影響が顕在化するかもしれませんが。

>  http://homepage3.nifty.com/mezala/vz/workshop/mtool.html#menuret

今夜は宿直で、これから出社です。
夜、余裕があれば試してみましょう。
今夜が無理だと明日以降です。
 

[1522] Re^5: jistable.defポケ3に導入失敗?

めざら 2006/12/03(Sun) 15:57
[1521]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/index.html
> DOS汎用ソフトが動いているからDOSのサービス関係での引っ掛かりが
> ないと判断したのですが、何か私、読み間違えているようですね。

 あ,いえ,ごめんなさい。わたしが混乱してます。

 コンソールの関係で何を考えていたのか,忘れてしまいました。(^^;
 要するに解っていないってことです。

> マクロバッファ破壊、というのは可能性がありそうです。

 症状として見ればそんな感じだと思うのですが,表示しているところはライ
ンバッファなんです。…ということは,起動以後にマクロファイルを一度でも
読み込んでいれば,そういったものが表示される可能性はありますね。ただ,
オープンしたことのないようなものや,明らかに VZ のシステムメニューのよ
うなものが表示されていたら,マクロバッファの破壊ということが考えられま
す。

 再カスタマイズで読み込んですぐにモジュールメニューで読込みサイズを確
認し,不具合の後にサイズを確認して異なっている場合は,確実にマクロバッ
ファの破壊ということになると思われます。

[1533] Re^6: jistable.defとポケ3

としき 2006/12/04(Mon) 14:10
[1522]へのコメント http://www.hinocatv.ne.jp/~toshiki/
えと、ちょっとだけ改善しました。
漢字表が壊れる件です。
これ、マクロ内部で98とDOSVの条件分岐を使って、変数aと変数eを設定して
いますよね。ところが、ポケ3の場合はPK3というシンボルを使わなくてはな
らないわけで、つまり、この2つの変数が設定されていなかったわけです。
#1505で、「要らない部分をばっさり落して」とあったときに、条件分岐だけ
落せばいいものを、変数設定まで全て落してしまった結果、設定されないと
いう状況も変化せず、やはり漢字表は正常に表示されませんでした。
今回、ここに気がつき、この2つの変数をDOSVと同じ値に設定してやったと
ころ、ページ変化で漢字表が壊れるという状況はなくなりました。

が、相変わらず、一部のカーソルキーやリターンキーが効かないという状況
に変化はありません。

>  再カスタマイズで読み込んですぐにモジュールメニューで読込みサイズを確
> 認し,不具合の後にサイズを確認して異なっている場合は,確実にマクロバッ
> ファの破壊ということになると思われます。

マクロサイズは変化していませんでした。
あと、#1514で指摘のあった、

>  例えば,ですよ。次のようなマクロでキーの値をチェックすることができる
> としたら,コマンドに割り当てたキーの値になっているでしょうか。
>  http://homepage3.nifty.com/mezala/vz/workshop/mtool.html#menuret

これも確認してみましたが、それぞれのカーソルキーを押した時の表示は、
デスクトップの母艦と全く同じ値が表示されました。
う〜ん、ポケ3のvz.defか何かのマクロかで、意図せず値を変えてしまって
いるのかなぁ。でも、リターンの値を変えるなんて、大事だよなぁ。
 

[1536] Re^7: jistable.defとポケ3

めざら 2006/12/04(Mon) 17:25
[1533]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 なるほど。しかし,シンボルで分岐すべきというのは分かるのですが,98で
も DOSV でもないという判定になっているわけですね。それは恐ろしい。
 #if 98
    …
 #elseif DOSV
    …
 #endif
 いずれにも属さないと,セットされないわけですか。むうー,気を付けよう。
 確かに if〜if〜endif ですもんね。 if〜else〜endif では何か問題ありま
したっけ。J31 とか AX あるのだけど,98だけうんと特殊な気が。

> が、相変わらず、一部のカーソルキーやリターンキーが効かないという状況
> に変化はありません。

 これ,もしかすると,わたしがスワップする値を間違えてるのかもしれない
ですね。まさかリターンがとも思うのですが,カーソルと隣接してますから,
ちょっと間違えればずれちゃいますもんね。

 そうだ。テストとして,キーを入れ替えないものを実行してみたらどうでし
ょうね。もちろんそうするとメニューの中でカーソルは上下に動きませんけど,
少なくともリターンがどのような扱いになるかは解るはずです。

 マクロバッファが壊れているというケースはでなく,きちんと変数をセット
すれば表示の内容に問題はなく,キーの値チェックでも問題がないとすれば,
あとはスワップのアドレスがずれているとしか思えません。

> う〜ん、ポケ3のvz.defか何かのマクロかで、意図せず値を変えてしまって
> いるのかなぁ。でも、リターンの値を変えるなんて、大事だよなぁ。

 ええ,リターンの値なんか変えやしませんよね。
あとは,写し間違いとか,全角スペース混入とか,考えられないようなポカを
していないかどうか。まぁ,それより先にスワップアドレスの食い違いかな。
なにしろ,ほら,人様の環境はまったく見えないので,ずれちゃうことも十分
ありえますよ。

[1540] Re^8: jistable.defとポケ3

としき 2006/12/04(Mon) 21:09
[1536]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  いずれにも属さないと,セットされないわけですか。むうー,気を付けよう。

常套手段としては

    …
 #if 98
    …
 #elseif DOSV
    …
 #endif

として、いずれでもない時の値を事前に設定しておくのでしょうね。
今回は、その他の環境がありうるという事の考慮が漏れたわけなんですが、
その他の環境というやつを作者が使ってなかったわけで、少なくとも作者の
環境では正常に動いていたことでしょうから、ある意味、仕方がないという
か、あきらめのつく事例ではあります。

>  そうだ。テストとして,キーを入れ替えないものを実行してみたらどうでし
> ょうね。もちろんそうするとメニューの中でカーソルは上下に動きませんけど,
> 少なくともリターンがどのような扱いになるかは解るはずです。

キーを入れ替えないものというのは、オリジナルのコードという意味でしょ
うか。それで試してみたら、確かに状況が異なりました。
御指摘の通り、上下のカーソルキーは効きませんが、左右のカーソルキーは
いずれも正常に動作しました。ただ、リターンキーが効かないという状況は
変化がありません。
これは手がかりになりますでしょうか。
 

↑ このページの先頭