MOD ざざん
#module int2char_01
// 引数(0〜15)の16進表記を返す
// 引数の値が0〜15でないとerror
#defcfunc one_at_int2char_02 int cc
if (cc<=-1)|(cc>=16){
logmes "one_at_int2char内のerror"
logmes "引数は0〜15の値にして下さい"
logmes "引数の値:"+str(cc)
return -1
}
switch cc
case 0 :return "0"
case 1 :return "1"
case 2 :return "2"
case 3 :return "3"
case 4 :return "4"
case 5 :return "5"
case 6 :return "6"
case 7 :return "7"
case 8 :return "8"
case 9 :return "9"
case 10 :return "a"
case 11 :return "b"
case 12 :return "c"
case 13 :return "d"
case 14 :return "e"
case 15 :return "f"
swend
return -1
#global
#module step_ar_sub_01 ar_cts,ar_flag1,ar_flag2
#define MOD_NAME "step_ar_sub_01"
#modinit int
dim ar_cts,8
repeat 8
ar_cts.cnt=-1
loop
ar_flag1=-1
ar_flag2=-1
return
#modcfunc local get_toString local s
chk_obj@step_ar_sub_01 thismod
s=""
repeat 8
s+=one_at_int2char_02(ar_cts.cnt)
loop
return s
#modcfunc local get_toString_add_flag local ss
ss=get_toString@step_ar_sub_01(thismod)
ss+=one_at_int2char_02(ar_flag1)
ss+=one_at_int2char_02(ar_flag2)
return ss
#modfunc local chk_obj local i
for i,0,8,1
if ar_cts.i==-1{
logmes "chk_obj@"+MOD_NAME+" 内のerror"
logmes "ar_cts."+i+"の値が未定義です"
logmes "ar_cts."+i+"i:"+ar_cts.i
dump@step_ar_sub_01 thismod
return
}
next
if ar_flag1==-1{
logmes "chk_obj@"+MOD_NAME+" 内のerror"
logmes "ar_flag1の値が未定義です"
logmes "ar_flag1:"+ar_flag1
dump@step_ar_sub_01 thismod
return
}
if ar_flag2==-1{
logmes "chk_obj@"+MOD_NAME+" 内のerror"
logmes "ar_flag2の値が未定義です"
logmes "ar_flag2:"+ar_flag2
dump@step_ar_sub_01 thismod
return
}
logmes "chk_obj@"+MOD_NAME+" : check OK"
return
#define FUNC_NAME "set_flag@"
#modfunc local set_flag int p_flag1,int p_flag2
if (p_flag1 < 0)||(p_flag1>=16){
logmes FUNC_NAME+MOD_NAME+" 内のerror"
logmes "引数p_flag1の値は0以上15以下の値にして下さい"
logmes "p_flag1:"+p_flag1
dialog FUNC_NAME+MOD_NAME+" 内のerror\n引数p_flag1の値は0以上15以下の値にして下さい\np_flag1:"+p_flag1,1,"error"
return
}
if (p_flag2 < 0)||(p_flag2>=16){
logmes FUNC_NAME+MOD_NAME+" 内のerror"
logmes "引数p_flag2の値は0以上15以下の値にして下さい"
logmes "p_flag2:"+p_flag2
dialog FUNC_NAME+MOD_NAME+" 内のerror\n引数p_flag2の値は0以上15以下の値にして下さい\np_flag2:"+p_flag2,1,"error"
return
}
ar_flag1=p_flag1
ar_flag2=p_flag2
return
#undef FUNC_NAME
#define FUNC_NAME "set_ar_two_youso@"
#modfunc local set_ar_two_youso int p,int p_index
if (p < 0)||(p>=256){
logmes FUNC_NAME+MOD_NAME+" 内のerror"
logmes "引数pの値は0以上255以下の値にして下さい"
logmes "p:"+p
dialog FUNC_NAME+MOD_NAME+" 内のerror\n引数pの値は0以上255以下の値にして下さい\np:"+p,1,"error"
return
}
if (p_index < 0)||(p_index >=4){
logmes FUNC_NAME+MOD_NAME+" 内のerror"
logmes "引数p_indexの値は0以上3以下の値にして下さい"
logmes "p_index:"+p_index
dialog FUNC_NAME+MOD_NAME+" 内のerror\n引数p_indexの値は0以上3以下の値にして下さい\np_index:"+p_index,1,"error"
return
}
loc_index=p_index*2
ar_cts.loc_index=p/16
loc_index++
ar_cts.loc_index=p\16
return
#undef FUNC_NAME
#define FUNC_NAME "set_ar_youso@"
#modfunc local set_ar_youso int p,int p_index
if (p < 0)||(p>=16){
logmes FUNC_NAME+MOD_NAME+" 内のerror"
logmes "引数pの値は0以上15以下の値にして下さい"
logmes "p:"+p
dialog FUNC_NAME+MOD_NAME+" 内のerror\n引数pの値は0以上15以下の値にして下さい\np:"+p,1,"error"
return
}
if (p_index < 0)||(p_index >=8){
logmes FUNC_NAME+MOD_NAME+" 内のerror"
logmes "引数p_indexの値は0以上7以下の値にして下さい"
logmes "p_index:"+p_index
dialog FUNC_NAME+MOD_NAME+" 内のerror\n引数p_indexの値は0以上7以下の値にして下さい\np_index:"+p_index,1,"error"
return
}
ar_cts.p_index=p
return
#undef FUNC_NAME
#modcfunc local get_ar_youso int p
return ar_cts.p
#modfunc local dump
repeat 8
logmes ""+ar_cts.cnt
loop
logmes "["+ar_flag1+ar_flag2+"]"
return
;#modfunc local chk_and_dump
; repeat 8
; logmes ""+ar_cts.cnt
; loop
; logmes "["+ar_flag1+ar_flag2+"]"
; chk_obj@step_ar_sub_01 thismod
; return
#global
/*//
newmod a2,step_ar_sub_01
;repeat 8
; mes get_ar_youso@step_ar_sub_01(a2,cnt)
;loop
set_ar_two_youso@step_ar_sub_01 a2,0,0
set_ar_two_youso@step_ar_sub_01 a2,255,0
set_ar_two_youso@step_ar_sub_01 a2,-1,0
set_ar_two_youso@step_ar_sub_01 a2,256,0
set_ar_two_youso@step_ar_sub_01 a2,0,-1
set_ar_two_youso@step_ar_sub_01 a2,0,0
set_ar_two_youso@step_ar_sub_01 a2,0,1
set_ar_two_youso@step_ar_sub_01 a2,0,2
set_ar_two_youso@step_ar_sub_01 a2,0,3
set_ar_two_youso@step_ar_sub_01 a2,0,4
set_ar_two_youso@step_ar_sub_01 a2,$01,0
set_ar_two_youso@step_ar_sub_01 a2,$23,1
set_ar_two_youso@step_ar_sub_01 a2,$45,2
set_ar_two_youso@step_ar_sub_01 a2,$67,3
set_ar_two_youso@step_ar_sub_01 a2,$89,4
set_flag@step_ar_sub_01 a2,16,0
set_flag@step_ar_sub_01 a2,15,0
set_flag@step_ar_sub_01 a2, 0,0
set_flag@step_ar_sub_01 a2,-1,0
set_flag@step_ar_sub_01 a2,0,16
set_flag@step_ar_sub_01 a2,0,15
set_flag@step_ar_sub_01 a2,0,0
set_flag@step_ar_sub_01 a2,0,-1
dump@step_ar_sub_01 a2
newmod a,step_ar_sub_01
set_ar_youso@step_ar_sub_01 a,-1,0
set_ar_youso@step_ar_sub_01 a,0,0
set_ar_youso@step_ar_sub_01 a,15,0
set_ar_youso@step_ar_sub_01 a,16,0
set_ar_youso@step_ar_sub_01 a,0,-1
set_ar_youso@step_ar_sub_01 a,0,0
set_ar_youso@step_ar_sub_01 a,0,1
set_ar_youso@step_ar_sub_01 a,0,2
set_ar_youso@step_ar_sub_01 a,0,3
set_ar_youso@step_ar_sub_01 a,0,4
set_ar_youso@step_ar_sub_01 a,0,5
set_ar_youso@step_ar_sub_01 a,0,6
set_ar_youso@step_ar_sub_01 a,0,7
set_ar_youso@step_ar_sub_01 a,0,8
set_ar_youso@step_ar_sub_01 a,0,0
set_ar_youso@step_ar_sub_01 a,1,1
set_ar_youso@step_ar_sub_01 a,2,2
set_ar_youso@step_ar_sub_01 a,3,3
set_ar_youso@step_ar_sub_01 a,4,4
set_ar_youso@step_ar_sub_01 a,5,5
set_ar_youso@step_ar_sub_01 a,6,6
set_ar_youso@step_ar_sub_01 a,15,7
set_ar_youso@step_ar_sub_01 a,16,8
; set_ar_youso@step_ar_sub_01 a,0,1,0
; set_ar_youso@step_ar_sub_01 a,2,3,1
; set_ar_youso@step_ar_sub_01 a,3,4,2
; set_ar_youso@step_ar_sub_01 a,5,6,3
; set_ar_youso@step_ar_sub_01 a,7,8,4
; set_ar_youso@step_ar_sub_01 a,$01,0
; set_ar_youso@step_ar_sub_01 a,$23,1
; set_ar_youso@step_ar_sub_01 a,$45,2
; set_ar_youso@step_ar_sub_01 a,$67,3
; set_ar_youso@step_ar_sub_01 a,$89,4
set_flag@step_ar_sub_01 a,-1,0
set_flag@step_ar_sub_01 a,0,0
set_flag@step_ar_sub_01 a,15,0
set_flag@step_ar_sub_01 a,16,0
set_flag@step_ar_sub_01 a,0,-1
set_flag@step_ar_sub_01 a,0,0
set_flag@step_ar_sub_01 a,0,15
set_flag@step_ar_sub_01 a,0,16
dump@step_ar_sub_01 a
//*/
newmod TMP_OBJ,step_ar_sub_01
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,0,0
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,1,1
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,2,2
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,3,3
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,4,4
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,5,5
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,6,6
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,7,7
chk_obj@step_ar_sub_01 TMP_OBJ
set_ar_youso@step_ar_sub_01 TMP_OBJ,0,8
chk_obj@step_ar_sub_01 TMP_OBJ
set_flag@step_ar_sub_01 TMP_OBJ,0,1
chk_obj@step_ar_sub_01 TMP_OBJ
mes get_toString@step_ar_sub_01(TMP_OBJ)
mes get_toString_add_flag@step_ar_sub_01(TMP_OBJ)
stop
;mes get_ar_youso@step_ar_sub_01(a,9)
/*TEST CODE コメントアウト
// インスタンスの配列サイズ16でオブジェクト生成
newmod a,step_ar_3,16
// インスタンスのindexを0で初期化
set_index@step_ar_3 a,0
set_string@step_ar_3 a,"abc_efg"
cnv_str2ar@step_ar_3 a
clear_string@step_ar_3 a
// インスタンスのindexを0で初期化
set_index@step_ar_3 a,0
// 配列の最大を取得
n=0
get_max@step_ar_3 a,n
// 配列の中身dump
repeat n
mes get@step_ar_3(a)
loop
// 配列のlength取得
get_ar_length@step_ar_3 a,m
mes m
// 数値配列を文字列化してgetして表示
s=""
mes get_toString@step_ar_3(a,s)
/*TEST CODE コメントアウト
// インスタンスの配列サイズ16でオブジェクト生成
newmod a,step_ar_3,16
// インスタンスのindexを0で初期化
set_index@step_ar_3 a,0
// インスタンス代入
step_set@step_ar_3 a,'a'
step_set@step_ar_3 a,'b'
step_set@step_ar_3 a,'c'
;step_set@step_ar_3 a,1
;step_set@step_ar_3 a,2
// 配列の最大を更新
set_max@step_ar_3 a
// インスタンスのindexを0で初期化
set_index@step_ar_3 a,0
// 配列の最大を取得
n=0
get_max@step_ar_3 a,n
// 配列の中身dump
repeat n
mes get@step_ar_3(a)
loop
// 配列のlength取得
get_ar_length@step_ar_3 a,m
mes m
// 数値配列を文字列化してgetして表示
s=""
mes get_toString@step_ar_3(a,s)
//*/
/*TEST CODE コメントアウト
newmod a,step_ar,16
repeat 16
set@step_ar a,cnt,cnt
loop
repeat 20
mes get@step_ar(a)
loop
//*/
|