by xsb007 » 2005年6月19日(日) 22:48
Constによるマクロ関数は、()でくくらないとまずいんじゃないかと。
実際、これで #defineと同様の問題が起こっています。
または BASIC なんだから、自動で()をつけて文字列の置き換えを行うか。
コード: 全て選択
Const HIBYTE(w) = ( ( (w) >> 8) and &HFF )
Const LOBYTE(w) = ( (w) and &HFF)
Const HIWORD(dw) = ( ( (dw) >> 16) and &HFFFF)
Const LOWORD(dw) = ( (dw) and &HFFFF )
Const MAKEWORD(a,b) = ( ((a) and &HFF) or (((b) and &HFF)<<8) )
Const MAKELONG(a,b) = ( ((a) and &HFFFF) or (((b) and &HFFFF)<<16) )
Constによるマクロ関数は、()でくくらないとまずいんじゃないかと。
実際、これで #defineと同様の問題が起こっています。
または BASIC なんだから、自動で()をつけて文字列の置き換えを行うか。
[code]Const HIBYTE(w) = ( ( (w) >> 8) and &HFF )
Const LOBYTE(w) = ( (w) and &HFF)
Const HIWORD(dw) = ( ( (dw) >> 16) and &HFFFF)
Const LOWORD(dw) = ( (dw) and &HFFFF )
Const MAKEWORD(a,b) = ( ((a) and &HFF) or (((b) and &HFF)<<8) )
Const MAKELONG(a,b) = ( ((a) and &HFFFF) or (((b) and &HFFFF)<<16) )[/code]