2012年4月23日月曜日

サイトの更新ver2012/4/23 その2

サイト、更新しました

更新したページはコチラ

サンプルスクリプト4HSP
http://space.geocities.jp/digital_clock_2006/HSP/sample4HSP.htm

サイトの更新ver2012/4/23

サイト、更新しました

更新したページはコチラ

HSPの演算子
http://space.geocities.jp/digital_clock_2006/HSP/operand_memo.htm

2012年4月22日日曜日

サイトの更新ver2012/4/22

先日、更新しました

更新したページはコチラ

「HSPプログラマさんに100の質問」
http://space.geocities.jp/digital_clock_2006/HSP/Q100.htm

先日のerror ver2012/4/22

一昨日午前2時まで格闘してw
昨日やったら解決しました

以下拡張FILE作成使用手順

javaFILEを書く
javacでコンパイル
~.classを~.dllに書き換える
HSPLetのextかlibに置く

呼び出したいHSPのスクリプトに
#cmpopt optprm 0
#uselib "dbl_rnd"
#cfunc dr "dbl_rnd" double
とか書く
#cmoptで最適化して
#uselibで使用したいdllを記入(classFILEの拡張子を書き換えたの)
#cfuncで使用宣言

いやいや手こずりましたw

#uselibと#cfuncしてないからNullPointerException出て
dllじゃなくjarとかclassとかをextかlibに置くから読み込めないしw

まぁ動いて良かったですw

ググったら本家掲示板の記事に拡張命令が使えないとか書いてたけど
#uselibと#cfuncしてないからではないでしょうか?

2012年4月21日土曜日

本日のerror ver2012/4/21

何気にHSPLetのマニュアルを読んだら拡張命令を作成できるって書いてる
で、試しに、実数乱数を求めるスクリプトを移植してみた
ってかまんまJavaで実数乱数を求めて返せばいいのかな?

でNullPointerExceptionが出た
ググるとオブジェクトがnullなんだと(全然わかってないw)
Random classを使うとオブジェクトがnullになる訳で
いつ初期化すればいいんだ?w
毎回、初期化するのも効率悪いしw
で初期化しなくていいMathクラスのを使うことにした
NullPointerExceptionのせいでものすごいめんどくさいw

でコンパイル成功classFILE作成
で、どうやってHSPLetから呼び出すんだ?w
ググってjarFILE作成して
#classFILEをuselibしようとしたりw
jarFILEにしてから移動して
命令呼び出したら

ってかプログラム修正してclassFILE作成してjarFILE作成して
HSPLetに移動して動かすdebugってなんやねんw

でググったら
開発wikiにhspdaのHSPLet版があった
でも、DLできねーw

2012年4月19日木曜日

サイトの更新ver2012/4/19。その2

サイト更新しました

更新したページはコチラ

・HSPメモ4HSPLet
http://space.geocities.jp/digital_clock_2006/HSP/memo4HSPLet.htm

サイトの更新ver2012/4/19

サイト更新しました

更新したページはコチラ

・シンプルな分割MODULE
http://space.geocities.jp/digital_clock_2006/HSP/module/simple_split.htm

2012年4月18日水曜日

サイトの更新ver2012/4/18

サイト更新しました
Y+Y=M.Hさん作、簡単データ管理の「ちょデタ」というTOOLの
管理用モジュールを改造したものです

更新したページはコチラ
http://space.geocities.jp/digital_clock_2006/HSP/tyodatamodule.htm

2012年4月7日土曜日

サイトの更新ver2012/4/7

サイト更新しました。連続更新。第3段

・double←→str
http://space.geocities.jp/digital_clock_2006/HSP/module/double2str.htm

2012年4月6日金曜日

サイトの更新ver2012/4/6 その2

サイト更新しました。連続更新w

・mesbox用命令簡易版
http://space.geocities.jp/digital_clock_2006/HSP/module/MB_draw_light.htm

サイトの更新ver2012/4/6

サイト更新しました。昨日書きました。ちょっとノッてきたw

・標準命令を使った実数乱数
http://space.geocities.jp/digital_clock_2006/HSP/module/double_rnd.htm

先日のerror ver2012/4/6

入力ボックス/メッセージボックの表示色変更
http://lhsp.s206.xrea.com/hsp_object2.html#2

mesbox用命令
http://space.geocities.jp/digital_clock_2006/HSP/module/MB_draw.htm
を組み合わせると、僕の環境ではawaitとwaitが上手く動かないw
Kpanさんとこ掲示板ちっちゃいので報告用に

// エディトコントロール内文字色&背景色変更サンプル (by Kpan)
// 改変y.tack

// mesbox描画用module
// 以下MBとはmesboxのこと
// 変数定義。mesbox命令の直後に呼び出して下さい。(statの値が変わるので)
goto *_4MB_END
*_4MB_init
target=""
_ID=stat
return
// 一行描画(すぐ描画)
#deffunc MB_add_one str _4add
target=_4add+target
objprm _ID,target
return
// mesboxクリア
*MB_clear
target=""
objprm _ID,target
return
*_4MB_END

#include "gdi32.as"

#define ctype RGB(%1,%2,%3) (%1 | %2 << 8 | %3 << 16)

dim hInput, 2
color $33,$ff,$33
boxf 0,0,640,480
; エディットコントロールが描画されるときに送られてくる
; ウィンドウメッセージ (WM_CTLCOLOREDIT)
oncmd gosub *ctlcoloredit, $133

; 生成したカラーデータを破棄するための処理に必要
onexit *exit

a = ""
font "",17
objmode 2
pos 220,20
mesbox a, 400,440,1
gosub *_4MB_init
ID4mesbox=stat
hInput.0 = objinfo(stat, 2)

; 背景カラー用のブラシを生成しハンドルを取得。
CreateSolidBrush RGB($00, $88, $00)
hBrush.0 = stat
pos 0,0
objsize 200,20
button "click",*lnext
stop
*lnext
await 3000
MB_add_one "y.tack presents\n\n"
await 3000
MB_add_one "WEAPON POINT\n\n"
await 3000
MB_add_one "START!\n\n"
await 5000
button "NEW GAME",*tmp_l
button "CONTINUE",*tmp_l
// MB_clear
stop
*tmp_l
stop
*ctlcoloredit
; lparamにオブジェクトのウィンドウハンドルが返る
if hInput.0 = lparam {
SetTextColor wparam, RGB($FF, $FF, $FF)

; テキスト背景色 (hBrush.0と同色を指定)
SetBkColor wparam, RGB($00, $88, $00)

; ボックス背景色
return hBrush.0
}


return

*exit
; 作成した背景カラー用のブラシを破棄
DeleteObject hBrush.0

end

使用moduleを変更しました