HSP 本体だけで使用できる基本命令です。
外部DLL呼び出し関数登録
引数の型は無視され、実際の関数の引数が優先されます。
関数と同名のメソッドが呼ばれることになります。
呼び出されるメソッドの引数は
int、double、String、ByteString(Shift_JIS文字列)、Operand(変数)、Context(実行コンテキスト)のいずれかでなければいけません。
Operand を引数にとったときは、必ずその次に int で配列インデックスを受け取らなければいけません。
(配列ではないときは 0 が渡されます。)
Context を引数にとったときは HSPLet によって自動的に現在実行されているコンテキストが渡されます。
メソッドの戻り値は void、int、double、String、ByteString、Operand のいずれかでなければいけません。
呼び出されるメソッドが非 static のときは、クラスはインスタンス化できなければいけません。 public で引数の無いコンストラクタか、Context をひとつだけ受け取るコンストラクタが必要です。
新規関数を登録する
新規命令を登録する
外部DLL呼び出し命令登録
#cfunc と同様です。
外部DLLの指定
指定された DLL と同名のクラスが読み込まれます。 読み込まれるクラス名は、末尾から .dll または .hpi を除いたものになります。 たとえば、winmm.dll を使用すると、 winmm クラスが読み込まれます。
独自の拡張ライブラリクラスを作成したときは、JAR ファイルを lib フォルダの中においてください、 コンパイラが自動的に認識してコンパイル時にチェックがつけられるようになります。
特殊なメモリを変数に割り当てる
stat/refstr のみ使用可能です。 関数の引数には使用できませんので、3.0 形式の受け取り方をしてください。
Windowsのファイルを実行する
HTML ページを表示する目的で使用されます。 第3引数の意味がオリジナルの HSP とは違うため、この命令を直接使用することはお勧めしません。 代わりに letutil.hsp 内に定義されている showPage fileName, target 命令を使用することをお勧めします。
ウィンドウIDを初期化
パレットモードは使用できません。
ウィンドウIDを初期化
パレットモードは使用できません。
フォント設定
アンチエリアス、下線、打ち消し線は mes 命令にのみ使用できます(オブジェクトのフォントには指定できません。)
環境依存を減らすために以下の特殊な定義済みフォント名が使用できます。
しかしこれらのフォントはオリジナル HSP では使用できませんので、直接使用することはお勧めしません。 代わりに letutil.hsp 内に定義されている fontSerif 等の汎用的なフォント名を使用することをお勧めします。
画面コピーモード設定
モード7はサポートしていません。
描画先指定、ウィンドウ最前面、非表示設定
モード2はサポートされていません、またモード1で必ずアクティブになるとは限りません。
画像ファイルをロード
BMP、JPEG、GIF、PNGの読み込みをサポートしています。 ICOの読み込みはサポートしていません。
ウィンドウIDを初期化
パレットモード・ツールウィンドウ・深い淵のあるウィンドウは使用できません。
タイトルバー設定
アプレットの場合はステータスバーのテキストが変化します。
MCIにコマンドを送る
以下の命令のみサポートされています。
WAV/AIFF/AU/MIDI/MP3 をサポートしています。 MP3 の再生には付属の jl1.0.jar が必要です。
サウンドファイル読み込み
WAV/AIFF/AU/MIDI/MP3 をサポートしています。 MP3 の再生には付属の jl1.0.jar が必要です。
ディレクトリ移動
移動先のディレクトリが存在しなくてもエラーになりません。
デバッグメッセージ送信
メッセージは Java コンソールに出力されます。
タイプ 19、画面のカラーモードは常に 0 を返します。
タイプ 24、oncmd の割り込みウィンドウ ID はサポートされていません。
システム情報の取得
CPUコードは文字列で返ります。
物理メモリサイズは Java ランタイムが使用できるメモリ量を返します。 この値は実行中にも変動する可能性があります。
スワップファイルサイズは 0 とします。
hspsock プラグインで使用できる拡張命令です。 hspsockA を実装した後に手を加えて hspsock 互換に修正したので、hspsockA の方が信頼性は高いです。
hspsockA プラグインで使用できる拡張命令です。
DLL 版の hspsockA は PCB さんによって開発されました。
http://www.pcbsoft.net/ より入手可能です。
hspini プラグインで使用できる拡張命令です。
DLL 版の hspini は K-K さんによって開発されました。
http://www.chichibu.ne.jp/~kawahira/ より入手可能です。
使うiniファイルを設定します
設定情報はクッキーに保存されます。 ファイル名・セクション名は、クッキー名の頭にプレフィックスとして挿入することで一意性を実現します。
クッキーが利用できないときは stat に 1 が返ります。
winmm.dll を使用した Windows API です。
ミリ秒単位の時間を取得
HSPLet 起動時からのミリ秒単位の時刻を取得します。
user32.dll を使用した Windows API です。
メニュー項目登録
グレイ表示しない無効項目は作成できません。
オーナードロー・ビットマップは使用できません。
メニューバー再描画
何も行いません。
メニュー削除
現在のバージョンでは対象のメニューだけが削除されます、サブメニューは削除されないので注意してください。