一括表示

− 野ざらし言 −

[2153] Dicmgの検索マクロ

長太郎 2007/07/29(Sun) 16:14
はじめまして。長太郎と申します。
K.TAMさんの「VZで電子辞書」の一連のスレッドに触発され、愛用の
モバイルギアの辞書ツール化を考えております。

孫引きが出来る点等のメリットから、Dicmg.exeをVZマクロマクロで
利用したいのですが、
http://www.asahi-net.or.jp/~pk2k-hrsw/hp200lx/mypaedia.htm#top
「●複数辞書の活用(VZでの使用の場合)」
に記載されている、
「ss2, #E &?("c:\bin\dicdos -f a:\dic\%s",p) ;★DICDOS.EXEで検索」
を単純に「dicdos→dicmg」に書き換えても上手く動作しません。
(デフォルトのdicdosであれば、正常動作しますので、その他の設定
は問題ないと考えています)

当方、VZマクロには門外漢のため自分で原因を解明する技術を持ち合
わせておりません。
Webでもいろいろ検索したのですが、Dicmg.exeが動作するVZマクロを
ご存じの方はいらっしゃいませんでしょうか?

参考)Dicmg.exe
http://home.e-catv.ne.jp/okadaf/personal.html

初心者の質問で恐縮ですが、ご存じの方がいらっしゃれば、ぜひご教
授のほどお願いいたします。

[2154] Re: Dicmgの検索マクロ

めざら 2007/07/29(Sun) 20:27
[2153]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 長太郎さん,ようこそいらっしゃいました。

 わたしも DOS モバは所有しているのですが, 長くフラッシュ貧乏だったこ
ともあって辞書系はまったく不得意です。お役に立てるかどうかわかりません
が,どうぞごゆっくりなさっていってください。

 さて,まず確認させていただきたいのが,dicmg と dicdos の互換性です。
dicmg と dicdos はコマンドラインオプションなどがまったく同一なのでしょ
うか。

 バイナリを差し替えるだけで使えるものであれば,どこかが違うはずですか
ら,「上手く動作しません」という状況の具体的な情報が必要です。

 どこがどのように所期の動作にならないのか,まずそこをご説明ください。
「ss2,」を削除して動作の過程が見えるようにし,どこでエラーになっている
のかを確認してみてくだされば,原因は判明すると思います。

[2157] Re^2: Dicmgの検索マクロ

長太郎 2007/07/30(Mon) 11:01
[2154]へのコメント
めざらさん、でがらしさん、さっそくのレスありがとうございます。
長文となりますが、症状他についてご報告します。

> dicmg と dicdos はコマンドラインオプションなどがまったく同一なのでし
> ょうか。

以下、
http://home.e-catv.ne.jp/okadaf/personal.html
のDicmg.docを引用しますが、dicdosとは基本互換だが、不要な機能を削除
し、孫引き機能などを新たに追加した仕様のようです。

---------Dicmg.docから引用-----------

 DIC.EXE の画面表示をモバ mgdisp2.sys環境用に最適化しました。
英語発音記号とアクセント記号の表示,見出し語の一覧表示・選択と補助
項目の参照(孫引き)ができるようにしました。また,辞書圧縮機能につ
いてはモバ上で使う事はないので,メモリを節約するために除去していま
す。
 使い方の詳細については原著を参照して下さい。dic.exe か dicdos.exe
が正常に使えているものとして話を進めます。

1.基本的な変更点

 発音記号やアクセント記号(mgdisp2 用の制御コード 08h, 09h, 1ah)
などを表示するために BIOS へ直接出力としています。したがって,ログ
ファイル(-L),ページャ(-X)などの機能は削除しています。
また,次の起動オプションを追加または,変更しました。

-E 未定義の外字コードを抽出(-Mを併用)。この状態では未定義外字
コードを検出するまで検索(最大 300)し続け,見出した所から1頁分を
表示して停止します。任意のキー入力で再開。">" によるキー待ちでは
"/x" コマンドで On/Off トグル設定(Extract mode On/Off)。

-e 見出し語(entry word)のみの表示。">" によるキー待ちでは "/e"
コマンドで On/Off トグル設定(Entry mode On/Off)。

-o 出力ファイル名の指定。見出し語一覧モードで /nns 選択するとnn
番目の見出し語を格納(save)できます("s" は小文字のみ)。

-N 項目の区切りで停止しない。これは辞典によっては見出し語だけし
か表示されないものがあったので特別に設けた(-Eと組み合わせると全範
囲に亘る未定義外字コードの連続検索ができる)。">" によるキー待ちで
は "/n" コマンドで On/Off トグル設定(Continue mode On/Off)。

-k 広辞苑の外字コードを a421〜b74e --> eb40〜f4cc に変換して,
Shift-JIS外字として出力する。(別添の広辞苑用外字フォントkjgai16k.
fntが必要)

-t コンソール出力(リダイレクション可能)の指定(1/21/01版)。
コマンドラインでの検索文字列指定の有無により動作が異なる(5.を
参照)。

その他,検索文字列を引数として起動した場合でも,孫引きや再表示が
できるように,">" によるキー入力待ちとしました(一時休止(-p),
プロンプト(-P)オプションは廃止)。したがって,"/" で終了する事
になります。表示行数のデフォルトは(画面行数−1)の自動設定とし
ました。

------------------------


> ら,「上手く動作しません」という状況の具体的な情報が必要です。
> どこがどのように所期の動作にならないのか,まずそこをご説明ください。

具体的な動作は以下の通りです。
使用VZマクロは、前回ご報告の通り、
http://www.asahi-net.or.jp/~pk2k-hrsw/hp200lx/mypaedia.htm
に記載されているものです。

◆dicdos.exeの場合
例えば【あい】を広辞苑で引くと、きちんと別ファイル上に【あい】14
項目として検索結果が表示される。

◆dicmg.exeの場合
同上の場合、オープン時のファイル上に、「あい」の前方一致単語から
「あう〜」以降の単語まで、スペースを押すごとに延々と結果が表示さ
れる(dicmg.docに記載の検索終了コマンド「/」やCtrl-C、Ctrl-Zも効
かない)。
ちなみに、dicmg.exe単体でコマンドライン使用すると、dicdos.exeと
同様の正常動作をします。


また、でがらしさんご指摘のように、私の方でも本掲示板投稿前に、
http://homepage3.nifty.com/mezala/vz/history/sm2000.html
の2000年1月「mgdic.def dicmg.exe を起動して広辞苑を引く」を
発見したのですが、いかんせん具体的な記事がすでにないもので...

皆様のお知恵を拝借できればと思います。


長太郎

[2158] Re^3: Dicmgの検索マクロ

めざら 2007/07/30(Mon) 17:51
[2157]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 わたしも岡田さんのページから dicmg をいただいてきて, ドキュメントを
確認してみたのですが,dicdos の方は現在入手ができないようで, オプショ
ンを比較できなかったのですね。

 ただ, 「dicdos.exe が正常に使えているものとして」ドキュメントが書か
れているので,あまり違いはないのだろうと思っていました。

 そこで思ったのが,H岡教授の dicmlt.def をコピー・ペーストした時に,
全角スペースや  ';' のないコメント行が混入しているせいではないかという
ことなのですが,なぁーんだ,9割方は動いているという雰囲気なのですね。
そこまで出来ていれば,初心者とは言わせないですよ。(^^)


> ◆dicmg.exeの場合
> 同上の場合、オープン時のファイル上に、「あい」の前方一致単語から
> 「あう〜」以降の単語まで、スペースを押すごとに延々と結果が表示さ
> れる(dicmg.docに記載の検索終了コマンド「/」やCtrl-C、Ctrl-Zも効
> かない)。

 これ,ss2, を削除したうえで確認してみてくださっているのですよね。
その時のコマンドラインに展開した文字列はどうなっているのでしょうか。
リダイレクトしているならコンソールから流れずに残っていると思うのですが。

 それから,「スペースを押すごとに」というところがよく解らないのですが,
dicmg や dicdos の動作に関わるオプションでそのような more 的な動作って
あるのでしょうか。もしもあれば,それが有効になっているということになり
ますよね。あるいは何故「スペース」を押されたのか,その辺りもご説明くだ
さるとありがたいですね。またどのように終了させたかとか。リセット?


 ところで辞書検索マクロは,H岡教授の dicmlt.def により完成の域に達し
ていますので,他の小物マクロにデグレードする必要はないと思いますよ。

 あきろさんのマクロは習作と言うべきもので,あきろさんの環境では正常に
動作しているかもしれませんが,他の環境では動作の保証はないと思います。
 …とは言うものの,あきろさんの神秘的なカンをおろそかにすることは逆に
科学的な態度ではないので,次に引用しておきますね。

 なお,このマクロは N.YAMA さんのマクロにあきろさんが改造を加えたもの
で,出典は nifty:FGALDC/MES/13/06754(2000/01/28T23:57) です。

50 ^\   "dicmg"
        AA=s, (s-2)?? #95                       ;コマンドラインならコンソール参照
        (s)?.                                   ;モードチェック
        &j(0) f=mg.-9, mp[,                     ;fep off
        (mb==2)?{#G (r>0)? >a}                  ;文字ブロックなら取得して>a
        &j(10) &01 #F &Cr (r)?>z                ;検索窓オープン
:a      #E &?("dicmg_ %s",ps) #m #[             ;コマンドラインで実行
:z      (AA==2)? {#C} mp], #] fr-, &j(f) &d.    ;後処理
01:     {&m("★σ(^_^)【広辞苑】を引くよん!φ(^^)}
*

 実行するには次のバッチが必要です。
 バッチの出典は,nifty:FGALDC/MES/13/06703(2000/01/22T19:41) です。
 −dicmg_.bat−
-----------------------------------------------------------------------
dicmg -f a:\dic\koujien -M a:\dic\ebkojien.ddw -o d:\dictemp.$$$ -c 78 -e -g %1
-----------------------------------------------------------------------

 こちらが動いたら,外字ファイル ddw のからんだ問題とか想像しますが。

[2160] Re^4: Dicmgの検索マクロ

長太郎 2007/07/30(Mon) 20:34
[2158]へのコメント
めざらさん、わざわざdicmgドキュメントを確認いただきありがとうござ
います。
(ちなみに、dicdosについては、
http://homepage1.nifty.com/kyou-kyou/dicdos.htm
で入手可能なようです)

試行錯誤の結果、とりあえず所期の目的は達することは出来ました。
またまた長文になり申し訳ありませんが、私の(修正前の)dicmlt.def
を記載の上、結果をご報告します。

---------------------
=== Dicmlt.def === 
* M
89^KD"電子ブック版辞典検索"
    i-, k-,					;k=0/1:FEP ON/OFFで窓オープン
:L  (s)>?{ >B #[ >C #[ #[ } >L
:C  #[ (s)?{ i+, #[ #95 }			;i=1:console open
:B  &j(0) !01 &j(-1) (r<0)?.
    (pm.0=='K')?{ p"kojien5", >A }		;▲1
    (pm.0=='M')?{ p"meikyo", >A }		;▲2
    (pm.0=='G')?{ p"genius3",k+, >A }	;▲3
    (pm.0=='C')?{ p"genius3", >A }		;▲4
    (pm.0=='L')?{ p"ldoce4",k+, >A }		;▲5
    (pm.0=='T')?{ p"yhougo3", >A }		;▲6
    (pm.0=='H')?{ p"hougaku4", >A }		;▲7
    (pm.0=='N')?{ p"6law", >A }		;▲8
:A  &Sp(pa,"a:\mydoc\%s.###",p)		;★pa=出力ファイル名
    (k)??{ &j(0) ((mg.-9)[) &j(10) fr+, }	;※FEP ON で窓オープン->原状に復帰
    mx+, &g("$p 辞典:検索文字列",30) mx-,	;検索文字列入力->pw
    &Cr (k)??{ ((mg.-9)]) } (r<0)?.
;    ss2, #E &?("a:\dic\dicdos -f a:\dic\data\%s",p)	;★DICDOS.EXEで検索
;    ss2, #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索
    #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索
    &?(" -N %s > %s",pw,pa)			;検索文字列&出力ファイル指定
    #m #[ &d &s #R &?("%s",pa) #m #_		;出力ファイル・オープン
    (cp==2)?{ #C &m(19) (2){ &b(0)&w(20) }	;空ファイルのチェック
    &d (i)?#C . }
    (i)?{ #W #C #W }
    #^ #< 
    #n &?("検索文字列 =【%s】",pw) #<	;冒頭に検索文字列を表示
    &d &b(0)
* P
01  " 電子BOOK ",22,8			;◆
    "K 広辞苑"				;▲1+
    "M 明鏡国語"				;▲2+
    "G ジーニアス英和"			;▲3+
    "C ジーニアス和英"			;▲4+
    "L ロングマン英英"			;▲5+
    "T 法律用語"				;▲6+
    "H 法律学小辞典"			;▲7+
    "N 模範六法"				;▲8+

*
======
--------------------------------

ss2, を削除の上「あい」を広辞苑で検索すると、
A:\VZ>a:\dic\dicmg -f a:\dic\data\kojien5 -N あい > a:\mydoc\kojien5.###
                                         ^^^
というように、-Nオプションが自動的に付加されていることに気がつきま
した。
--------------------
-N    項目の区切りで停止しない。これは辞典によっては見出し語だけ
しか表示されないものがあったので特別に設けた(-Eと組み合わせると
全範囲に亘る未定義外字コードの連続検索ができる)。">" によるキー
待ちでは "/n" コマンドで On/Off トグル設定(Continue mode On/Off)
--------------------

そこで、dicmlt.def中の、
&?(" -N %s > %s",pw,pa)		;検索文字列&出力ファイル指定
がどうも怪しいと思い、
&?(" %s > %s",pw,pa)		;検索文字列&出力ファイル指定
で実行した結果、適切に検索を実行することが可能になりました。

ただ、このままでは検索結果をファイルに書き出すことが出来ないため、
#E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索
に-tオプションをつけて、
#E &?("a:\dic\dicmg -f a:\dic\data\%s -t",p)	;★DICMG.EXEで検索
                                      ^^
とすることで、dicdos同様の結果を得ることが出来ました。

-------------------------
-t    コンソール出力(リダイレクション可能)の指定(1/21/01版)。
コマンドラインでの検索文字列指定の有無により動作が異なる(5.を参照)。
-------------------------

とここまでは、自力で何とか解決することが出来たのですが、そもそもdicmg
を利用しようと思ったのは、孫引き機能を利用したいためだったこともあり、
最終的な検索結果のみを出力するだけならば、dicdosと変わらないことになり
ます。

私が望む仕様は、
1.Vz上でdicmgを起動(マクロ仕様としては、dicmlt.defのように複数辞書
対応が望ましい)
2.いきなり検索結果を返し、dicmgを終了させるのではなく、動的にdicmg終
了を指示(dicmgの場合"/"を入力)する仕様にした上で、孫引き検索結果も
含めて、ファイル書き込み、同オープン

もしかしたら、ご紹介頂いたあきろさんのマクロが上記仕様に合致するかも
しれませんので、時間を見つけて試してみます。
取り急ぎ、お礼かたがたご報告まで。

[2163] Re^5: Dicmgの検索マクロ

めざら 2007/07/30(Mon) 22:09
[2160]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 オプションがらみということで解決して祝着に存じます。

 さて, 孫引きのために dicmg を導入するという目的を最優先させるなら,
ファイル出力型のマクロではなく,コマンド発行と同時に処理を dicmg.exe に
渡してしまって終了するマクロでないと難しいと思います。

 コマンドラインで出力する部分を次のようにして,

     #E &?("a:\dic\dicmg -f a:\dic\data\%s %s",p,pw) #m .

 あとはばっさりと落としてしまって実行してみてください。↑の終了命令に
よって,制御は dicmg.exe に移ります。 孫引きまで実行してみて,終了後に
\[ESC] でコンソールファイルに出力されているか確認してみてください。

 もしかすると,オプション -t を指定する必要があるのかもしれません。

[2166] Re^6: Dicmgの検索マクロ

長太郎 2007/07/30(Mon) 23:35
[2163]へのコメント
めざらさん、たびたびのアドバイスありがとうございます。

> #E &?("a:\dic\dicmg -f a:\dic\data\%s %s",p,pw) #m .
>  あとはばっさりと落としてしまって実行してみてください。

実行してみました。コマンドラインから孫引きも実行されるのですが、
\[ESC] でコンソールファイル出力を見てみると、

---------------
a:\dic\dicmg -f a:\dic\data\kojien5 あい

>-----<1>-------
>-----<2>-------
>/
---------------
てな形で、コマンドライン上の検索結果が反映されません。
(ちなみに<1>等は、孫引き時のファンクション番号)


>  もしかすると,オプション -t を指定する必要があるのかもしれません。

#E &?("a:\dic\dicmg -f a:\dic\data\%s %s -t",p,pw) #m .
で実行すると、検索後の\[ESC] でコンソールファイルにはきちんと結果が
反映されますが、実行即終了となり孫引きは出来ません。


以上、お礼かたがたご報告まで

[2167] Re^7: Dicmgの検索マクロ

めざら 2007/07/31(Tue) 06:30
[2166]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 どうやら,孫引きと標準出力は相容れない機能のようですね。
 残念ながらどちらかを選択することになりそうです。

 ひとつの選択肢ですが,標準出力された内容の孫に関わる書式を特定できれ
ば,自動選択して引きにいくというマクロなら作れそうに思います。

[2172] Re^8: Dicmgの検索マクロ

長太郎 2007/08/01(Wed) 22:51
[2167]へのコメント
めざらさん、こんばんは。
わざわざコメントいただきありがとうございます。

> どうやら,孫引きと標準出力は相容れない機能のようですね。
> 残念ながらどちらかを選択することになりそうです。

あきろさんにもコメントいただきましたが、二者択一のようですね。
ただ、モバギ+vzという最強の執筆環境で辞書引きが出来るように
なっただけでも、十分に満足しております。

その他、vzに関してご質問させていただくこともあるかもしれませ
んが、今後ともよろしくお願いいたします。

p.s.vzに関する情報が少なくなってきた昨今、このようなサイトを
運営いただき感謝しております。

[2174] Re^8: Dicmgの検索マクロ

あきろ 2007/08/02(Thu) 02:21
[2167]へのコメント
 めざらさん、こんばんは。

>  ひとつの選択肢ですが,標準出力された内容の孫に関わる書式を特定できれ
> ば,自動選択して引きにいくというマクロなら作れそうに思います。

 標準出力とは、ここではファイルに出力ということですよね。孫引きは丸数
  字として出力されます。21 以上は半角括弧と数字で、(21) のようになりま
  す。

 広辞苑は以下の通り(70字で改行しました)
----------------------------------
がっ‐こう【学校】ガクカウ
  一定の教育目的のもと、組織的・計画的に教育を行う施設。「学校」の語は
  「孟子」に由来。
  _@―‐い【学校医】ガクカウ‥
  _A―‐えん【学校園】ガクカウヱン
  _B―‐かくちょう【学校拡張】ガクカウクワクチヤウ
----------------------------------

 リーダースは以下の通り(70字で改行しました)
----------------------------------
cap1 [k__p]→_@
  _n.
  1 (縁なし)帽子 (cf. →HATA); 《階級・職業・所属団体などを示す》 特殊帽, 制帽; 
  枢機卿[大学]の角帽.
  ・Throw up one's 〜. 大喜びで帽子を放り上げる.
  ・If the 〜 [_《口》 the shoe] fits, wear it. 《諺》 そのことばに思い当たるな
  ら自分の事と思うがよい 《★しばしば wear it は省略》.
  ・Where is your 〜? (坊や)お辞儀は?
  ・→PULL 〜sB.
----------------------------------
 発音記号は、モバギで mgdisp2.sys というディスプレイドライバを使った場
  合のみ正しく表示されます。

 孫引きに関しては、辞書によって書式も変わってくると思うので、自動選択
  して引きに行くというのは難しいのではないでしょうか。

 そこで、文字ブロックで起動すると、検索窓にブロックした検索語句が入っ
  た状態で窓が開くという風にしようと思いました。長太郎さんのレスに、そ
  のように改変した(つもりの)マクロを書き込みましたが、添削をお願いい
  たします。

  #E &?("a:\dic\dicmg -f a:\dic\data\%s %s",p,pw) #m .

 ↑↑ そのまま利用させていただきました。

[2159] Re^3: Dicmgの検索マクロ

あきろ 2007/07/30(Mon) 18:50
[2157]へのコメント
 長太郎さん、こんばんは。あきろと申します。

 Vzのマクロも dicmg の設定等もすっかり忘れてしまいました。(~_~;
 が、モバギ仲間ということで、少しでもお力になれれば幸いです。

 めざらさんご指摘の通りに、マクロではなくオプションに原因があると想像
  し、ドキュメントをつらつらと眺めてみました。

 えーと、具体的な動作を書いていただいたので、たぶん -N オプションに原
  因があると推測してみました。

 dicdoc
       -N, --non
            キ−ワ−ドを指定しなくてもコマンドモ−ドにならずに終了
            します

 dicmg
       -N
            項目の区切りで停止しない。これは辞典によっては見出し語だけ
            しか表示されないものがあったので特別に設けた(-E と組み合わ
            せると全範囲に亘る未定義外字コードの連続検索ができる)。">"
            によるキー待ちでは "/n" コマンドで On/Off トグル設定
            (Continue mode On/Off)。

 dicmg の-N オプションの「項目の区切りで停止しない」というのがあてはま
  ると思います。

 また、dicmg では、
       -o
            出力ファイル名の指定。見出し語一覧モードで /nns 選択すると
            nn 番目の見出し語を格納(save)できます("s" は小文字のみ)。

 というオプションで出力ファイル名を指定しなければならないので、"電子ブ
  ック版辞典検索"でも -o オプションを使用しなければならないと思います。

 そこで、
	ss2, #E &?("c:\bin\dicdos -f a:\dic\%s",p) ;★DICDOS.EXEで検索
	&?(" -N %s > %s",pw,pa) ;検索文字列&出力ファイル指定

 の -N を -o にしてみては、いかがでしょうか?(あまり自信はないのですが…)


>> 孫引きが出来る点等のメリットから、Dicmg.exeをVZマクロマクロで
>> 利用したいのですが、

 ということですが、このマクロは、検索内容をファイルに出力して、そのフ
  ァイルを開くマクロだと思います。もしもそうならば、このマクロを使った
  場合、孫引きは出来ません。コマンドラインで利用した場合に、孫引きは可
  能です。

 長太郎さんが、Vzを常駐させてご使用の場合は、マクロを少しいじれば、
  おそらく孫引きは可能になると思います。

[2161] Re^4: Dicmgの検索マクロ

長太郎 2007/07/30(Mon) 20:47
[2159]へのコメント
あきろさん、こんばんは。
丁寧なアドバイスありがとうございます。

頂いたコメントを見る前に、試行錯誤モードに入ってしまったため、
お返事が前後してしまいました。
直前のコメントにも記載しましたように、まさに-Nオプションが原因
だったようです(あきろさんのようにさっと原因究明とはいかず、帰
宅後3時間もかけてしまいましたが...)。


> >> 孫引きが出来る点等のメリットから、Dicmg.exeをVZマクロマクロで
> >> 利用したいのですが、
>
>ということですが、このマクロは、検索内容をファイルに出力して、そのフ
>ァイルを開くマクロだと思います。もしもそうならば、このマクロを使った
>場合、孫引きは出来ません。コマンドラインで利用した場合に、孫引きは可
>能です。
>
>長太郎さんが、Vzを常駐させてご使用の場合は、マクロを少しいじれば、
>おそらく孫引きは可能になると思います。

いやー、問題はまさにその通りなんです!
とりあえず正常動作はしたものの、そもそもの目的達成にはいたらず悶々と
いったところです。
現在VZは同じ岡田さんのgmenu上から起動していますが、上記目的が達成でき
るならば、常駐化したいと思っています。
ただ、「マクロを少しいじれば」...が


長太郎

[2162] Re^5: Dicmgの検索マクロ

あきろ 2007/07/30(Mon) 21:57
[2161]へのコメント
 長太郎さん、こんばんは。

>> 現在VZは同じ岡田さんのgmenu上から起動していますが、上記目的が達成でき
>> るならば、常駐化したいと思っています。
>> ただ、「マクロを少しいじれば」...が

 私は、常駐Vzしか使っていないので、非常駐のVzの動作がいまいち分か
  らないのですが、gmenu からVzを起動して件のマクロがうまく動作してい
  るのでしたらば、以下のようにコメントしたらどうなるでしょうか? コマン
  ドライン上に検索語句が展開されないでしょうか?

 もしもうまく展開されたときは、/ で dicmg を終了します。コマンドライン
  からVzのオープンファイルに戻るには ESC です。

;    ss2, #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索
    #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索
    &?(" -t %s > %s",pw,pa)			;検索文字列&出力ファイル指定
    #m 
;    #[ &d &s #R &?("%s",pa) #m #_		;出力ファイル・オープン
;    (cp==2)?{ #C &m(19) (2){ &b(0)&w(20) }	;空ファイルのチェック
;    &d (i)?#C . }
;    (i)?{ #W #C #W }
;    #^ #< 
;    #n &?("検索文字列 =【%s】",pw) #<	;冒頭に検索文字列を表示
;    &d &b(0)

 下記は、気が向いたら試してみてください。

 1) ss2, はある方が良いのではないかな。
 2) 単語を一つだけ引くのならば、-t はなくても良いと思います。-t がある
    と、半角区切りで入力した複数の単語を一度に引くことができます。

 ↑↑コメントを含めて、間違えていたらごめんなさい。

 -o オプションはなくても良いんですねぇ。知らなかったぁ。

[2164] Re^6: Dicmgの検索マクロ(修正再アップ)

あきろ 2007/07/30(Mon) 22:43
[2162]へのコメント
  長太郎さん、こんばんは。

 取り急ぎ、訂正いたします。
  ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 検索結果をコマンドラインに出力するときには、-t オプションがあると
  ''''''''''''''''''''''''''''''''''''
  うまくいかないはずです。-t オプションは削除してください。

[2165] Re^6: Dicmgの検索マクロ

長太郎 2007/07/30(Mon) 23:09
[2162]へのコメント
あきろさん、こんばんは。
コメントありがとうございます。

> #E &?("a:\dic\dicmg -f a:\dic\data\%s",p) ;★DICMG.EXEで検索
> &?(" -t %s > %s",pw,pa) ;検索文字列&出力ファイル指定
> #m
> ; #[ &d &s #R &?("%s",pa) #m #_ ;出力ファイル・オープン
> ; (cp==2)?{ #C &m(19) (2){ &b(0)&w(20) } ;空ファイルのチェック
> ; &d (i)?#C . }
> ; (i)?{ #W #C #W }
> ; #^ #<
> ; #n &?("検索文字列 =【%s】",pw) #< ;冒頭に検索文字列を表示
> ; &d &b(0)

上記、試してみましたが、残念ながらコマンドラインには展開されません。
ただ、手動で検索ファイルを見てみると、検索実行→ファイル書きだしは
実行されているようです。

次に、下記のように「-o」オプションの形、
&?(" -o %s > %s",pw,pa)
で実行すると、フリーズ状態(ESC他でも抜けられない)となります。

また、下記のようにオプション無しの形、
&?(" %s > %s",pw,pa)
で実行すると、コマンドラインに展開し、孫引き検索も可能なのですが、
検索終了後、手動で結果ファイルを開いてみると、
--------------
< 14項目 >
>/
--------------
といった形で、検索結果が反映されません。


ちなみに、今回のコメントアウト無し+「-t」オプション無しの形

#E &?("a:\dic\dicmg -f a:\dic\data\%s",p) ;★DICMG.EXEで検索
&?(" %s > %s",pw,pa) ;検索文字列&出力ファイル指定
#[ &d &s #R &?("%s",pa) #m #_ ;出力ファイル・オープン
(cp==2)?{ #C &m(19) (2){ &b(0)&w(20) } ;空ファイルのチェック
&d (i)?#C . }
(i)?{ #W #C #W }
#^ #<
#n &?("検索文字列 =【%s】",pw) #< ;冒頭に検索文字列を表示
&d &b(0)

で実行した場合、これも孫引き検索も可能で、かつdicmg終了後、自動的
に結果ファイルを開いてくれるのですが、
---------------
検索文字列=【あい】
< 14項目 >
>@ /^M@   曖昧な検索です
<<見当たりません>>
>/
---------------
と、なぜか直前で見えていた検索結果がファイルに反映されない状態です。

以上、お礼かたがたご報告まで。

[2169] Re^7: Dicmgの検索マクロ

あきろ 2007/07/31(Tue) 18:13
[2165]へのコメント
 長太郎さん、こんばんは。

 とりあえず、孫引きに成功したんですね。おめでとうございます。

 さて、少々誤解されているところがあるようです。

 1) 検索結果をコマンドラインに展開すると孫引きが可能である。
 2) 検索結果をファイルに出力する。(当然ですが、孫引きはできません。)
 3) 1) と 2) は、二者択一である。

   ※ 1) と 2) を同時に実行するオプションはないと思います。

 長太郎さんが、もしも、1) をお望みのであれば、マクロは以下のようになる
  でしょう。  ※ -t オプションはなしです。
----------------------------------------------------------------------
     #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索
     &?(" %s > %s",pw,pa)		   ;検索文字列&出力ファイル指定
     #m 
 ;    #[ &d &s #R &?("%s",pa) #m #_		;出力ファイル・オープン
 ;    (cp==2)?{ #C &m(19) (2){ &b(0)&w(20) }	;空ファイルのチェック
 ;    &d (i)?#C . }
 ;    (i)?{ #W #C #W }
 ;    #^ #< 
 ;    #n &?("検索文字列 =【%s】",pw) #<	;冒頭に検索文字列を表示
 ;    &d &b(0)
*
----------------------------------------------------------------------

 もしも、2) をお望みであれば、以下のようになるでしょう。
----------------------------------------------------------------------
     #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索
     &?(" -t %s > %s",pw,pa)		   ;検索文字列&出力ファイル指定
     #m 
     #[ &d &s #R &?("%s",pa) #m #_		;出力ファイル・オープン
     (cp==2)?{ #C &m(19) (2){ &b(0)&w(20) }	;空ファイルのチェック
     &d (i)?#C . }
     (i)?{ #W #C #W }
     #^ #< 
     #n &?("検索文字列 =【%s】",pw) #<	;冒頭に検索文字列を表示
     &d &b(0)
*
----------------------------------------------------------------------

 マクロのシフト起動などで、ファイル出力とコマンドライン展開を使い分け
  ることも可能だと思います。オプションの問題を棚上げすると、上記の引用
  箇所の4行目以降は、コメントの解説からもわかるように、検索結果を出力
  したファイルをオープンするというのが主な働きです。

 ですから、シフト起動等でこの箇所の実行するしないを決めてやれば良いと
  思います。シフト起動の使い分けは、結構便利そうな感じがします。

 ところで、gmenuからVzをお使いのようですが、Vzを起動 → ファイル
 オープン → 辞書を引く、という感じなのでしょうか? モバギをどのよう
 にお使いなのでしょうか?もしも、Vzを常駐させても問題ないのでしたら
 ば、いきなり辞書検索マクロを起動することも可能ですよ。

[2171] Re^8: Dicmgの検索マクロ

長太郎 2007/08/01(Wed) 22:46
[2169]へのコメント
あきろさん、こんばんは。
いつもながら適切なご指摘ありがとうございます。

>  1) 検索結果をコマンドラインに展開すると孫引きが可能である。
>  2) 検索結果をファイルに出力する。(当然ですが、孫引きはできません。)
>  3) 1) と 2) は、二者択一である。

なるほど、二者択一なのですね。
私の希望が先走ってしまったようで、失礼いたしました。

> モバギをどのようにお使いなのでしょうか?

モバギをカードブートでEMSを大量に確保した上で、gmenuからvz起動をして
いますが、具体的な使い方としては、
@)vzから既存のファイル編集中、文中の不明な用語について辞書検索
  →必要に応じ、検索結果を編集中の文書にコピー
A)書籍等を閲覧中、文中の不明な用語について辞書検索
  →検索目的は結果の閲覧のみ

@)A)の使用頻度は、7:3ぐらいでしょうか。
特に、大学院で法律を学んでいる関係上、電子化されている法律テキスト文
書が大量にあり、vz上で文書を編集しながら、必要な検索結果を該当テキス
トに付加していく、ということはWindowsPCでは多用しています。
また、関係の辞書では孫引き項目が多く(条文→判例等)、かつその検索結
果がひとつの概念を中心に周辺情報がまとまっており非常に有用であったり
するもので、今回孫引き検索結果のファイル出力にこだわった次第です。

ただ、孫引きしたい項目については、再度検索をすれば良いだけですので、
常用のテキスト編集マシンであるモバギ+vzで検索可能になったことだけで
も十分に価値を感じています。


> ですから、シフト起動等でこの箇所の実行するしないを決めてやれば良いと
> 思います。シフト起動の使い分けは、結構便利そうな感じがします。

これはぜひ方法を教えていただければと思います。
四六時中vzは開いている状態ですので、上記@)の目的のためには1)を通常
起動、A)の目的のためには2)をシフト起動といった利用方法はとても魅力
的です。
あと、もし簡単にできるお話しであればなのですが、孫引き事項再検索のた
めに、1)において、
a.通常検索結果中から、必要な孫引き項目部分を範囲指定
b.マクロ起動→辞書選択後、a.で指定した項目が検索後欄に自動入力
c.あとはリターンを押すだけ
という形になれば、最高だと考えています。
ただ、素人考えでも結構改造が必要になるように思えますので、もしお時間
があればということで全然構いません。

>  もしも、Vzを常駐させても問題ないのでしたら
>  ば、いきなり辞書検索マクロを起動することも可能ですよ。

vzを常駐させることで、gmenu上からもいきなり辞書検索マクロの起動や、
ESCでのvz起動が可能であれば、ぜひ試してみたいのですが、ちょっと無理
なようですね。
gmenuには、いろいろとバッチファイルを登録していることもあり、離れる
のは難しい状況です。
エイリアスを使えば運用できるのでしょうが、文系の私には、DOSプロンプ
トのみの画面は見栄え上ちょっと違和感があったりします ;^_^)

