No. : 601 Sender: Shinra URL : Title : ESEWWW外部ビュアー定義の案 ESEWWW における外部ビュアー定義の記述が、今までの ESEWWW.DEF で記述しづらい 理由は、定義しようとしている内容が構造体の配列で表現されるからです。 記述方法の一例として以下を考えました。 ==================================================== mediatype image/x-mag viewer= { description='MAGDで表示' command='magd -k ' postcommand='magd -@c' } viewer= { description='VMAGLで表示' command='vmagl -v0' } description='マルチペイント MAG' ==================================================== これは比較的わかりやすいですが、文字数が多くてすっきりしません。 上の記述例で postcommand は画像表示終了時(ESEWWWの画面に戻るとき)の実行コマ ンドを定義しています。 さて、これを ESEWWW.DEF の記述方法に押し込むと、以下のようになるでしょう。 ==================================================== 310 'image/x-mag' 311 'MAGDで表示' 312 'magd -k ' 313 'magd -@c' 320 'image/x-mag' 321 'VMAGLで表示' 322 'vmagl -v0' 323 '' 330 'image/jpeg' 331 'JLDで表示' 332 'JLD -F ' 333 '' ==================================================== ESEWWW.DEF は項目番号300番台は「文字列」型の値として処理しています。 そうすると、項目番号に限りがあるため定義できるビュアーの数も限られます。 また、最初の例の description='マルチペイント MAG' に相当する記述を書くとこ ろがなかったりもします。 3つめの方法は、 ==================================================== [mediatype image/x-mag] 311 'MAGDで表示' 312 'magd -k ' 313 'magd -@c' 321 'VMAGLで表示' 322 'vmagl -v0' 323 '' [mediatype image/jpeg] 311 'JLDで表示' 312 'JLD -F ' 313 '' ==================================================== TEEN.DEF のようにセクションごとに独立した項目番号を持つので、ビュアーの数が あまり制限されません。ESEMAIL.DEF でメールサーバを複数記述するのにも応用でき そうです。 ただ、構造体に新しいメンバが追加されたときに対応できるかが心配。その点で一番 柔軟なのは最初の記述方法です。 つまらないところで ひっかかっててすみません。