2005年05月03日

DDWin in USBメモリ

DDWinな辞書をUSBメモリで持ち歩こうと思ったんですが、DDWinって辞書の場所が絶対パスじゃないとダメらしくて、毎度出先で「DDWIN.GRP」の中身を編集して設定する必要がありました。

でも、出先でちょっと使いたいだけなのにいちいちそんなことやってられなかったので、なんとか自動生成できないかと思って手段を探すことに。

とりあえず、やりたいことは

  • USBメモリが刺さるWindowsなら環境依存しないで実行可能
  • なるべく簡単に作れること
ということ。

とりあえず、環境依存なしと言うことならバッチファイルでやれば良いんですが、今更DOSの世界のお世話になるのはなんか芸がないので却下(ぉ

次にWSH系の利用ですが、こっちはコーディングに慣れてないので時間が掛かるのと、ちょっと面倒なコトさせるとウィルス対策ソフトに止められるおそれがあるので却下。

次にPerlはコーディングは慣れてますが自動実行ファイルが簡単に生成できないので却下

RubyはEXEの生成は楽ですが、コーディングが面倒なので却下。

こうやって考えていて「結局はBATファイルかなぁ」と思い始めていたときにふと思い出したのが「なでしこ」↓

まぁ、物は試しとダウンロード→解凍して使って見たところ

「うわっ、めちゃくちゃ使える・・・」

とりあえず何が使えるって、単体だけで簡単に実行ファイル生成が必要なところ。

スクリプト言語のPerlは他の環境に持って行くとそもそも入ってないことが多いですし、バッチも結局はシステムに組み込まれているコマンド依存するところがあるので、複雑なコトをどの環境でもと言うふうになると面倒なことこの上ありません。

また、WSH系もウィルス対策ソフトに止められたりOS毎に異なる点があったりといまいち確実性に欠けます。

その点、実行ファイルならDLLと一緒に持ち込めば間違いなくどの環境でも動くので妙な心配をしなくてすみます。

また、わずか3MB程度のアーカイブに収まっているとは思えない開発環境の出来のおかげでデバッグなども簡単にできてしまいます。

と、まぁ、一目惚れみたいな感じだったのでとりあえずこれで作ってみることにしまいた。

さすがにこれまでさわったことのない言語だったので多少戸惑いましたが、VBとPerlが書ける人ならすぐに要領が飲み込めるんじゃないかと思います。

で、できたコードが↓

『DDWinを起動中です』と表示。
カレントフォルダは作業フォルダ取得。
元ファイルは「DDWIN.GRP.org」
変換後ファイルは「DDWIN.GRP」
辞書ソフトは「ddwin.exe」
元ファイルを開く。
「DIC_PATH」をカレントフォルダに置換。
変換後ファイルへ保存。
辞書ソフトを起動。
おわり
なかなか、脳みそがとろけそうなコードですが、これでちゃんと動きます(笑)

ちなみに、「DDWIN.GRP.org」には稼働中のDDWINフォルダの中にあるDDWIN.GRPを元に

[辞書セット名]
辞書1,,,DIC_PATH,1,,0000FF,略称1,yes
辞書2,,,DIC_PATH,2,,00FF00,略称2,yes
※DIC_PATHはプログラムで置換する文字列なので、必ずこれにしてください。

と言う内容を記入して、上記のソースを「辞書.exe」コンパイルしたものと、辞書CDの中身をセットでUSBメモリ内のDDWINフォルダに入れておきます。

具体的には下図のような構成になります。
DDwinUSB.gif

で、後は適当なマシンでUSBメモリを刺した後に辞書.exeをダブルクリックすれば、何処でも辞書が参照できるようになります( ̄▽ ̄)ノ

いやいや、これで楽になりました。

Posted by Takuchan at 2005年05月03日 23:51 | トラックバック(0)