AX

電霊ログ

私のやってるサイト、電子の言霊の活動ログ

カテゴリークラウド

タグリスト

最近のトラックバック

月別アーカイブ(タブ)

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • [HSP超入門] 実行ファイル作成1

今まで私達が作ってきたプログラムはスクリプトエディターからでないと実行させる事が出来ませんでした、でも普段みんなが使っている他のソフト(アプリケーション)はプログラムのアイコンをダブルクリックするだけで実行出来ますね、
これは実行ファイルと言う 拡張子が exe のファイルで、プログラムを実行するのに必要なデータがたくさん詰まっています、なのでそれだけでプログラムを実行する事が出来きます。

もし自分でもこの実行ファイルを作る事が出来たら、ずいぶんと可能性が広がりそうですね。実はHSPでもこの実行ファイルの作成をサポートしていて簡単に作る事が出来ます。(少しなれが必要かもしれませんが)

HSP3での実行ファイル作成には主に、「自動」と「手動」の2通りの方法があるのですが、今回は古くから行われている「手動」での方法を紹介します。

作成までの手順はこんな感じです。
1 スクリプトを書く
2 AX ファイル作成
3 パックファイル編集
4 実行ファイル作成

まず始めに exe ファイルにしたいスクリプトを書きます、そしてそれを自分の分かる場所に hsp ファイルとして保存しておきます(保存しなくても出来ますがカレントディレクトリがややこしくなるのでここでは保存しています)、もちろん今までに作ってたおいたスクリプトを読み込んでもOKです。

----------------カレントディレクトリ----------------
ディレクトリはフォルダの別名で、カレントディレクトリとはプログラムごとに設定された作業フォルダの事です。と言っても訳が分からないと思うのでもう少し噛み砕いて言うと、例えば何かを探している時私たちは今居る場所からそれを探しますね、台所に居れば台所から、茶の間に居れば茶の間から、友達の家に居れば友達の家からそれを探します。プログラムでもディレクトリの現在地と言うのがあって、プログラムはそこを基準にファイルを探したり作成したりします、要するに今居る場所と言うのがカレントディレクトリの考え方です

スクリプトを保存したり読み込んだりすると、そのスクリプトのある場所がカレントディレクトリに設定されます。新規作成の時(保存も読み込みもしない)のカレントディレクトリはスクリプトエディタのオプションで設定されている場所になります。

(ここで言っているカレントディレクトリはスクリプトエディタにとってのカレントディレクトリです。HSPで作成したプログラムにも別々にカレントディレクトリが存在します、ゴッチャにならないように気を付けてください)
----------------------------------------------------

スクリプトエディターにスクリプトを表示したら、エディターのメニューバーから「HSP(P)」→「START.AXファイル作成(S)」をクリックします。すると 「START.AXを作成しました」というメッセージが表示されるのでOKを押します。
これで保存したスクリプトと同じフォルダに start.ax というファイルが作られます。

20070528220814.png

20070528220822.png

これは一体何をしたのかと言うと、スクリプトをHSPが理解しやすい言葉に変換したのです。hsp のスクリプトは人間が見て分かりやすい言葉として書かれた物なのでそのままだと、HSP にとっては無駄も多く効率が悪い物なのです。そのため一度、HSP に扱いやすい言葉で書かれた、オブジェクトファイル(拡張子 AX)に翻訳してから実行ファイルを作るのです。(ax ファイルはその時エディターに表示されている物を元に作られます、保存時の状態ではないので注意)

実はその AX ファイルもHSPが理解できるだけでそのままではコンピューターに理解する事は出来ません、なのでHSPの実行ファイルは更にそこからパソコンに分かる言葉に変換しながら実行します。
(簡単に説明するために、だいぶん私の主観が入ってます)

さて次はパックファイルの編集です。
パックファイルの編集画面を出すには、エディタのメニューバーから「ツール(T)」->「PACKFILE編集(E)...」をクリックします。

20070707043515.png

20070707050740.png

ここでは実行ファイルに埋め込みたいファイルを指定します。
埋め込みたいファイルとは、プログラムの中で使っている画像ファイルなど、そのプログラムを実行するのに必要なファイルです。
(ファイルを外から見られてよければ、無理にパックする必要はありません。)

