1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| type TStrArray = Array of String;
function Implode(Trennzeichen: String; Inhalt: TStrArray): String; var I: Integer; begin result := ''; for I := Low(Inhalt) to High(Inhalt) do result := result + Trennzeichen + Inhalt[i]; result := Copy(result, Length(Trennzeichen) + 1, Length(result)); end;
procedure Explode(const Trennzeichen, Zeichenkette: String; out StrArray: TStrArray); var I: integer; S, T: String; begin S := Zeichenkette; T := Trennzeichen; if Copy(S, 1, Length(T)) = T then Delete(S, 1, Length(T)); if Copy(S, Length(S) - Length(T) + 1, Length(T)) = T then Delete(S, Length(S) - Length(T) + 1, Length(T)); I := 1; while Pos(T, S) > 0 do begin SetLength(StrArray, I); StrArray[I - 1] := Copy(S, 1, Pos(T, S) - 1); Delete(S, 1, Pos(T, S) + Length(T) - 1); Inc(I); if Pos(T, S) = 0 then begin SetLength(StrArray, I); StrArray[I - 1] := S; exit; end; end; end; |