Dim n As Long
Dim Text As *String
Text = Split("aaa,bbb,ccc,ddd",",")
Do
MessageBox(0,Text[n],"Text["+Str$(n)+"]",0)
n = n + 1
If Text[n] = Ex"\0" Then
Exit Do
End If
Loop
/* Split関数 */
Function Split(Text As String,Delimiter As String) As *String
Dim DataNum As Long
Dim StringData As *String
Dim re As Long
Dim re_b As Long
Dim s As String
DataNum = 0
StringData = NULL
Do
re = re + 1
re_b = re
'区切り文字の検索
re = InStr(re_b, Text, Delimiter)
'MessageBox(0,Str$(re)+Ex"\r\n"+Str$(re)+"-"+Str$(re_b)+"="+Str$(re-re_b),"re",0)
'区切り文字までの抜き出し
If re <> 0 Then
s = Mid$(Text,re_b,re-re_b)
Else
s = Mid$(Text,re_b)
End If
'動的配列に格納
If StringData = NULL Then
StringData = malloc(SizeOf(String) * 1)
Else
StringData = realloc(StringData,SizeOf(String) * (DataNum+1))
End If
StringData[DataNum] = s
DataNum = DataNum + 1
Loop Until re = 0
'末端にNULL文字を入れる
StringData = realloc(StringData,SizeOf(String) * (DataNum))
StringData[DataNum] = Ex"\0"
'値を返す
Split = StringData
End Function