さっき作っておいた START.AX はプログラムを実行するのに必要なファイルなので、ここで指定しパックファイルに追加します。(ファイル名を start.ax 以外に変えてしまうと実行ファイルが起動しなくなるので変えてはいけません)

ここでいくつか注意があるのですが、パックするファイルの名前は15文字以内の半角文字じゃないといけないという決まりがあるので、日本語を使う事は出来ません(15文字以内と言うのは、ファイル名と拡張子と その間の . も全て含めて15文字です)。また半角スペースを使う事も出来ません。

あと初心者によくある間違がスクリプトファイル(as ファイル、hsp ファイル)を一緒にパックしてしまう事です。AX ファイル自体に翻訳したスクリプトが全て含まれているので、スクリプトファイルは普通パックしません。(検索で調べたら無駄な物をパックするほどパフォーマンスが悪くなるそうです)

それとパックファイルはフォルダの階層に対応していないので、パックするファイルは全てスクリプトと同じフォルダに入れて置かなくてはいけません。

ではパックファイルの画面を見て行きましょう。
画面左側にはカレントディレクトリの内容が表示れ、画面右側にはパックしたファイル一覧が表示されます。

パックファイルに追加するには左側の画面から追加したいファイルを選んでダブルクリックするか中央にある「追加 >>」ボタンを押すだけです。すると追加したファイルが右画面に表示されるようになります。
逆に追加したファイルを解除したい場合は、解除したいファイルを右画面から選んで画面中央の「削除 ->」ボタンを押せばOKです。

「全追加 >>」ボタンは左画面の内容を全てパックファイルに追加する物で、「全削除 ->」ボタンは逆に右画面に追加しているファイルを全てクリアする物です、名前の通りなので使って見れば分かると思います。

「暗号化」チェックは、暗号をかけて埋め込んだファイルを簡単には解読出来なくする物で、チェックした状態で項目を追加するとファイル名の先頭に + マークが付き、そのファイルは実行ファイル作成時に自動的に暗号化さます。

「キャンセル」ボタンはパックファイル編集画面を「開いてからの変更」を取り消します。

今回は start.ax ファイルだけで良いので start.ax を追加して「閉じる」ボタンを押せばパックファイル作成は完了です。

20070529014453.png

20070529014502.png

これでスクリプトのあるフォルダ(カレントディレクトリ)に packfile が作成されます。


それではかんじんの EXEファイルを作成しましょう。
実行ファイルを作成するためのウィンドウを出すには、エディタのメニューバーから「ツール(T)」->「EXEファイル作成(M)...」をクリックします。

20070707074419.png

20070707074425.png


設定画面の一番上の入力ボックスには、作成する実行ファイルの名前を入れます。これは日本語でも構いませんが、文字数は半角で182文字、全角で91文字までです。(182バイト)

「ウィンドウ初期サイズ」はプログラムを起動した時に表示されるウィンドウの大きさです。(これはプログラムから変える事も出来ます)

「特殊な設定」内の「起動時にメインウィンドウを非表示にする」はウィンドウを表示させたくない時にチェックを入れます。(非表示にしてもプログラムから表示する事が出来ます)

「起動時のディレクトリ移動を無効にする」は少し分かり難いですが、HSPはプログラムを実行した時、実行したプログラムのカレントディレクトリを実行ファイルのあるフォルダに設定するのですが、これにチェックが入っているとそれを行いません。
例えばショートカットから起動した時、ショートカットの作業フォルダに指定したパスを、カレントディレクトリにしたい時にチェックを入れます。ショートカットの設定をしないで普通に起動した場合はマイドキュメントがカレントディレクトリになります。(良く分からない人はチェックしないで下さい、不具合の元です)

最後に「OK」ボタンを押せば、この設定と start.ax ファイルと パックファイル の情報を元に exe ファイルが作成されます。カレントディレクトリに実行ファイルが作成されているはずですので正しく作成出来ているかを実行し確認して見ましょう。
関連記事

コメント

コメントの投稿

   管理者にだけ表示を許可する
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。