Code: Alles auswählen
Procedure Split(text.s, separator.s, Array result.s(1))
Protected *mem.Character = @text
Protected *posi.character = *mem - SizeOf(character)
Protected anz, pos
Protected zeichen = Asc(separator)
anz = CountString(text, separator)
ReDim result(anz + 1)
Repeat
If *mem\c = zeichen
*posi + SizeOf(character)
result(pos) = PeekS(*posi, (*mem - *posi) / SizeOf(character))
pos + 1
*posi = *mem
EndIf
*mem + SizeOf(character)
Until *mem\c = 0
*posi + SizeOf(character)
result(pos) = PeekS(*posi, (*mem - *posi) / SizeOf(character))
ProcedureReturn anz
EndProcedure
http://www.purebasic.fr/german/viewtopi ... 16&t=21752