HSP初心者でただいま勉強中のまると申します。
「あああ,いいい,ううう,えええ」のように「,」で区切られた文字列の任意の部分を取り出す
プログラムを作成したのですが、defcfuncで関数にして呼び出すと、実行時にhit=instr(a,k,",")
の行数を指定され「変数名が指定されていません」とエラーが出てうまく動きません。
どなたか原因を教えてください。
-----------------------------------------------------------------------------
#module
#defcfunc strcut str a,int i
sdim kekka,64
k=0
hit=0
repeat
if cnt=i:break
hit=instr(a,k,",")
k=k+hit+1
wait 10
loop
getstr kekka,a,k,','
return kekka
#global
#include"hspext.as"
#include "hspda.as"
*cut
cls
a="あああ,いいい,ううう,えええ"
i=2
mes "["+a+"]から2列目を取り出します"
kekka=strcut(a,i)
mes kekka
stop
--------------------------------------------------------------------------
ちなみに、defcfuncを使わずに、以下のように*cutラベルの中だけで同じ動作をさせると
ちゃんと動いてくれます。
*cut
cls
a="あああ,いいい,ううう,えええ"
i=2
k=0
hit=0
mes "["+a+"]から2列目を取り出します"
repeat
if cnt=i:break
hit=instr(a,k,",")
k=k+hit+1
wait 10
loop
getstr kekka,a,k,','
mes kekka
stop