配列step操作。に続いて書いてみました
文字列配列のこんな操作は書いてなかったみたい

FILE名:FILE_step_s_ar.hsp
#module step_sar sar,index
#modinit int p
sdim sar,p
index=0
return
#modfunc local set str value
sar=value
return
#modfunc local set_index int p
index=p
return
#modcfunc local one_get
if strlen(sar)>index{
n=peek(sar,index)
index++
return n
}
return -1
#modcfunc local one_n_get
if strlen(sar)>index{
n=peek(sar,index)
index++
switch(n)
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 'A':case 'a':return 10
case 'B':case 'b':return 11
case 'C':case 'c':return 12
case 'D':case 'd':return 13
case 'E':case 'e':return 14
case 'F':case 'f':return 15
default:return -1
swend
}
return -1
#global
/*TEST CODE コメントアウト
newmod sa,step_sar,16
set@step_sar sa,"abcdefg"

repeat 20
logmes str(one_get@step_sar(sa))
loop

set@step_sar sa,"0123456789abcdefABCDEFjjj"
set_index@step_sar sa,0

repeat 40
logmes str(one_n_get@step_sar(sa))
loop
*/
/*TESTの結果
97
98
99
100
101
102
103
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
10
11
12
13
14
15
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1*/