Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Re: [Delphi] разделение строки на строки

Здравствуйте!
Существует ли в Дельфи аналог функции explode в PHP?
То есть есть ли финкция для разбиения строки на строки?

Ответить   Sat, 19 Jun 2004 22:13:34 +0300 (#173757)

 

Ответы:

Здравствуйте, keel.

Вы писали 20 июня 2004 г., 6:13:34:

Да существует. Вот он:

function findstr(substr,str:string; n:integer=1):integer;
var i,j,f:integer;
begin
if (abs(length(str)-n))<length(substr) then
begin
findstr:=0;
exit;
end;
if n<1 then n:=1; f:=0;
for i:=n to length(str) do
begin
if str[i]=substr[1] then
for j:=1 to length(substr) do
begin
if str[i+j-1]=substr[j] then f:=i else
begin
f:=0;
break;
end;
end;
if f<>0 then
begin
findstr:=f;
exit;
end;
end;
findstr:=f;
end;

function explode(raz,str:string; var mas:array of string):integer;
var i,j,old:integer;
begin
j:=0; old:=1; i:=1;
if length(str)<i then
begin
result:=0;
exit;
end;
while true do
begin
i:=findstr(raz,str,i);
if high(mas)<j then break;
if i<>0 then mas[j]:=copy(str,old,i-old) else
begin
mas[j]:=copy(str,old,length(str));
break;
end;
i:=i+length(raz);
old:=i;
inc(j); inc(i);
end;
explode:=j;
end;

Ответить   Sun, 20 Jun 2004 14:39:56 +1100 (#174286)