#module
#defcfunc getlist var A,int c,int d,int e
;P1:読みだす文字列変数
;P2:列(X)
;P3:行(Y)
;P4:区切り文字コード(例 ','でカンマ 9でタブ)
f=0
notesel A
noteget G,D
repeat C+1
getstr B,G,F,E
F+=strsize
loop
return b
#global
#module
#deffunc listadd var A,str B,int C,int D,int E
;P1 内容を変更する変数
;P2 追加したい内容(中身があれば置き換える)
;P3 列(X座標)
;P4 行(Y座標)
;P5 区切る文字コード
dim F,1
F=strlen (A)
sdim G,F
sdim H,F
F=0
G=""
p=""
poke p,0,E
notesel A
nm=noteinfo(0)
if nm<=D{;指定行数が最終行よりも大きいときは改行を付け足す
repeat D-nm+1
a+="\n"
loop
}
noteget G,D
repeat C
getstr I,G,F,E
H+=""+I+""+p
F+=strsize
loop
getstr I,G,F,E
getstr I,G,F+strsize,E
if strsize=0{
H+=""+B
goto*@f
}
H+=""+B+""+p
getstr I,G,F,E
F+=strsize
repeat
getstr I,G,F,E
if i="":break
H+=""+I+""+p
if strsize=0:break
F+=strsize
await 0
loop
*@
noteadd H,D,1
return
#global
;Sample
/*
a={"
A1 B1 C1
A2 B2 C2
A3 B3 C3
"}
mes "置き換え前"
mes a
b="AAAAA"
pos 0,200
mes "B2="+getlist(a,1,1,9)
mes "C1="+getlist(a,2,0,9)
listadd a,b,2,2,9
pos 250,0
mes "置き換え後"
mes a
*/