HSP3プログラミング入門講座
powered by Let's HSP!
お知らせ♪
HSPプログラミングの情報サイト「Let's HSP!」のページも稼動チュウ。 (=^o^=)
¤ http://tech.g1.xrea.com/hsp/
¤ http://lhsp.s206.xrea.com/
HSP とは?
Windows上で動作するゲームやツールを無料で手軽に作成できちゃうソフトの紹介です。HSPはフリーソフトとして
公開されてるプログラミングソフトです。略称のHSPは、「Hot Soup Processor」の頭文字から。作者は、
ONION softwareの”おにたま”さん。公式サイトはHSPTV!になります。Vectorにも専用コーナーあり。
HSPはWindows上で動作するプログラムを作成でき、単体で動くアプリケーションとして出力
可能です。そして、それを自由に配布してかまいません。具体的にはこういうHSPのコードを書いてプログラムを組んでいきます。
現在正式にリリースされてるのはバージョン3.21。2003年から「HSPプログラムコンテスト」が毎年開催されていて、
HSPで作られた数百におよぶ作品が出品されます。プログラミングの経験がない初心者さんにもオススメッ! (^^
HSP命令・関数講座
標準でサポートしてる命令&関数(200個近く)の一部を解説した HSP講座のページです。基本的にツール系プログラムの作成で使うことになるコマンドを解説してます。サンプルソース とともに初心者さん向けのHSP講座となってます。HSPのヘルプでは触れられてない情報もいくつかアリ。
- dialog ... ダイアログボックス、ファイル読み込み・保存ダイアログ、カラー選択ダイアログの表示
- dirinfo ... カレントフォルダ、Windows・システム・ディスクトップフォルダなどのパス取得
- dirlist ... 特定のフォルダやファイル(拡張子)の一覧リストの取得
- exec ... 外部プログラムの起動実行
- exist ... ファイルサイズ、ファイルの存在有無の確認
- getpath ... ファイルパス文字列の分解(拡張子の切り出し)、英文字列の小文字変換
- getstr ... 指定区切りで文字列の切り出し
- gettime ... 現在の年月日・曜日・時間(時/分/秒)の取得
- instr ... 文字列を検索して位置を返す
- mci ... 音楽・動画を扱えるMCIに文字列を送信
- memfile ... メモリストリーム機能
- mouse ... マウスカーソルの移動、カーソルの非表示
- note〜 ... テキストファイルの入出力処理を行うメモリノートパッド機能
- objimage ... [HSP3.2〜] button命令の画像ボタン(イメージボタン)化
- onclick ... マウスクリックの割り込み指定
- onexit ... プログラム終了の割り込み指定 (終了確認ダイアログの表示)
- onkey ... キーボードのキー押しの割り込み指定
- picload ... 画像ファイル(BMP/GIF/JPEG)の読み込みと表示
- screen ... ウィンドウの初期化 (表示サイズ・位置、非表示ウィンドウ)
- split ... [HSP3.2〜] 特定文字を区切りに文字列分解
- strf ... 様々な書式変換 (桁揃え・小数点切捨て・16進数変換)
- strmid ... 指定サイズで文字列の切り出し
- strlen ... 文字列の長さをバイト単位で取得
- strtrim ... [HSP3.2〜] 指定文字を文字列から取り除き
- sysinfo ... Windows OSの種類やメモリの情報の取得
- その他の講座
HSPプログラミングTips
それなりに役立つものから、たいして役立たないものまで、HSPにまつわるトピックスやデータなどのプログラミング のTips集いろいろです。
- 実行ファイルに外部ファイルを埋め込むPACKFILE機能
... パックしてもOK、パックする意味ナシなファイル - 16進数から10進数へ変換
... int関数を利用したテクニック - HSPの移植版たち (Java/Linux...)
... Windows用実行ファイル(EXEファイル)以外の動作環境 - 実行ファイルのアイコン書き換え
... バージョン情報のデータを実行ファイルに埋め込む方法も - スクリプトエディタの設定ダイアログ解説
... HSPスクリプトエディタのメニュー項目別の説明解説 - 画像関連の拡張プラグイン (BMP/GIF/PNG/JPEG)
... 画像ファイルの入出力や標準対応でないPNGファイルの利用法 - 音楽関連の拡張プラグイン (WAVE/MP3/MIDI/OGG)
... HSP標準対応のmm〜命令やmci命令よりも高度なDirectXを利用した音楽再生手段 - 海外ユーザー
... 少ないながらも存在する日本以外のHSP利用ユーザーさんのウェブサイト - 絵文字フォント
... 絵文字の絵柄が表示されるフォント「Webdings」&「Wingdings」 - HSP3向け市販本の紹介
... 手近なサポートツールとして便利なHSP書籍本の簡易レビュー
HSPのサンプルソース
HSP 3.xは、HSP 2.x時代と比べると、より手軽にWin32 APIを呼び出せるようになってます。 これは、Windowsのシステムにあらかじめ用意されてる関数群で、HSPが標準でサポートしてる命令&関数にはない処理をいろいろ と行わせることができます。これをHSPから呼び出す発展的なサンプルコードやモジュールを各分野別にのせてます。
- ウィンドウ ... ウィンドウの最大化・最小化、ウィンドウの無効化、透過ウィンドウ、リージョン処理
- メニュー ... メニューバー、左クリックポップアップメニューの表示
- 文字列 ... 大文字・小文字変換、数値の3桁コンマ区切り
- キーボード ... キーボードのキー操作を行うkeybd_event関数
- マウス ... マウスカーソルの変更、カーソル操作を行うmouse_event関数
- ファイル ... 圧縮ファイル(ZIP・LZH)の解凍、画像のサイズ取得、アイコンイメージの取得
- フォルダ ... フォルダの存在有無の確認、特殊フォルダのパス取得
- システム ... システムサウンド再生、Windowsのバージョン情報、壁紙の変更
オブジェクト関連サンプルソース
HSPがサポートするGUIコントロールの基礎的な解説講座と、発展的なサンプルコードやモジュールをのせてます。 基本の6種以外に、HSPのwinobj命令を駆使して標準には用意されてないオブジェクトの 設置についてもサンプルソースで紹介。
HSP 標準 | HSP 発展 |
プッシュボタン - button | ボタン (ラジオボタン、トグルボタン) |
チェック項目 - chkbox | |
1行分の入力ボックス
- input (パスワードボックス) |
エディトコントロール |
複数行の入力ボックス - mesbox | |
スタティックテキスト - 旧mesbox | スタティックコントロール |
複数リストから選択 - listbox | リストボックス (ドラッグリストボックス) |
複数ドロップダウンリストから選択 - combox | コンボボックス (カラー選択ダイアログ) |
- | ツールチップ、プログレスバー、ステータスバー、 アップダウンコントロール、トラックバー、 カレンダーコントロール |
sendmsg命令
HSP 3.xには、sendmsg命令というものが用意されてます。これはウィンドウや各種GUIオブジェクトに 対して「ウィンドウメッセージ」というのを送信でき、標準では実現できない処理をいくつか行えます。 HSP 2.x時代に存在したobjsend命令に相当し、内部的にはWin32 APIのSendMessage関数を呼び出してます。
- HSPのウィンドウに対するメッセージ
- HSPのボタン・チェックボックスに対するメッセージ
- HSPの入力ボックス・メッセージボックスに対するメッセージ
- HSPのリストボックス・コンボボックスに対するメッセージ
自作ソフト
HSP製実行ファイルのアイコンを変更する専用ツール(Let's HSPIC!)、HSP製実行ファイルに実行ファイル圧縮 ソフトUPXを適用するツール、HSPの開発環境に付属するサンプルスクリプトをチェックできる簡易ビューア 「Sample Viewer for HSP3」など拙作ソフトを公開してます。
その他にも、さまざまな汎用ライブラリを利用するHSP向けサンプルソースコードをいくつか。 音楽プレーヤー「Winamp」向けインプットプラグインラッパー、画像(BMP/GIF/JPEG/PNG)の変換出力など様々な 画像関連処理が用意されているライブラリ「imgctl.dll」、形態素解析システム「茶筌」(ChaSen)、テキスト音声 合成ライブラリ「AquesTalk」、MOD音源再生ライブラリ「BASSMOD」を利用したMODプレーヤー、Susieプラグイン(SPI)を 使ったアニメーションGIFのフレーム分解など・・・。
- にほんブログ村 (トラックバックはご自由に)
キーワード de HSP
- 無料プログラミング
- HSPダウンロード
- 実行ファイル作成
- HSP動作環境
- 演算子
- 文字列操作
- 命令・関数一覧
- アイコン変更
- PACKFILE
- PACKFILE編集
- #packopt
- #deffunc
- HSPエラー
- HSPエラー番号
- HSPエラー7
- HSPエラー12
- HSPエラー13
- HSPエラー33
- HSPエラー38
- HSPエラー41
- ホームページ作成
- バージョン
- フォント
- オブジェクト
- ボタン
- 入力ボックス
- オブジェクト非表示
- Win32 API
- メニュー
- HSPLet
- サウンド再生
- 画像
- PNGファイル
- HSP質問掲示板
- デバッグ
- ドラッグ&ドロップ
- ブラウザ作成
- HSP書籍本