[Delphi] разделение строки на строки
Здравствуйте!
Существует ли в Дельфи аналог функции explode в PHP?
То есть есть ли финкция для разбиения строки на строки?
← Июнь 2004 → | ||||||
За последние 60 дней ни разу не выходила
Сайт листа:
http://codeguru.ru
Открыт:
21-09-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.prog.prog-list@subscribe.ru
Адрес
модератора: comp.soft.prog.prog-owner@subscribe.ru
Здравствуйте, 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;