Показать сообщение отдельно

  #3315  
Старый 18.04.2009, 08:50
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Функция и кривая но работает.
MYLIST - это тип который содержит кол-во найденных элементов и сам массив элементов. Массив динамический по этому нужно будет юзать вконце функции типа setlength(mas,0) чтобы память не терять.

Код:
type
 MYLIST=record
  count:integer;
  data:array of string;
 end;

procedure Explode(gde:string;kak:string;var list:MYLIST);
var
 p:integer;
 n:integer;
begin
 n:=0;
 repeat
   p:=pos(kak,gde);
   if p>0 then
    begin
      inc(n);
      setlength(list.data,n);
      list.data[n-1]:=copy(gde,1,p-1);
      delete(gde,1,p+length(kak)-1);
    end;
  until p=0;
 list.count:=n;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 mas:MYLIST;
begin
 Explode('::::::parameter1:::parameter2:::parameter3:::parameter4:::',':::',mas);
 showmessage(mas.data[3]);
end;
 
Ответить с цитированием