[2173] Re^9: Dicmgの検索マクロ

あきろ 2007/08/02(Thu) 01:43
[2171]へのコメント
 長太郎さん、こんばんは。

 目指す方向が明確になってきてよかったです。ということで、マクロの書き
  換えとなります。が、私は、他の方の書いたマクロを適当に書き換えている
  だけなので、このあたりからは私の出る幕ではありません。めざらさんが強
  い味方となってくださいます。

 というのでは、あまりにも無責任なので、私にできる範囲で考えてみました。

---------------------------------------------------------------------
89^KD"電子ブック版辞典検索"
    kk=ks,	;◎1◎
    mm=mb,	;◎2◎
    i-, k-,					;k=0/1:FEP ON/OFFで窓オープン
:L  (s)>?{ >B #[ >C #[ #[ } >L
:C  #[ (s)?{ i+, #[ #95 }			;i=1:console open
:B  (mb==2)?{ #G }	;◎3◎
    &j(0) !01 &j(-1) (r<0)?.
 (中略)
:A  &Sp(pa,"a:\mydoc\%s.###",p)		;★pa=出力ファイル名
    (k)??{ &j(0) ((mg.-9)[) &j(10) fr+, }    ;※FEPONで窓オープン->原状に復帰
    mx+, &g("$p 辞典:検索文字列",30) mx-,	;検索文字列入力->pw
    (mm==2)? {#e}	;◎4◎
    &Cr (k)??{ ((mg.-9)]) } (r<0)?.
;    ss2, #E &?("a:\dic\dicdos -f a:\dic\data\%s",p)	;★DICDOS.EXEで検索
    (kk&1)? { >D } ? { >E }
:D   #E &?("a:\dic\dicmg -f a:\dic\data\%s %s",p,pw) #m .	;◎5◎
:E   ss2, #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)	;★DICMG.EXEで検索◎6◎
     &?(" -t %s > %s",pw,pa)		   ;検索文字列&出力ファイル指定
     #m 
     #[ &d &s #R &?("%s",pa) #m #_		;出力ファイル・オープン
     (cp==2)?{ #C &m(19) (2){ &b(0)&w(20) }	;空ファイルのチェック
     &d (i)?#C . }
     (i)?{ #W #C #W }
     #^ #< 
     #n &?("検索文字列 =【%s】",pw) #<	;冒頭に検索文字列を表示
     &d &b(0)
 (後略)
---------------------------------------------------------------------

 上記の、◎1◎から◎6◎が改変箇所です。どのような動作になるかというと、

 マクロのシフト起動でファイル出力とコマンドライン出力を使い分けます。
 また、検索したい文字をブロック起動すると、検索窓に検索語句が入った状
  態で窓がオープンします・・・するようにしたつもりです。

 前者は多分大丈夫だと思いますが、後者のほうは自信ありません。というこ
  とで、再度お呼びいたします。

 「 め ざ ら さ〜〜ん。よろしくお願いします」

 ちなみに、前者に関係するのは◎1◎、◎5◎、◎6◎です。後者に関係するの
  は、◎2◎、◎3◎、◎4◎です。
 最初に、◎1◎、◎5◎、◎6◎を書き換えて、うまく動作するかお試しくださ
  い。それでうまく行ったら、◎2◎、◎3◎、◎4◎をお試しください。

> gmenuには、いろいろとバッチファイルを登録していることもあり、離れる
> のは難しい状況です。
> エイリアスを使えば運用できるのでしょうが、文系の私には、DOSプロンプ
> トのみの画面は見栄え上ちょっと違和感があったりします ;^_^)

 なるほど、それならば、Vzを常駐させる必要はないですね。
 モバギのカードブート環境を構築しているのですね。すばらしいです。私は、
  以前にカードブートにチャレンジしたのですが、捗々しい結果を得られずに
  断念しました。

 今後にマクロが完結してからで結構ですので、もしも、可能であれば、カー
  ドブートしているモバギの config.sys と autoexec.bat の記述をお教え願
  えないでしょうか。カードブートの環境構築に再度チャレンジしてみたくな
  りました。

 ということで、お分かりかと思いますが、実は、私は数学音痴の完璧な文型
  なんです。(^。^; 
 そこで、再度お呼びします。 シツコイ (。o゜)☆\バキッ

 め ざ ら さ 〜 〜 ん ! ご助力をお願いしま〜す。m(._.)m

[2175] Re^10: Dicmgの検索マクロ

めざら 2007/08/02(Thu) 22:54
[2173]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 んもぉー,あきろさんたら夜なべなんだから。
 そろそろトシを考えないと,寿命を縮めますですよ。(笑)

 それにしても,mgdicmg.def を書いていた頃のあきろさんとは別人のように
論理的な展開になっていますね。忘れたと言いながら,きっちり書いてます。

 ただ,文字ブロックの場合に #G で取得される先は ps なので,&g() で #e
を実行して呼び出すのは pw の履歴ですから,バッファをすり替えておくか,
複写しておく必要がありますよね。

 ちらと見て気付いたのはそのくらいでしょうか。

[2176] Re^11: Dicmgの検索マクロ

あきろ 2007/08/02(Thu) 23:56
[2175]へのコメント
 今日はもう寝るぞぉ。ほんと、もう歳なので、近ごろ、睡眠不足は辛い。

  :B  (mb==2)?{ #G pw=ps, }	;◎3◎

 とすればよいのでしょうか? 本当に、なんだか忘れちゃって、このあたりは
  さっぱりなんですよ。

>  それにしても,mgdicmg.def を書いていた頃のあきろさんとは別人のように
> 論理的な展開になっていますね。忘れたと言いながら,きっちり書いてます。

 もしも、多少論理的になっているとしたら、それは、書き換えるのが人様の
  マクロであり、自分では全く動作を試さないために慎重になっているのだと
  思います。

 というところで、今日はもうおやすみなさい。(-.-)Zzz

[2177] Re^12: Dicmgの検索マクロ

めざら 2007/08/03(Fri) 06:31
[2176]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 バッファをすり替えるとしたら,ps[=pw, #G ps], のようにコマンドの前後
でやるのが間違いがないですね。あるいは,#G &Sh(pw,ps) のように転送して
おくとか。前者の方が ps を汚さないぶん好まれると思います。

> 自分では全く動作を試さないために慎重になっているのだと思います。

 あ,なるほど。でも,なんだかさびしい感じです。あの頃,
「ええっ! なんでこれでそうなるの! うわ! ほんとだ?」
…なんてことがしょっちゅうでしたからね。
「あきろさんって,神秘的ですてき!」
…というフレーズを鮮明に思い出します。

>  今日はもう寝るぞぉ。ほんと、もう歳なので、近ごろ、睡眠不足は辛い。

 わたしは昔から朝型人間だったのですが,近ごろ早く寝ても朝起きられなく
なってしまいました。トシをとると普通逆らしいんですけどね。

[2178] Re^13: Dicmgの検索マクロ

あきろ 2007/08/03(Fri) 21:52
[2177]へのコメント
 長太郎さん、めざらさん、↓↓これでどうでしょうか。

---------------------------------------------------------------------
89^KD"電子ブック版辞典検索"
    kk=ks,	;◎1◎
    mm=mb,	;◎2◎
    i-, k-,					;k=0/1:FEP ON/OFFで窓オープン
:L  (s)>?{ >B #[ >C #[ #[ } >L
:C  #[ (s)?{ i+, #[ #95 }			;i=1:console open
:B  (mb==2)?{ #G }	;◎3◎
    &j(0) !01 &j(-1) (r<0)?.
; (中略)
:A  &Sp(pa,"a:\mydoc\%s.###",p)		;★pa=出力ファイル名
    (k)??{ &j(0) ((mg.-9)[) &j(10) fr+, } ;※FEPONで窓オープン->原状に復帰

; -----------------------------------------------------------------
;    mx+, &g("$p 辞典:検索文字列",30) mx-,	;検索文字列入力->pw
;    (mm==2)? {#e}	;◎4◎
; -----------------------------------------------------------------
;  ↑↑この2行を↓↓のように書き換える。★★★★★★
; -----------------------------------------------------------------
    mx+, 
    (mm==2)? {&g("$p 辞典:検索文字列",30,ps)
           ? {&g("$p 辞典:検索文字列",30}
    mx-,	;検索文字列入力-
; -----------------------------------------------------------------

    &Cr (k)??{ ((mg.-9)]) } (r<0)?.
;    ss2, #E &?("a:\dic\dicdos -f a:\dic\data\%s",p) ;★DICDOS.EXEで検索
    (kk&1)? { >D } ? { >E }
:D   #E &?("a:\dic\dicmg -f a:\dic\data\%s %s",p,pw) #m .	;◎5◎
:E   ss2, #E &?("a:\dic\dicmg -f a:\dic\data\%s",p)  ;★DICMG.EXEで検索◎6◎
     &?(" -t %s > %s",pw,pa)		   ;検索文字列&出力ファイル指定
     #m 
     #[ &d &s #R &?("%s",pa) #m #_		;出力ファイル・オープン
     (cp==2)?{ #C &m(19) (2){ &b(0)&w(20) }	;空ファイルのチェック
     &d (i)?#C . }
     (i)?{ #W #C #W }
     #^ #< 
     #n &?("検索文字列 =【%s】",pw) #<	;冒頭に検索文字列を表示
     &d &b(0)
; (後略)
---------------------------------------------------------------------

 時間がないので、今夜はこれだけです。

[2179] Re^14: Dicmgの検索マクロ

めざら 2007/08/04(Sat) 06:09
[2178]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
>     (mm==2)? {&g("$p 辞典:検索文字列",30,ps)

 おっ,これはいいですね。この行の最後に } 括弧↑が足りないので加え。
出力したファイルで ps を再利用できるところがよいと思います。 単純に ps
から pw に複写するのではなく,編集できる状態で複写するのも色々メリット
があるのではないでしょうか。例えば活用のあるような語句をちょっと編集し
てやるとかですね。#61 の pw 版のような動作は面白いです。

[2180] Re^15: Dicmgの検索マクロ

あきろ 2007/08/04(Sat) 08:48
[2179]へのコメント
 めざらさん、長太郎さん、おはようございます。

 本当だ、括弧が一つ足りない。

     (mm==2)? {&g("$p 辞典:検索文字列",30,ps)

                    ↓↓

     (mm==2)? {&g("$p 辞典:検索文字列",30,ps) }
                                             '''
 ということで、長太郎さん、修正をお願いいたします。

 うまく動作するとよいのだけれど・・。

[2181] Re^16: Dicmgの検索マクロ

長太郎 2007/08/04(Sat) 10:04
[2180]へのコメント
あきろさん、めざらさん、おはようございます。
平日忙しくしていたもので、ご連絡が遅くなり失礼しました。

マクロの方、問題なく動作いたしました!!
本当にありがとうございました。

私にとってモバギ+VZ環境(特にEmmettさんマクロ)は、ある意味、生活の
生命線とも言えるもので、今回希望の形で辞書引きが可能になったことで、
さらに活用の度合いが広がりました。

あえて、リクエストがあるとすれば、
1.「検索結果をファイル出力」パターンで、検索結果ファイル出力後に元の
 編集ファイルに戻るとFEPがoffになっているため、onの形で復帰したい
2.「検索結果をコマンドライン展開」パターンで、コマンドライン展開時に
 はFEPが自動的にoffになり、孫引き検索終了後、再度FEPがonの形で復帰
 したい

現状で十分に満足しておりますので、もし簡単に修正可能ならば、教えて
頂ければと思います。

取り急ぎ、お礼かたがたご報告まで。

[2184] Re^17: Dicmgの検索マクロ

あきろ 2007/08/04(Sat) 17:48
[2181]へのコメント
 こんにちは。無事に動作したようでよかった。

> 1.「検索結果をファイル出力」パターンで、検索結果ファイル出力後に元の
>  編集ファイルに戻るとFEPがoffになっているため、onの形で復帰したい
> 2.「検索結果をコマンドライン展開」パターンで、コマンドライン展開時に
>  はFEPが自動的にoffになり、孫引き検索終了後、再度FEPがonの形で復帰
>  したい

 fep の on/off は結構使い勝手に影響がありますよね。何とかなると思いま
  す。検索窓オープン(入力待ち)のときは fep on の方が良いですか?

[2185] Re^18: Dicmgの検索マクロ

長太郎 2007/08/05(Sun) 11:10
[2184]へのコメント
あきろさん、おはようございます。

> す。検索窓オープン(入力待ち)のときは fep on の方が良いですか?

日本語を検索する場合がほとんどですので、FEP ON が望ましいです(現状
頂いたマクロでもFEP ONになっていますが、ご質問いただいた趣旨と合って
いるかがちょっと心配)。

実現できれば本当にかゆいところに手が届くツールとなりますが、けっし
て無理はなさらず、お時間が許せばご検討いただけると幸いです。


長太郎

[2186] Re^19: Dicmgの検索マクロ

あきろ 2007/08/05(Sun) 14:12
[2185]へのコメント
 長太郎さん、こんにちは。

 改めて、辞書検索マクロを見てみると、もともとは FEP の制御がきちんとな
  されているマクロだったのですね。今回色々と手を加えたら、FEP が制御で
  きなくなってしまったということですね。

 FEP の制御に影響を与えるようなことはしていないので、なぜなのか、原因
  がはっきり分かりませんが、素人ながら推測してみました。

 この辞書検索マクロは、FEP の制御を k という変数で行っています。今回シ
  フト実行の制御を行うために、kk という変数を使いました。そのあたりに原
  因があるのではないかと思うのです。同じ k という変数を用いたことに原因
  があるのかもしれません。

 試しに kk を全て f に書き換えてみてください。

 kk=ks, → f=ks,  (kk&1) → (f&1)  というように

 これでうまく行けば、原因はそこにあるということです。

 別に決まりがあるわけではないのですが、一般的には、FEP の制御に変数を
  使うときには、f を使うことが多く、シフト実行の制御に変数を使うときに
  は、k が多いように思います。

 めざらさん、
 誤ってアップした発言を削除していただき、ありがとうございます。

[2190] Re^20: Dicmgの検索マクロ

長太郎 2007/08/05(Sun) 21:51
[2186]へのコメント
あきろさん、こんばんは。
アドバイスありがとうございます。

>  試しに kk を全て f に書き換えてみてください。
>
>  kk=ks, → f=ks,  (kk&1) → (f&1)  というように

残念ながら、同じ動作のままですね。

(k)??{ &j(0) ((mg.-9)[) &j(10) fr+, };※FEP ON で窓オープン->原状に復帰
で、FEPがWX3(MS漢字API)であることも影響しているのかしら??

もしなにかお分かりになるようでしたら、時間がある時で結構ですので、
またご教授下さい m(._.)m

[2192] Re^21: Dicmgの検索マクロ

あきろ 2007/08/05(Sun) 22:13
[2190]へのコメント
 長太郎さん、こんばんは。

 再度確認いたします。今回、私が手を加える前は、FEP の制御はきちんとで
  きていたんですよね。

 このマクロは、辞書引き前のFEPの状態(on/off)を覚えておき、辞書引き
  マクロ終了後に、FEPを元の状態に戻すという仕様になっているようです。

 また、検索窓では、英和辞典以外は、FEPは on になって窓が開く仕様に
  なっています。

 このツリーのなかで、マクロの書き換えを細切れに行っているので、一度、
  現段階のマクロを書き込んでみてください。そうすれば、マクロの大家たち
  からもアドバイスをいただけると思います。

> で、FEPがWX3(MS漢字API)であることも影響しているのかしら??

 私も WX3 を使っています。それが原因ではないと思います。
 (長太郎さんとの共通項が増えましたね。)

[2205] Re^17: Dicmgの検索マクロ

あきろ 2007/08/11(Sat) 19:55
[2181]へのコメント
 長太郎さん、こんばんは。

> あえて、リクエストがあるとすれば、
> 1.「検索結果をファイル出力」パターンで、検索結果ファイル出力後に元の
>  編集ファイルに戻るとFEPがoffになっているため、onの形で復帰したい
> 2.「検索結果をコマンドライン展開」パターンで、コマンドライン展開時に
>  はFEPが自動的にoffになり、孫引き検索終了後、再度FEPがonの形で復帰
>  したい

 dicmlt.def を試してみました。が、私のVzは、あちらこちらに、.txt で
  FEP on になるような仕掛けがしてあるので、よく分かりませんでした。(し
  かも、長い間にちょこちょことやっているので、どこどこに仕掛けてあるの
  かを把握しきれていません。)

 私の環境での結論からいうと、どちらの場合も、開いているファイルの拡張
  子が.txt の場合は、FEP on の形で復帰しました。

 しかし、いろいろ試していくと、少なくとも、1.の場合は、FEP on では、戻
  らなそうだということが分かりました。

 ただ、2.の方は、FEP on のテキストから実行した場合は、孫引き検索終了後
  に、テキストに戻ると FEP on になるように思うのですが、いかがでしょう
  か? やはり、ダメでしょうか?

 で、自信はありませんが、以下のようなことをやってみると、状況は改善さ
  れないでしょうか?

 vz.defの中に 1 "!Open" という箇所があります。そこに

	(ne=='TX' || ne=='DO')? { fr-, &j(10)}?{&j(0)}

 と、記述してください。
 これは、拡張子が.tx? あるいは.do? のファイルを開くときに、FEP on の状
  態で開くという命令です。
(もしも、freeform.def をお使いならば、ffauto.def の中の 「1 "!Open"」
  に記述してみてください。)

 では。

[2221] Re^17: Dicmgの検索マクロ

めざら 2007/08/20(Mon) 17:36
[2181]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
 谺が地球を周回してきたくらい遅いコメントでごめんなさい。
 (このところずっと頸・肩の調子が悪くて特に夜はだめで)

> 1.「検索結果をファイル出力」パターンで、検索結果ファイル出力後に元の
>  編集ファイルに戻るとFEPがoffになっているため、onの形で復帰したい
> 2.「検索結果をコマンドライン展開」パターンで、コマンドライン展開時に
>  はFEPが自動的にoffになり、孫引き検索終了後、再度FEPがonの形で復帰
>  したい

 この辺りの FEP のオン・オフについては,一定の手順がありますので,
それを説明しておいた方が後々応用が利きそうですね。

■FEP が自動制御される入力窓,自動制御されない入力窓

 FEP の自動制御とは, FEP オンの状態から表示した一行入力窓で FEP がオ
フになり, 入力窓が閉じると FEP がオンの状態に復帰することを言います。
典型的な例は [ESC]@ のインスタントマクロなどで使用されている &g() で,
この入力窓では FEP がオフになります。 数値やマクロコードの入力などが想
定されているからだと考えられます。

 一方,検索・置換系の入力窓では FEP の自動制御は行われません。 こちら
は日本の自然言語の入力も想定されているからだと考えられます。

■自動制御されてしまう入力窓で自動制御させない方法

 榊原氏の裏技に属する制御方法があります。関数 &g() の動作を逆手に取っ
た見事なもので,VZ のソースが読めるマクロ師の真骨頂とも言えますね。

 具体的には次のようにします。

fr+, &g("ほげほげ") ;&g()の直前にfrに1を格納しておく

 たったこれだけで何故可能になるかと言うと, fr という変数の非公開機能
によります。fr は VZ の起動後にただちに FEP をオンにするスイッチである
というのが表向きで,VZ が起動されたのちは異なる目的で機能しています。

 VZ 起動後の fr は,入力窓での FEP 制御のために直前のシステムモードを
格納する変数になります。 編集モードのシステムモード(s)は 0,入力窓の
システムモードは 1です。通常,編集モードから入力窓を表示すると fr には
編集モードの 0が格納されます。 &g() は VZ から呼び出されると fr を参照
して直前のシステムモードが何だったか確認します。このとき fr に 0が入っ
ている場合,&g() は編集モードで呼ばれたということで FEP の自動制御を行
います。

 さて,fr に 1が入っていると,&g() は「あ,同じモードから呼ばれている
から FEP を自動制御する必要はないんだな」と判断します。つまり,&g() を
呼び出す直前に fr に 1を代入しておくということは, &g() に対して「編集
モードから呼ばれたんじゃないからね,FEP の制御はしなくていいからね」と
囁きかけて &g() を騙してやるということなんですね。


 次回(何)は FEP の恣意的制御である &j() と,内部ワークの mg.-9 に格納
される値との関係を説明します。

[2182] カードブート環境

長太郎 2007/08/04(Sat) 10:23
[2173]へのコメント
あきろさん

>  カードブートしているモバギの config.sys と autoexec.bat の記述

以下、拙い設定ファイルとなりますが、ご参考までそのまま掲載いたし
ます。

なお、カードブート自体は太一郎さんのcarbを利用し、下記設定で、for
DoCoMo版で、EMSを180ページとって運用しています。
当初、鈴木さんのDOS/C環境で使っていたのですが、突然のリセット等、
環境が安定しなかったため、現在はmgdisp2環境で安定運用させています。

複数種類試してみましたが、カードブート可能なのはやはり512MBが上限
で、また同じ容量であってもメーカによってブート出来るものと出来ない
ものがあるようです。

-----------autoexec.bat--------------
@ECHO OFF
SET PATH=d:\;J:\;J:\DOS;J:\TOOLS;I:\AP;J:\AP;J:\RAMINIT
LH /L:1=d:\DBLPATCH.COM
LH /L:2=J:\DOS\KEYB.COM JP,932,J:\DOS\KEYBOARD.SYS
LH /L:2=J:\DOS\UNSTICK.COM
LH /L:2=J:\DOS\SETPOW.COM
LH /L:2=J:\DOS\DKICK.COM
LH /L:2=I:\AP\CMFCTRL.COM
SET UNI_PATH=J:\AP
SET ROMBASE=2
SET HCTRL=1
SET MTYPE=1
SET UNI_CMFEXE=1
rem I:
rem UNISHELL
a:
cd \
a:\tools\mode con rate=32 delay=1
call dos.bat
-----------------------------------


-------config.sys-------------
DEVICE=J:\DOS\HIMEM.SYS /TESTMEM:OFF /MACHINE:2

;EMS_MAX
DEVICE=J:\DOS\EMM386.EXE 3072 MIN=3072 P0=C000 P1=C400 P2=C800 P3=CC00 X=A000-AFFF X=D000-D3FF X=DD00-DFFF RAM=D400-DCFF RAM=E000-EFFF

;DEVICE=J:\DOS\RAMDRIVE.SYS 2230 512 /E
;DEVICE=J:\DOS\EMM386.EXE 1024 MIN=1024 P0=C000 P1=C400 P2=C800 P3=CC00 X=A000-AFFF X=D000-D3FF X=DD00-DFFF RAM=D400-DCFF RAM=E000-EFFF

;DEVICE=J:\DOS\RAMDRIVE.SYS 832 512 /E
;DEVICE=J:\DOS\EMM386.EXE 2048 MIN=2048 P0=C000 P1=C400 P2=C800 P3=CC00 X=A000-AFFF X=D000-D3FF X=DD00-DFFF RAM=D400-DCFF RAM=E000-EFFF

;DEVICE=XRDISK.EXE

DEVICEHIGH /L:2=d:\APMEXDRV.SYS /K
DEVICEHIGH /L:2=J:\DOS\SOUNDDRV.SYS
DEVICEHIGH /L:2=d:\SSRICOH.EXE
DEVICEHIGH /L:1=d:\CARDLITE.EXE
DEVICE=J:\DOS\UNFONT.SYS /S=0154 /P=D:
DEVICEHIGH /L:1=d:\SRAMATA.SYS /U /M
DEVICE=J:\DOS\CHGDRV.SYS /M
DEVICEHIGH /L:2=J:\DOS\DBLSPACE.SYS /MOVE
DEVICEHIGH /L:1=J:\DOS\POWER.EXE
DEVICEHIGH /L:1=J:\DOS\KKCFUNC.SYS
BUFFERS=10
FILES=30
FCBS=4,0
SWITCHES=/F /N
DOS=HIGH,UMB
LASTDRIVE=J
SHELL=d:\COMMAND.COM /E:1024 /P
set COMSPEC=D:\COMMAND.COM
---------------------------------


--------dos.bat------------
@echo off
SET PATH=a:\;a:\tools;a:\vz;a:\bin;a:\dic;d:\;J:\;J:\DOS;J:\TOOLS;I:\AP;J:\AP;J:\RAMINIT

rem MobileGear for Docom
j:\dos\power off > nul
rem MC-K1
rem d:\dos\power off > nul

a:
cd \TOOLS
rem adddrv dos.dev > nul
adddev dos.dev > nul

rem MobileGear for Docomo
mgs /h- /c /f /y /x0 /M5 /s0 /t5 /w40 /i128 /j512 > nul
rem MC-K1
rem mgs /h- /c /f /y /x0 /M4 /s0 /t5 /w40 /i128 /j512 > nul

stickey > nul
moreenv /E:1024 > nul
cd \bin
call menu.bat
---------------------------


------dos.dev-------
DEVICE=A:\font\fontman.exe -b12 -fA:\font\fontman.ini
DEVICE=A:\TOOLS\MGDISP2.SYS /V1
DEVICE=A:\TOOLS\ANSI.SYS
DEVICE=A:\WX3\WXK.SYS /A1
DEVICE=A:\WX3\WX3.SYS /INI=A:\WX3\WX3SYS.INI /EZ /A1
----------------------

[2187] Re: カードブート環境

あきろ 2007/08/05(Sun) 15:21
[2182]へのコメント
 長太郎さん、こんにちは。

> DoCoMo版で、EMSを180ページとって運用しています。

 EMS を 180 ページとはすごいのではないでしょうか? 私のモバギは、Vz
  常駐直後の EMS は、23 ページしかありません。

 ちょうど2ヶ月くらい前に、モバギのカードブートに成功はしたのですが、
  config.sys 等を少しいじると立ち上がらなくなり、断念したのです。その時
  は、CFでカードブートに成功したのだったと思いますが、現在は、SDカ
  ードを利用しています。

> で、また同じ容量であってもメーカによってブート出来るものと出来ない
> ものがあるようです。

 現在使用しているSDカードでカードブートできればよいのですが・・。と
  いうことで、近々、長太郎さんの config.sys 等を参考にし試してみます。
  貴重な情報を載せていただき、ありがとうございます。

 長太郎さんのモバギとは、mgdisp2 環境であるとか、Emmett さんマクロを重
  用しているとか、共通項が多いようですね。

[2191] Re^2: カードブート環境

長太郎 2007/08/05(Sun) 22:10
[2187]へのコメント
>  EMS を 180 ページとはすごいのではないでしょうか?

カードブートは、やはり用途にあった環境を構築できるのが魅力です。

当初はXRDISKを利用して、RAMDISK上にFEPの辞書やフォントを置いて
いたのですが、あまり体感上の違いが感じられなかったため、現在は
EMSを最大限とっています(といっても、config.sysのEMM386の設定を
試行錯誤でいじっただけで、もしかしたらもっとEMS確保できるのかも
しれませんが...ちなみに、vmapで確認すると正確にはEMS192ペー
ジとなっております)。


>  現在使用しているSDカードでカードブートできればよいのですが・・。

ちなみに、私が試した限りですと以下の実績です。

◆カードブート可
CF:HPC-CF512V(ハギワラシスコム)
SD:SDSDB-512(サンディスク)+BN-SDAGP3(松下)
◆カードブート不可
CF:HPC-CF1GV(ハギワラシスコム)、型番不明(A-Data 80倍速512MB)

mgdisp2環境下で、ここ3〜4年使用していますが、特に不安定になること
なく快適に活用していますので、必要に応じ、ぜひカードブートにトライ
してみて下さい。


長太郎

[2197] Re^3: カードブート環境

あきろ 2007/08/07(Tue) 21:57
[2191]へのコメント
 長太郎さん、こんばんは。

> ◆カードブート可
> SD:SDSDB-512(サンディスク)+BN-SDAGP3(松下)

 私のSDカードも SanDisk です。デジカメを購入したときに一緒に購入した
もので、型番はちょっと分かりません。BN-SDAGP3(松下)は同じです。

 なんだか期待大ですね。カードブートのチャレンジは、結構時間がかかりそ
うなので、気力と体力の充実しているときに行いたいと思います。

[2204] Re^3: カードブート成功

あきろ 2007/08/11(Sat) 16:40
[2191]へのコメント
 長太郎さん、こんにちは。

 SDカードのカードブートに成功しました。
 SanDisk 512MB + BN-SDAGP3(松下)です。

 カードブートする前は、モバギの起動時(Vz立ち上がった後)のEMSは
  23 ページ、カードブート後は 160 ページです。(RAMディスクを 256kb
  作っています。RAMディスクなしだとEMSは 177 ページほど取れてい
  ました。)

 「CardBoot モバギでEMSたっぷり! 楽々Vz環境の構築」ということで、
  長くなりますが、以下に、まとめておきます。

 めざらさん、「楽々Vz環境構築」ということで、モバギの話題での長文と
  なりますが、お許しください。<(_ _)>


  ┌────────────────────────────────┐
  │  お約束ですが、もしも、以下を参考に、カードブートにチャレンジ  │
  │  しようなどという方がおられましたら、自己責任でお願いいたしま  │
  │  す。不具合が起きても、いっさい責任をとれません。             │
  └────────────────────────────────┘


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 非カードブートできちんと起動さえしていれば、万が一、カードブート環境
  設定中に起動しなくなっても、以下の方法で脱出できる。

 (1)カードを抜いた状態でリセットかリブートをし、UNISHELL に一度降りる
  → (2)ふた閉じ、カードを挿して認識させ → (3)UNIEXITSHELL でDOSプ
  ロンプトへ → (4)非カードブート環境で起ちあげる。
                          ★★↓重要↓★★
 このためには、カードブート環境構築時に、非カードブート環境の bat ファ
  イルや環境設定のファイル等を、いじってはいけない。autoexec.bat より呼
  び出される bat ファイルや環境設定の cfg ファイル等は、新たに作成しな
  ければならないということである。

 私の場合、非カードブート環境では、set.bat / mgconfig.sys / wx3sys.ini
  / fontman.ini というファイルがそれらにあたるが、それらをカードブート
  環境用に、setv.bat / mgconf_v.sys / wx3sys_v.ini / fontma_v.ini とい
  うファイル名にし、新規に作成し直した。

 ・・・非カードブート環境の bat ファイルや環境設定ファイルを書き換える
  と、当然、非カードブート環境では起動しなくなるので、要注意・・・

                      ----------------------------

 dblspace.ini を一部書き換え、カードのルートにコピーしておかないと、I
  ドライブとJドライブが読み込めない。dblspase で圧縮された2つのファイ
  ルは、起動時に最初に読み込まれ、Iドライブ、Jドライブとなる。
 (config.sys を読み込む前に読み込まれる。)

                      ----------------------------

 ということで、私のやった手順を書きます。

 すでにお分かりの通り、SDカードでは、非カードブート環境にてVzを利
  用してました。また、SDカードとは別に、非カードブート環境で利用して
  いたCFカードもあり、今回は、それを利用しました。
 ただし、MSDOS6.2/V の format.com をお持ちの方は、CFはなくても行けそ
  うです。
 念のために書いておきますが、128cf.com などのツールを使わないと、モバ
  ギで認識することの出来ない一部のCFでは、当然ながら、カードブートは
  できないはずです。

                      ----------------------------

 まず、SDカードの中身をノートPCにコピーし、バックアップを取る。そ
  こに、setv.bat、mgconf_v.sys、wx3sys_v.ini、fontma_v.ini と carb.exe
  をコピーする。また、書き換えた dblspace.ini SDカードのをルートにあ
  たる箇所にコピーする。config.sys autoexec.bat もSDカードのルート
 に当たる箇所にコピーする。

 SDカードを UNISHELL でフォーマットする。モバギのふたを閉じ(サスペ
  ンドし)、カードをCFに入れ替え、CFにて非カードブート環境で起動す
  る。SYS.COM をDドライブ(ramdisk)にコピーする。モバギのふたを閉じ、
  CFをSDに入れ替える。UNISHELL で初期化したときに、勝手に作成され
  ていた、「登録 ソフト」などのディレクトリを削除する。(常駐Vzのフ
  ァイラーが使えるはず。) カレントディレクトリをD:に移動し、
  SYS C: A: でシステムを転送する。
                            ↑↑↑↑↑↑
  ※※ ここの箇所をSDカードのみで行うときは、次の手順で行うと良さ
        そうである。
       SDカードに MSDOS6.2/V の format.com をコピーしておく。非カー
        ドブート環境で起動し、 format.com をDドライブ(ramdisk)にコピ
        ーする。カレントディレクトリをD:に移動し、format A: /S を実行
        する。
       こちらのほうが、すっきりしている。 ← ただし、机上の理論で、ま
        だ、実際には実行してはいない。

 さて、システムを転送したSDカードをノートPCに挿し、バックアップし
  てあったファイル群をSDカードにコピーする。SDカードをモバギに戻し、
  非カードブート環境で起ち上げる。

 carb on を実行し、リブートすると、カードブート環境で起ち上がる(はず
  である)。

                      ----------------------------

---
---
---
----- config.sys --------------------------------------------------------
DEVICE=j:\dos\HIMEM.SYS /TESTMEM:OFF /MACHINE:2
DEVICE=j:\dos\EMM386.EXE P0=C000 P1=C400 P2=C800 P3=CC00 X=A000-AFFF X=D000-D3FF X=DD00-DFFF RAM=D400-DCFF RAM=E000-EFFF
DEVICEHIGH /L:1=c:\tool\XRDISK.EXE -D:e -X:256
DEVICEHIGH /L:2=d:\APMEXDRV.SYS /K
DEVICEHIGH /L:2=j:\dos\SOUNDDRV.SYS
DEVICEHIGH /L:2=d:\SSRICOH.EXE
DEVICEHIGH /L:1=d:\CARDLITE.EXE
DEVICE=j:\dos\UNFONT.SYS /S=0154 /P=D:
DEVICEHIGH /L:1=d:\SRAMATA.SYS /U /M
DEVICE=j:\dos\CHGDRV.SYS /M
DEVICEHIGH /L:2=j:\dos\DBLSPACE.SYS /MOVE
DEVICEHIGH /L:1=j:\dos\POWER.EXE
DEVICEHIGH /L:1=j:\dos\KKCFUNC.SYS
BUFFERS=10
FILES=30
FCBS=4,0
SWITCHES=/F /N
DOS=HIGH,UMB
LASTDRIVE=J
rem SHELL=C:\COMMAND.COM c:\ /E:2048 /P
SHELL=D:\COMMAND.COM D:\ /E:1024 /P
-------------------------------------------------------- config.sys -----
※ ↑↑ XRDISK.EXE を、RAMDRIVE.SYS の代わりに使用した。 ※
※	当初、RAMDRIVE.SYS をうまく組み込めなかったので、※
※	XRDISK.EXE を使用してみた。RAMDRIVE.SYS が本当に ※
※	うまく組み込めないのかどうかは、再チャレンジして ※
※	いないので不明。				 ※
※	XRDISK.EXE は google で検索するとすぐに見つかり  ※
※	ます。Vectorにあります。			 ※
---
---
---
----- autoexec.bat ------------------------------------------------------
@ECHO OFF
SET PATH=d:\;J:\DOS;J:\TOOLS;a:\font;a:\;A:\mg;A:\vz;a:\tool;A:\CGA;a:\123;a:\cddic;I:\AP;J:\AP;J:\RAMINIT
LH /L:2=j:\dos\KEYB.COM JP,932,j:\dos\KEYBOARD.SYS
LH /L:2=d:\DBLPATCH.COM
LH /L:2=j:\dos\UNSTICK.COM
LH /L:2=j:\dos\SETPOW.COM
LH /L:2=j:\dos\DKICK.COM
rem LH /L:2=I:\AP\CMFCTRL.COM
rem SET UNI_PATH=J:\AP
rem SET ROMBASE=2
rem SET HCTRL=1
rem SET MTYPE=1
rem SET UNI_CMFEXE=1
rem I:
rem UNISHELL
a:
cd \
call setv.bat
------------------------------------------------------ autoexec.bat -----
※ ↑↑ j:\dos\KEYB.COMは、autoexec.batで組み込むデバイ  ※
※	スの中で、一番最初に組み込まないと、きちんと組み ※
※	込まれない場合がある。そういう時は、USキーボード ※
※	として、読み込まれているようだ。一番最初に組み込 ※
※	むようにしてからは、今のところ問題はない。	 ※
---
---
---
----- setv.bat-----------------------------------------------------------
@echo off
a:\vz\vwx -z2 -x1 -v1
a:\vz\fuzzy -z2
lh A:\mg\SNIPULL.COM
a:\dos\mode con rate=32 delay=1
copy A:\WX3_DOS\WX3U.DIC e:\ >nul
set TMP=A:\temp\
set TEMP=%TMP%
set VZSYM=s16 MG
set vzdef=A:\VZ\DEF\
set dietopt=-G
set dietoff=command.com;zcopy.com;lha.exe
lh a:\tool\keyc4_cr.com
a:\tool\diet -z2 -P -M -Ta:\
j:\dos\power off >nul
a:\mg\mgs /f
j:\dos\adddrv a:\mg\mgconf_v.sys
a:
call a:\mg\vz_kidoh.bat
------------------------------------------------------ setv.bat ---------
---
---
---
----- dblspace.ini ------------------------------------------------------
MaxRemovableDrives=1
LastDrive=J
MaxFileFragments=120
DoubleGuard=0
AutoMount=0
ActivateDrive=I,D1
ActivateDrive=J,D2
rem ActivateDrive=I,C1
rem ActivateDrive=J,C2
------------------------------------------------------ dblspace.ini -----
※ ↑↑ dblspace.ini は、	※
※	Aドライブの root に	※
※	置かなくてはならない。	※
---
---
---
----- mgconf_v.sys-------------------------------------------------------
device=a:\font\fontman.exe -b15 -fa:\FONT\FONTMA_V.INI
device=a:\mg\mgdisp2.sys /V2
device=a:\dos\ansi.sys
DEVICE=A:\WX3_DOS\WXK.SYS /A3 /SB16
DEVICE=A:\WX3_DOS\WX3.SYS /INI=A:\WX3_DOS\WX3SYS_V.INI /A3
DEVICE=A:\WX3_DOS\WX3TM.SYS /DA:\WX3_DOS\WX3TM.DIC /O1 /A1
------------------------------------------------------ mgconf_v.sys -----
---
---
---

 −−− 最後に −−−
 上記の autoexec.bat や config.sys ファイルは、DEVICEHIGH の/L オプシ
  ョンを、オリジナルのものから一部書き換えてある。
 例えば、autoexec.bat の LH /L:2=d:\DBLPATCH.COM は、LH の/L オプショ
  ンを L:1 から L:2 に変更してある。
 先ずは、/L オプションをすべてオリジナルのまま実行し(XRDISK.EXE は
  DEVICEHIGH ではなく DEVICE で組み込み)、カードブートに成功してから、
  vmap などを見て、アッパーメモリにあげることのできそうなデバイスを上げ
  るように調整していくと良い。
 −−−−−−−−−−

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[2206] Re^4: カードブート成功

めざら 2007/08/14(Tue) 20:58
[2204]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
>  「CardBoot モバギでEMSたっぷり! 楽々Vz環境の構築」ということで、

 あきろさん,詳細なまとめをありがとうございます。

 このスレッドの内容を, VZ Resources の「極楽 VZ 環境」に掲載させてい
ただこうと思うのですが,よろしいでしょうか。> あきろさん,長太郎さん

 わたしも DOS モバを持っていながら,LX の予備機まで確保しているため,
なかなかモバギの本格的な運用の環境設定には至らなかったのですが, LX が
オークションでも安定的高値になってしまっているため,安価で速いモバギが
注目されていくのではないかと思っています。

[2209] Re^5: カードブート成功

長太郎 2007/08/15(Wed) 00:09
[2206]へのコメント
あきろさん、めざらさん、こんばんは。

あきろさんがカードブートに成功されてなによりです。
アップいただいた情報は私自身も参考になりました。
「極楽 VZ 環境」への掲載は、私に関しては全く問題ありません。

実は私も200LXは所持しており両刀使いなのですが、電源に困らない、
DOSでサクサク動作するという点で、両者は用途こそ違え、現在でも
最強の道具だと思っています。
その意味で、「めざら資源」を中心にVZも含めたDOS環境の情報交換
が末永く続くことを期待しています。

カードブートに関して運用上のtipsを追記いたします。
以前にも記載の通り、mgdisp2環境で安定運用していますが、ごくま
れにリセット後カードブートしない場合があります(主としてWinで
カード利用した場合)。
その場合、一から環境を再構築するのは、結構面倒だったりしますが、
以下のツールで最小限度の起動システムごとバックアップしておくと
楽チン復帰が可能となります。

D2F
http://www.vector.co.jp/soft/dos/util/se060694.html

p.s.先週は全く身動きが取れず、お盆も帰省していたため「Dicmgの
検索マクロ」に関してレスが出来ず、コメントいただいたあきろさん
には申し訳なく思っています。マイペースでのレスとなってしまいま
すが、後日検証させていただきます。

[2213] Re^6: カードブート成功

あきろ 2007/08/15(Wed) 22:53
[2209]へのコメント
 めざらさん、長太郎さん、こんばんは。

 めざらさん、

>  このスレッドの内容を, VZ Resources の「極楽 VZ 環境」に掲載させてい
> ただこうと思うのですが,よろしいでしょうか。> あきろさん,長太郎さん

 なんだか不備な点がたくさんあると思うので、少々不安が伴います。とはい
  え、これからカードブートにチャレンジしようという方の少しでも参考にな
  るなら、構いませんよ。(って、はたしてそんな人がいるのかなあ?)

 あー、LX にあこがれはあるのですが、ほんと、オークションで高値ですねぇ。

 長太郎さん、

> 以前にも記載の通り、mgdisp2環境で安定運用していますが、ごくま
> れにリセット後カードブートしない場合があります(主としてWinで
> カード利用した場合)。

 うむむ。原因はなんなのでしょうかねぇ。カードの管理領域とやらが、Win
  から書き換えられてしまうのでしょうか?

 Win でカード利用ということは、pana の BN-SDAGP3 ごとノートPCのカー
  ドスロットに挿した場合でしょうか?

 私は、BN-SDAGP3 を抜き挿しするのが面倒なので、SD だけを push して取り
  出し、カードリーダーに挿してしまいます。今のところ、まだ、カードブー
  トしなくなったことはないんですが・・。

 Dicmg のほうは、気になさらずに、ご自分のペースでごゆっくりどうぞ。
 (^^)

[2215] Re^7: カードブート成功

としき 2007/08/16(Thu) 23:29
[2213]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  うむむ。原因はなんなのでしょうかねぇ。カードの管理領域とやらが、Win
>   から書き換えられてしまうのでしょうか?

これはありうるかもしれません。
ATA系ではなくオアシスポケット3で使うSRAMカードなんですけど、
Win95/98/Meでは、Windowsの動いているマシンに挿しただけで、明示的には
全く読み書きしていないにもかかわらず、BPB領域が書き換えられてしま
います。確か、BPB先頭だったかな、ID情報が書き込まれている部分が
やられてしまうのです。
この領域が書き換えられても、通常のデータのやり取りには全く支障はあり
ません。ところが、システムを起動しようとすると問題が顕在化します。
ポケ3の場合、このID情報の部分をハードウェア(BIOS?)がチェッ
クしており、特定の情報の場合のみ、カードからのシステム起動を許可する、
というシーケンスになっています。なので、誤ってWindowsにデータを書き換
えられてしまったカードでは、システムを起動できなくなってしまうのです。
なお、Win2K/XPでは、このBPB書き換えは起こらないようです。

ということで、Win9xに挿したらカードブートできなくなった、ということで
あれば、Windowsが悪いと言えるでしょう。
なお、Windowsが書き換えるのはカード先頭のほんの数バイトだけですから、
この部分をバイナリエディタで書き換えてやれば、再びカードブートできる
ようになるはずです。あるいは、カードの先頭512バイト位をバックアッ
プしておき、カードブートできなくなったら書き戻す、なんて方法でもよい
かもしれません。



ところで、なんかツリーが分断されてしまっているような感じですね。
メンテしていただけますか?>めざらさん
 

[2216] ツリー分断

めざら 2007/08/17(Fri) 09:08
[2215]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
> ところで、なんかツリーが分断されてしまっているような感じですね。
> メンテしていただけますか?>めざらさん

 原因は不明ですが、別のツリーの位置に飛ばされていたアーティクルは、IPアドレスの項目の途中で改行されていた…と言うか、ピリオドがひとつ改行にすりかわっていました。もしかするとどこかに正規表現置換のバグを入れてしまっているのかもしれません。

[2219] Re^7: カードブート成功

めざら 2007/08/17(Fri) 12:15
[2213]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
>  うむむ。原因はなんなのでしょうかねぇ。カードの管理領域とやらが、Win
> から書き換えられてしまうのでしょうか?

 わたしの場合,パナソニックのアダプタ BN-SDAGP3 を必要とした理由のひとつに,「USB マスストレージ規格」に対応していないために一般のカードリーダ・ライタが繋げられない Win 98se で SD/miniSD を読みたかったというのがあるので,としきさんのおっしゃっているブート領域書換事例はなかなか恐ろしいですね。

 今のところ LX でのカードブートに支障はないようですが,気を付けよう。(^^;

[2220] Re^7: カードブート成功

長太郎 2007/08/18(Sat) 01:17
[2213]へのコメント
あきろさん

>  Win でカード利用ということは、pana の BN-SDAGP3 ごとノートPCのカー
> ドスロットに挿した場合でしょうか?

あっ、カードブートしなくなる場合があったのは、以前ご報告したハギワラCF
の方です。長くCFで運用していたのですが、たまたま、BN-SDAGP3を所有して
いたこと、アマゾンでSundiskの512mSDが1000円強だったこともあり、本掲示
板の動作報告を見てSD運用を開始した次第です。

SD運用から間もないため、カードブート不可になるかはこれからのお楽しみ!?
ですが、上記CFについては、XPのカードスロットで抜き差しをしていて症状
が発生しました。
ただ、発生頻度は2〜3回/年程度ですし、カード自体のアクセスには何ら問
題はないため、別途DOS母艦でテキストファイルだけバックアップ→D2Fでシ
ステム復旧という形をとっていました(さらに言うと、DOS版ノートンユー
ティリティ8.0でDiskDoctor,SpeedDiskをかけると、なぜかカードブート不可
だったものが可になる場合あり。ただし、復旧確率は50%)

としきさんの指摘が原因かと思われますが、私の環境では、明確な再現性が
ないというのが実情です。

長太郎

[2218] Re^6: カードブート成功

めざら 2007/08/17(Fri) 12:02
[2209]へのコメント <mezala@nifty.com> http://homepage3.nifty.com/mezala/
> 「極楽 VZ 環境」への掲載は、私に関しては全く問題ありません。

 ありがとうございます。>長太郎さん,あきろさん

 自分でモバギのカードブートを実際に設定してみて,原稿を作っていきたいと思いますので,すぐというわけにはいきませんが,お二方の発言を大いに参考にさせていただきます。


> その意味で、「めざら資源」を中心にVZも含めたDOS環境の情報交換
> が末永く続くことを期待しています。

 ありがとうございます。嬉しくて涙がちょちょぎれます。(古いぞ)
 自分が使わなくなってもコンテンツや場を残すくらいのつもりでいますので,どうぞマイペースで使ってやってくださいまし。(^o^)

[2212] Re^4: カードブート成功

あきろ 2007/08/15(Wed) 22:01
[2204]へのコメント
 ちょっとだけ補足です。

【その1】
 カードブートすると、mgcga によるCGA環境は構築できません。mgcga の
  ドキュメントに、「カードからブートした場合は実行できません」という記
  述があります。CGA環境でしか動作しないDOSプログラムを動かしてい
  る方は、ご注意を。

 私は、非カードブート環境のVzでは、バッチにより、CGA環境へ移行し、
  123 を実行できるようにしていたのですが、カードブートしてからはCGA
  環境に移行できず、不思議に思っていました。

 とはいえ、私のモバギは、いつの頃からか123(Dos/V 版)を起動したこ
  とはなく、「モバギ=Vz専用のPC」となっていたので、まあ、良しとし
  ます。

【その2】
 MGNONO( ←「ののぐらむ」をモバギで行えるツール)は、カードブートした
  ときに、注意が必要です。 以下のような注意書きがありました。

-------------------------------------------------------------------
     また、モバイルギア以外の機種で動かすとどうなるかわからないので、
      簡単な機種チェックを行っています。C ドライブのルートか SYSTEM デ
      ィレクトリに UNIKBROM.REV ファイルがあるかどうかで DOS 版モバイル
      ギアかどうか判別しています。
-------------------------------------------------------------------

 カードブートした当初は、MGNONO が、なぜ起動しなくなったのか? と首を
  傾げていました。

【その3】
 私の autoexec.bat では、

rem LH /L:2=I:\AP\CMFCTRL.COM

 と、「CMFCTRL.COM」を組み込んでいません。その後、google などでモバギ
  のカードブートを調べてみて、唯一見つけた autoexec.bat でも長太郎さん
  の autoexec.bat でも、このデバイスは組み込んであります。

 I:\AP\ に入っているツールを見ると、どうも UNISHELL で使いそうなものば
  かりなので、きっと組み込まなくても大丈夫だろうと推測し、外しました。
  (今後に問題が生じるかもしれませんが)今のところ、問題は起きていませ
  ん。・・大丈夫そうな気はするんですがねぇ。

 以上です。

[2155] H岡さんのマクロとかあきろさんのマクロかな?

でがらし 2007/07/29(Sun) 21:55
[2153]へのコメント
 私は複数辞書を使ったことがないので、よくわからない
んですが、H岡さんのdicmg.defというマクロがあります。
その後、あきろさんの同じような辞書マクロがあったので
ないでしょうか? それがmgdicmg.defかな? この辺、
文脈がよくわかっていませんが、ひょっとすると関連する
情報かもということで。

 あきろさんにお出まし願うのが良さそうですが。

[2156] dicmg.defを検索すると

でがらし 2007/07/29(Sun) 22:25
[2155]へのコメント
 dicmg.defを検索すると、下記のページに来ました。

http://homepage3.nifty.com/mezala/vz/history/sm2000.html

 10番目くらいから、あきろさんとYAMAさんの関連する
マクロが載っています(全部で7つ)。H岡さんが最初の頃、
マクロをおつくりだと思ったんですが、この前に何かやりとり
があるのかもしれません。

 私の手元にいくつかマクロがありましたが、出所不明です。
あきろさんとYAMAさん、ほーいほい。

↑ このページの先頭