;テキスト表示 type.as screen 0,600,400,1 alloc buf1,32000 ;メモリバッファを確保 str buf1 ;文字変数として定義 alloc dl,3200 dirlist dl,"*.as" ;ファイルリストを作成 a=0:objsize 120,24 combox a,120,dl ;表示ファイルを選択 button "ok!",*start stop *start notesel dl ;ファイルリストを設定 noteget fn,a ;選択したファイル名を得る bload fn,buf1 ;buf1に読む込む mesbox buf1,600,320,0 ;変更不可のオプションで表示 stop |
テキストを加工するユーティリティーを作る時に必要なパーツとして、ファイル選択があります。
ファイル名をいちいち打ち込んでいたのでは、手間もかかるし、ミスも増えるでしょう。
HSPではdirlist命令とnote命令の組み合わせで、大変簡単にファイル選択が出来るようになっています。
ファイルコンバータなどの自動化にも、このテクニックが使えます。
今回のサンプルでは同一ディレクトリにある、拡張子asのファイルを表示するようになっています。
少なくともtype.asがあるでしょう。
1つも.asのファイルがない場合はエラーで止まってしまいます。
では、スクリプトの説明をします。
まず、dirlist命令で変数dlにファイルリストを作成します。
このとき、*や?といったワイルドカード指定が使えます。
つぎに、combox命令でファイルを選択できるようにします。
ボタンを押すと表示部分にいきます。
combox命令で、どのファイルが選択されたかが番号になって、変数aに入っています。
これは、note命令で扱う変数の指定方法と同じなので、2行でファイル名が取り出せます。
notesel命令で、変数を指定して、noteget命令で中身を取り出します。
非常に簡単です。
bload命令で変数buf1に読み込んで、mesbox命令で表示します。
note命令は、最初わかりにくいかも知れませんが、実は非常に簡単で便利な命令たちです。
ツールプログラマは必ずマスターしてください。
また、このままのスクリプトではファイル名が64文字以上の場合、
正常に動かない可能性があります。
心配な場合は修正しましょう。
type.zipをダウンロード。