Last Update : 2007/05/xx
HSPの全般的なプログラミング情報のトピックスをイーロイーロ。(OwO)/
HSP3(HSP 3.x)のスクリプトエディタが表示する若干マイナー(?)なエラー表示をテキトーに拾ってみーる。(「*」は行数)
Windows XP では新たなユーザーインターフェイスとして 「Luna」(ルナ) が採用されています。HSPは3.0から正式にXP環境でのLuna化を実装しており、例えばボタンの外観が従来(クラシック)の無機質な灰色表示から光沢表示になっています。
HSP 2.xではこのLuna化は正式には対応していません。自前で対応したい場合は、「HSP製実行ファイルの XPビジュアルスタイル化」を参照。
話も元に戻し、XP上で以前の環境(Windows 9x、2k) を想定した表示で動作テストを行いたい場合の手段を2つ挙げておきます。
・ Windows の[画面のプロパティ]ダイアログで、[デザイン]タブの[ウィンドウとボタン]から「Windows XP クラシック スタイル」に変更します。これによりWindows全体が従来のクラシックデザインになります。(HSPとは話がずれますが、このLunaはPCのパフォーマンスを低下させる原因の1つになっているので、見た目にこだわらない人は無効にしておくとよろし。
・ Windows全体のLuna化を無効にしたくないならば、特定のファイルだけクラシック表示にすることが可能です。HSP 3.0 の本体に含まれる hsp3.exe ファイル を選択し、右クリックメニューのプロパティダイアログから[互換性]タブの[ディスプレイ表示]→[視覚テーマを無効にする]を有効にします。
で、上の方法は、あくまで自分の環境下における話。実際にHSP 3.0で実行ファイルを生成すると、出力されたファイルには、Lunaで表示するためのデータ(manifestファイル)が含まれています。(ちなみに、今まで公開されていたHSP用アイコン書き換えツールが利用できなくなってしまった原因がこのデータの存在だったりします。
どのような環境下でも従来のクラシックスタイルで表示される実行ファイルを用意したい場合には、このデータを除去しなくてはなりません。海外製ソフトのリソースエディタ 「Resource Hacker」 (リソースハッカー) などを利用します。
HSPでは、先頭に「0x」または「$」(ドルマーク)を付けた数値を16進数とみなします。この16進数文字列を10進数に変換する裏技的?な手法として、「$」を付けてint命令(HSP 2.x)やint関数(HSP 3.x)にほうり投げてやる、というのがあります。
; 16進数文字列 → 10進数数値 (HSP 2.x のコード) binary = "FF" ; 「$FF」や「0xFF」も可 value = "$" + binary int value ; int命令 mes value stop
; 16進数文字列 → 10進数数値 (HSP 3.x のコード) binary = "FF" ; 「$FF」や「0xFF」も可 value = int ("$" + binary) ; int関数 mes value
ちなみに、10進数文字列から16進数に変換するには、str命令(HSP 2.x)やstrf関数(HSP 3.x)を利用しましょう。
; 10進数数値/10進数文字列 → 16進数文字列 (HSP3.xのコード) x = 100 mes strf ("%#x", x) y = "100" mes strf ("%#x", int (y))
<< HSP Tips 8 || HSP Tips 10 >>
Copyright © 2005-2012 Kpan. All rights reserved.