Code:

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

>> Функция для "разворачивания" строк

 

 

Входные параметры:

Input - входная строка, которую необходимо представить в "развернутом виде"

 

на входе: 1,3,5-10,15

на выходе: 1,3,5,6,7,8,9,10,15

 

 

Зависимости: стандартный набор включаемых модулей

Автор: Ru, DiVo_Ru @ rambler.ru, Одесса

Copyright: DiVo 2002, creator Ru

 

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

 

function DecStr(Input: string): string;

var

i, j, t: integer;

s: string;

begin

if pos('-', Input) <> 0then

begin

while length(Input) <> 0do

begin

if Input[1] = ','then

begin

i := strtoint(s);

delete(Input, 1, 1);

result := result + s + ',';

s := '';

end

else

begin

if Input[1] = '-'then

begin

i := strtoint(s);

delete(Input, 1, 1);

t := pos(',', Input);

result := result + s + ',';

s := '';

if t = 0then

begin

j := strtoint(Input);

Input := '';

end

else

begin

j := strtoint(copy(Input, 1, t - 1));

delete(Input, 1, t);

end;

inc(i);

while i < j + 1do

begin

result := result + inttostr(i) + ',';

inc(i);

end;

end

else

begin

s := s + Input[1];

delete(Input, 1, 1);

end;

end;

end;

end

else

result := Input;

if s <> ''then

result := result + s;

end;

 

 

 

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

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

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

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


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