Code: Alles auswählen
EnableExplicit
Dim Zeile.s(30)
Declare.l Explode(Trenner.s, String.s, Array Arr.s(1))
Explode(":", "23:59:42.32", Zeile())
;{ Explode()
; Explode() zerlegt eine Zeichenkette in ihre Bestandteil und das Trennzeichen kann auch eine kpl.
; Zeichenkette sein. Da man in Purebasic keine Felder aus Prozeduren zurückgeben kann, wird das Feld
; einfach als Parameter übergeben und die Ergebnisse dort eingetragen. Die Anzahl der belegten Fel-
; der wird als Integer zurückgegeben. Sollte das Feld nicht genügend Einträge haben, wird -1 zurück-
; gegeben.
Procedure.l Explode(Trenner.s, String.s, Array Arr.s(1))
Define i.l, Pos.l
i = 0 ;So sähe der Teil bis Until 0 in PHP aus:
Repeat ;$VolProf = explode(", ", $VolProfStr);
Pos = FindString(String, Trenner)
If Pos = 0
If Len(String) > 0 : Arr(i) = String : String = "" : EndIf
Break
EndIf
Arr(i) = Left(String, Pos-1)
String = Mid(String, Pos + Len(Trenner))
i + 1
If i > ArraySize(Arr()) : ProcedureReturn -1 : EndIf
Until 0
ProcedureReturn i
EndProcedure
;}