Разбить строку на подстроки на Delphi

Возвращает массив строк, полученных разбиением строки a с использованием Border в качестве разделителя.

procedure Explode(var a: array of string; Border, S: string);
  var
     S2: string;
     i: Integer;
  begin
     i  := 0;
     S2 := S + Border;
     repeat
       a[i] := Copy(S2, 0,Pos(Border, S2) - 1);
       Delete(S2, 1,Length(a[i] + Border));
       Inc(i);
     until S2 = '';
end;


Пример:

procedure TForm1.Button1Click(Sender: TObject);
var
   S: string;
   A: array of String;
begin
   Memo1.Clear;
   S:= Edit1.Text;
   SetLength(A, 10);
   Explode(A, ' ', S);
   for i:=0 to Length(A)-1 do
   begin
      Memo1.Lines.Add(A[i]);
   end;
end;



Просмотров: 2962
13.02.2015, 22:45 -

Категория: Статьи » Программирование » Delphi