Code:

{ **** UBPFD *********** by delphibase.endimus ****

>> Преобразование строки с разделителями в StringList.

 

Преобразование строки с разделителями в StringList или наследник TStrings.

Навеяно одноименной процедурой из InfoPower :-)

 

Зависимости: Classes

Автор: Игорь Шевченко, Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., Москва

Copyright: Игорь Шевченко, Woll2Woll software (original)

Дата: 30 апреля 2002 г.

***************************************************** }

 

procedure StrBreakApart(const S, Delimeter: string; Parts: TStrings);

var

CurPos: integer;

CurStr: string;

begin

Parts.clear;

Parts.BeginUpdate();

try

CurStr := S;

repeat

CurPos := Pos(Delimeter, CurStr);

if (CurPos > 0) then

begin

Parts.Add(Copy(CurStr, 1, Pred(CurPos)));

CurStr := Copy(CurStr, CurPos + Length(Delimeter),

Length(CurStr) - CurPos - Length(Delimeter) + 1);

end

else

Parts.Add(CurStr);

until CurPos = 0;

finally

Parts.EndUpdate();

end;

end;

Пример использования:

 

var

Tmp: StringList;

begin

Tmp := TStringList.Create();

StrBreakApart('Text1<BR>Text2<BR>Text3<BR>Text4', '<BR>', Tmp);

// После вызова Tmp содержит

// Text1

// Text2

// Text3

// Text4

...

Tmp.Free();

end;

 

 


 

Можно сделать значительно проще:

Code:

procedure StrBreakApart(const S, Delimeter: string; Parts: TStrings);

{©Drkb v.3(2007): www.drkb.ru,

®Vit (Vitaly Nevzorov) - Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.}

begin

Parts.text:=StringReplace(S, Delimeter, #13#10, [rfReplaceAll, rfIgnoreCase]);

end;

 

 

Автор:Vit

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить