« 入力インターフェイスとしてのカメラ | メイン | 検索の分離 »

2007年03月04日

ツール開発メモ:: 吉里吉里3 Releaser GUI フロントエンド(仮) WSHで

    

最近は、GUIフロントエンドにHTA ( WSH ) を使うことが多い。
コマンドラインのみでもいいけど、引数を忘れてしまって困ることもあるし、他の人に使ってもらう時などGUIフロントエンドがあったほうがいい。
それと、入力を制限することも出来るし、デフォルト値を入れておくことも出来て楽。
でも、そんなに作るものではないので、HTAの基本的な部分を忘れてしまうのが難点。
てことで、サンプルをこの辺に置いとこうかと吉里吉里3 Releaser用のを作った。
当然だけど、これだけでは動かない。
krkrrel.exe と mingwm10.dll と wxbase26ud_gcc_custom.dll がいる模様。
krkrrel.exe をビルドしなおしたらdll類は何とかなるかもしれないけど、リポジトリから取ってきたものを使ったらそうなっていた。
後、細かいテストはしていません。
たぶん、ちゃんと動きます。

このサンプルはアーカイブファイル名の選択が曲者です。
普通のHTMLのinput type=fileでやっているので、存在しないファイルを選択できません。(笑)
ファイルオープンダイアログで右クリックして、新規作成で適当なテキストファイル作って拡張子を.xp4にしてそれを選べば大丈夫。(大丈夫じゃない気がするけど……)
できれば、名前をつけて保存のダイアログを使いたかったけど、うまく行かなかったので諦めた。
他にアーカイブの作成に時間がかかる場合は、応答がなくなります。
この辺りはちょっとどうかと思われます。
作成時は、標準出力をもらうようにしないほうがいいかもしれません。

HTAは、WSHより制限があり少し使い辛いけど、GUIを作るにはHTAでないと辛い。
ウィンドウサイズは変更できるけど、一瞬デフォルトサイズになってから切り替わるので格好悪いため、サイズ指定は使ってない。うまくやる方法があるのかもしれないけど、知らない。
後、VBScriptでは使えるけど、JScriptでは使えないものがある。(ウィキペディアのVBScriptを参考)
混在可能なので、サンプルでは両方のスクリプトが書かれている。
単に片方で書いてうまく行かなくて、もう片方だとうまく行ったからって理由だけど。(VBScriptもJScriptもあんまり詳しくないのでそうなった)

とりあえず、コマンドに引数渡して終わりなので、HTAのGUIフロントエンドはいつもテキトーです。
CSSとかDOMでがんばれば、見栄えのするものが作れる気はするけど。



投稿者 Takenori : 2007年03月04日 18:02




comments powered by Disqus
Total : Today : Yesterday : なかのひと