« 2A3買いました | トップページ | LXの画面キャプチャー »

2008年1月 6日 (日)

200LXに電子辞書

  以前 DOSから電子辞書を利用する方法を書いたが、いちいちコマンドを打つのはしんどいので、VZのマクロからの利用を考えよう....というところで話が止まっていたので、その後をまとめます。 ...って半年放置でした。

私がVzのマクロを作るとまともな物はできないので、mezalaさんに作ってもらいました。 感謝 <(_ _)>

(辞書詳細はこのブログの過去ログ 「2007年5月23日(水) Dosから電子辞書を引くまとめ」 を見てください。)

以下はVZのファイラーで見た辞書とDIC.EXEです。(100Mbyte以上の容量はVzの想定外だったのでしょう。表示がずれています。)
Dic001

母艦の控えをXPのファイラーで見るとよくわかります。
Dic002

で、以下のマクロで辞書引きができるようになりました。
-------------------- Start ---------------------------------
= DicTam.def   v0.21 =
*macro
#if 0
文字ブロックして起動するとブロック範囲を取得して辞書選択後実行
HIKARU3.defと同様に下半分に検索結果を表示してカーソルキーなどの入力待ちモード
入力待ちモードで[ESC]を押すとコンソールを閉じて分割モード復元
#endif
1 ^\ "辞書選択検索"
        ?.
        a=id,                           ;編集ファイルのID
        e=wt,                           ;起動時の画面分割モード

        ;; ---- 文字ブロックしていたら辞書選択に入って実行。
        (mb==2)?{                       ;文字境界ブロックモード
                mp[, ps[=pa,
                #G                      ;ブロックをpaに取得
                ps], mp],
                >m                      ;辞書選択メニュー表示
        }

        ;; ---- ブロック無しなら、文字入力して辞書選択。実行。
        mx[+, pw[=pa,                   ;paに取得
        &g("文字入力",20) &Cr           ;入力を促してpaに取得
        pw], mx],                       ;mxは窓でマクロを実行させない
        (r|1+1)??.                      ;[ESC]/[CR]で終了

        ;; ---- メニューで辞書選択
:m     !01
        (r<0 || r>3)?.                  ;キャンセル操作で終了
        (r)>?{                          ;メニューの戻り値で分岐
                (d"kojien") (d"eiwa") (d"gendai") (d"kanjigen")
        }

        ;; ---- 辞書検索        DIC.EXE -f 辞書名 さがす文字
        ss2,                            ;コマンドラインもサイレント
        &#Y(0)                          ;分割モードをリセット
        #E                              ;コマンドラインへ降りる
        &?("a:\ep\Dic.exe -f a:\ep\%s %s",d,pa)     ;★DIC.EXEと辞書の場所
        #m                              ;実行して
        #[                              ;元のテキストに戻る
        #X                              ;DOS画面参照
        #U #<                           ;直前のカーソル位置に
        we[=80, &#c(2) we],             ;2行ページダウン
        &#Y(2)                          ;上下分割モード
        &#T(-a)                         ;編集ファイルを再配置
        #W                              ;反対側にカーソルを移して
        &#T(0)                          ;コンソールを配置
        ky=mp-, &d                      ;再表示

        ;;コンソールの検索結果参照でキー入力待ち
        ; メッセージ表示中は参照画面をスクロールすることができる
:P      &m(" [ESC]:quit [S]:Stop [↑][↓]:move [→][←]:page 【%s】$"%s$"",d,pa)
        Ep[+, mx[+, &p mx], Ep],        ; キー待ち
        ;&u(r)                      ;大文字へ変換
        c=r,                            ;キー値を保存
        (c==#e||c==#x)?{ &o(c+26) >P }  ;#e/#x → #w/#z 上下スクロール
        (c==#s||c==#r)?{ #r >P }        ;#s/#r → #r 画面単位スクロール
        (c==#d||c==#c)?{ #c >P }        ;#d/#c → #c
        (c&95=='S')?>Q                  ;[S] or [s]キー 2分割で終了
        (c!=#[)? >P                     ; [ESC]で終了

        &s                              ;サイレントにして
        #C                              ; 検索結果クローズ
        &#T(-a)                         ; 画面切替
        &#Y(e)                          ; 初期の画面分割モード
:Q      &m("") &d #] .                  ; 再表示/[S]キーそのまま終了

*popup menu
1 "辞書選択",12,4
        "K 広辞苑"
        "E 英和辞書"
        "G 現代用語"
        "C 漢字源"
*
[Variables]
        a       active(file id)
        e       起動時の画面分割モード
        d       dic(name)
        c       入力待ち時のコマンドキー値
[Buffers]
        pa      as ps/pw
[History]
2007/05/09 0.10 sample
2007/05/16 0.20 K.TAM調整
2007/05/20 0.21 mezala調整
[notes]
再表示後の分割モードや裏テキスト配置に問題が残っているか
入力待ちで有効なキーは他に何が必要か
コンソール参照画面を出して終了する必要はないか

-------------------- End of File -----------------------------

以上です。 まだまだLXとVzは使えます。 Vz&LXファンはお試しあれ。

« 2A3買いました | トップページ | LXの画面キャプチャー »

LX & Vz」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 2A3買いました | トップページ | LXの画面キャプチャー »

フォト
2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

リンク

無料ブログはココログ