// 1. ...............................................

 

Code:

type

TStrArray = arrayofstring;

 

function Explode(var a: TStrArray; Border, S: string): Integer;

var

S2: string;

begin

Result := 0;

S2 := S + Border;

repeat

SetLength(A, Length(A) + 1);

a[Result] := Copy(S2, 0,Pos(Border, S2) - 1);

Delete(S2, 1,Length(a[Result] + Border));

Inc(Result);

until S2 = '';

end;

 

// How to use it:

 

Code:

procedure TForm1.Button1Click(Sender: TObject);

var

S: string;

A: TStrArray;

AnzTokens, i: Integer;

begin

S := 'Ein=Text=durch=Geleichzeichen=getrennt';

AnzTokens := Explode(A, '=', S);

for i := 0to AnzTokens -1do

Memo1.Lines.Add(A[i]);

end;

 

 

// 2. ...............................................

 

Code:

{

* These 2 functions are from the programming language PHP, unite certainly well-known.

* Now one can use it also in Delphi:)

}

 

{...}

 

//* Needed type declaration

type

TExplodeArray = arrayofString;

 

{...}

 

function Implode(const cSeparator: String; const cArray: TExplodeArray): String;

var

i: Integer;

begin

Result := '';

for i := 0to Length(cArray) -1dobegin

Result := Result + cSeparator + cArray[i];

end;

System.Delete(Result, 1, Length(cSeparator));

end;

 

function Explode(const cSeparator, vString: String): TExplodeArray;

var

i: Integer;

S: String;

begin

S := vString;

SetLength(Result, 0);

i := 0;

while Pos(cSeparator, S) > 0dobegin

SetLength(Result, Length(Result) +1);

Result[i] := Copy(S, 1, Pos(cSeparator, S) -1);

Inc(i);

S := Copy(S, Pos(cSeparator, S) + Length(cSeparator), Length(S));

end;

SetLength(Result, Length(Result) +1);

Result[i] := Copy(S, 1, Length(S));

end;

 

 

 

Взято с сайтаhttps://www.swissdelphicente

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить