FILE名:FILE_int2char.hsp
#module int2char // 引数(0〜15)の16進表記を返す // 引数の値が0〜15でないとerror #defcfunc one_at_int2char 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 // 引数cを文字列に変換して返す // 引数cの値が0〜255でないとerror // 引数typeの値が2の時は16進の2桁の数字を返す // 引数typeの値が3の時は10進の3桁の数字を返す // 引数typeの値が2か3でないとerror #defcfunc some_at_int2char int c,int type if (type!=2)&(type!=3){ logmes "char2int内のerror" logmes "第二引数の値は2か3にして下さい" logmes "第二引数の値:"+str(type) return -1 } if (c<=-1)|(c>=256){ logmes "some_at_int2char内のerror" logmes "第一引数は0〜255の値にして下さい" logmes "第一引数の値:"+str(c) return -1 } if type==2{ t=c/16 tt=c\16 return ""+(one_at_int2char(t))+(one_at_int2char(tt)) }else{ if type==3{ t=c/100 tt=(c\100)/10 ttt=(c\10) return ""+str(t)+str(tt)+str(ttt) } return -1 #global /* 以下TESTコード。コメントアウト repeat 30,-10 logmes ""+str(one_at_int2char(cnt)) loop repeat 300,-10 logmes ""+some_at_int2char(cnt,2) loop logmes "" repeat 300,-10 logmes ""+some_at_int2char(cnt,3) loop logmes "" repeat 16 logmes ""+some_at_int2char(1,cnt) loop logmes ""+some_at_int2char('a',2) logmes ""+some_at_int2char('b',2) logmes ""+some_at_int2char('c',2) logmes ""+some_at_int2char('d',2) logmes ""+some_at_int2char('e',2) logmes ""+some_at_int2char('a',3) logmes ""+some_at_int2char('b',3) logmes ""+some_at_int2char('c',3) logmes ""+some_at_int2char('d',3) logmes ""+some_at_int2char('e',3) logmes ""+some_at_int2char('#',2) logmes ""+some_at_int2char('$',2) logmes ""+some_at_int2char('?',2) logmes ""+some_at_int2char('\\',2) logmes ""+some_at_int2char('#',3) logmes ""+some_at_int2char('$',3) logmes ""+some_at_int2char('?',3) logmes ""+some_at_int2char('\\',3)*/ |