ほのぼのとまったりアプリ開発日誌

ほのぼのがまったりとデスクトップアプリを作る開発日誌

hspc v3.3.4 を HSP3プログラミングコンテスト2021 に応募しました。

寒くなっても麦茶を常備しています。最近はハンバーグや餃子が主食になっています。

今年も無事HSPコンテストに応募することができました。hspcのメジャーアップデートになります。変更点がいっぱいです。

hspc v3.3.4

hspc v2との互換性はそのままに、標準出力に手を加えました。

コンソールのコードページを取得して、内部のShift_JIS文字列をエンコード、出力します。これで文字化けを解決しました。

逆に、Shift_JISで表現できない文字を渡した場合、文字は?に置き換わります。hspc自身はUnicodeに対応していません。

コマンド機能はモジュール化して、お互いに機能を呼び出せるようにしました。lintコマンドがcompileコマンドを使用することで、スムーズな機能連携を行えるようになりました。

新機能のすべてはコンソールから利用可能です。

compile コマンド

HSP3.6対応化と同時に新機能を追加しました。オプションから使用できます。

オプション文字 概要
--wait -rで実行する子プロセスが終了するまでhspcを待機させます。
--iconins iconinsツールを自動実行ファイル作成時に使用します。
iconinsを使用するには、HSP3.5以上の環境へインストールしてください。
--strmap strmapファイルを作成します。
hspc --strmap "out/app.strmap" app.hsp
同梱した環境もしくは、HSP3.6以上の環境へインストールしてください。
-R -r --waitエイリアスになる一文字オプション。
-M iconinsツールを使用せずに自動実行ファイル作成を行う一文字オプション。
従来の-mオプションは、--iconinsオプションが有効になります。(-M --iconinsエイリアス
-S --strmapオプションの一文字オプション版です。-oオプションと同じ方法で名前を指定できます。
-D 中間ファイルを削除します。-rオプションを併用している場合、--waitオプションも併用することが必須になるよう仕様変更されました。

そのほかは、v2で相対パス絶対パスへ変換していた工程をv3から省略しています。

lint コマンド

Atomのlinter-hsp3パッケージをhspcに移植しました。これでコンソールから構文エラーを見つけることができるようになりました。

データ管理にSQLeleを使用していますので、このコマンドを使用するには、hspc.exeと同じディレクトリ上にSQLite3.dllが必要です。

オプション文字 概要
--watch 指定したディレクトリを監視します。変更があれば診断結果を随時更新します。
--allow MS-DOSワイルドカードで監視対象に含めるファイルパス
既定値として、*.hsp*.asが登録されます。
--ignore MS-DOSワイルドカードで無視対象に含めるファイルパス
既定値として、*\.git\*が登録されています。
--ignorednoninitvar 結果から未初期化変数を非表示にします。
--iniv --ignorednoninitvarオプションのエイリアスです。
--onelineprint 診断結果を一行で表示します。
--relativepath ファイルパスを相対パスで表示します。

lintコマンドには、複数のオプションとファイルパスを指定することができます。

ファイルパスを指定した場合、最初の一回だけ診断します。

--watchオプションは、指定されたディレクトリ上の変化を監視します。ファイルを直接監視できないので、ファイルを監視したい場合、ファイルを置いているディレクトリを指定してください。一つのファイルを直接監視する機能はありません。

doc コマンド

hspc.exeを置いたhsphelpディレクトリを検索して一致したキーワードのドキュメントを閲覧します。

動作には、HSP3.6のhspcmp.dllが必要です。

完成度に思うところがあるので、テンプレート共々梃入れしたいです。

寒い朝にはニンニクが食べたくなります。角切りにしてバターと溶き卵でスクランブルエッグにするとおいしいです。お好みで塩こしょうもかけちゃいます。

急な温度変化で体調を崩しやすい季節です。風邪を引かないよう、手洗いうがいをしっかりして感染予防します。寒いときは無理せずホッカイロや室内に退避しましょう。