#module
#deffunc getdiminfo val, int
mref pval, 1024 : mref dnum, 1
mref stt, 64
stt = dnum + 2
stt = pval.stt
if (pval & $FFFF = 2) && (dnum = 0) : stt = stt * 4
return
#deffunc notetoarray val, val
mref sv, 56 : mref gv, 25
i = 0 // 取得開始位置用
getdiminfo sv, 0 : size.0 = stat // 1要素のサイズ
getdiminfo sv, 1 : size.1 = stat // 要素数
kugiri = "\n" // この区切り文字を変更すれば、改行以外に対応できる
strlen size.2, kugiri // 区切り文字列のサイズ
sdim data, size.0 + 1
repeat
if cnt >= size.1 : break // 設定配列の要素数よりも大きい分は代入しない
instr i.1, gv, kugiri, i.0
if i.0 + i.1 <= i {
strlen i.2, gv
if i.2 - 1 > i.0 {
if i.2 - i.1 > size.0 {
strmid sv.cnt, gv, i.0, i.2 // 設定配列の要素サイズ以下なら全て代入
} else {
strmid sv.cnt, gv, i.0, size // 設定配列の要素サイズよりも大きい分は代入しない
}
}
break
}
if size.0 > i.1 {
strmid sv.cnt, gv, i, i.1 // 設定配列の要素サイズ以下なら全て代入
} else {
strmid sv.cnt, gv, i, size - 1 // 設定配列の要素サイズよりも大きい分は代入しない
}
i.0 += i.1 + size.2
loop
return
#global
num = 6 // 全文字列を代入するには、要素10が必要です
sdim array, 12, num
sdim note, 120
note = "あいうえお\nかきくけこ\nさしすせそ\nたちつてと\nなにぬねの\nはひふへほ\nまみむめも\nや ゆ よ\nらりるれろ\nわ を ん"
notetoarray array, note // ノートパッドデータを配列変数にセット
repeat num
mes "" + cnt + ". " + array.cnt // 確認表示
loop
stop
|