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;
|
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!