#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 arraytocsv val, val
mref sv, 24 : mref gv, 57
getdiminfo sv, 0 : size.0 = stat // 設定先変数のバッファサイズ
getdiminfo gv, 0 : size.1 = stat // 取得元配列1次元目のバッファサイズ
getdiminfo gv, 1 : size.2 = stat // 取得元配列1次元目の要素数
getdiminfo gv, 2 : size.3 = stat // 取得元配列2次元目の要素数
sdim tmpdat, size.1 + 1
ckugiri = "," : rkugiri = "\n" // 1次元目区切り文字, 2次元目区切り文字
strlen len.0, ckugiri
strlen len.1, rkugiri
repeat size.3
i = cnt
strlen len.2, sv
if i ! 0 & (len.1 + len.2 + 1 < size.0) : sv += rkugiri
repeat size.2
strlen len.2, sv
if cnt ! 0 & (len.1 + len.2 + 1 < size.0) : sv += ckugiri
strlen len.2, sv
strlen len.3, gv.cnt.i
if len.2 + len.3 + 1 < size.0 {
sv += gv.cnt.i
} else {
strmid tmpdat, gv.cnt.i, , size.0 - len.2 - 1
sv += tmpdat
break
}
loop
loop
return
#global
genrenum = 3
sdim genre, 12, genrenum
sdim ary, 16, 5, genrenum
sdim csv, 100
genre = "メーカー", "Color", "三種の神器"
ary.0.0 = "トヨタ", "ニッサン", "ホンダ", "スズキ"
ary.0.1 = "Red", "Green", "Blue", "White", "Black"
ary.0.2 = "草薙の剣", "八尺瓊の勾玉", "八咫の鏡"
arraytocsv csv, ary // 配列データをCSV変数に格納
// CSVデータを1行毎取り出して表示する
notesel csv
repeat genrenum
noteget current, cnt
pos 10, cnt * 30 + 10 : mes genre.cnt
pos 100, cnt * 30 + 10 : mes current
loop
stop
|