
18.04.2009, 08:50
|
|
Познавший АНТИЧАТ
Регистрация: 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;
|
|
|