Деление строки не несколько строк, указанной длины
Автор: Сергей
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Делит строку аStr на три строки St1,St2,St3 длиной Long1,Long2,Long3
Делит строку аStr на три строки St1,St2,St3 длиной Long1,Long2,Long3
соответственно или меньше в зависимости от длины исходной строки.
Зависимости: ???
Автор: Сергей, nfkazak@inbox.ru, Краснодар
Copyright: VIP BANK
Дата: 11 сентября 2002 г.
***************************************************** }
procedure DivPart(aStr: string; var St1, St2, St3: string; Long1, Long2, Long3:
byte);
var
i, pos, Long: byte;
begin
St1 := '';
St2 := '';
St3 := '';
aStr := Trim(aStr);
Long := Length(aStr);
if Long <= Long1 then
begin
St1 := aStr;
Exit
end;
Pos := Long1;
for i := 1 to Long1 + 1 do
if aStr[i] = ' ' then
Pos := i;
St1 := TrimRight(Copy(aStr, 1, Pos));
Delete(aStr, 1, Pos);
aStr := TrimLeft(aStr);
Long := Length(aStr);
if Long <= Long2 then
begin
St2 := aStr;
Exit
end;
Pos := Long2;
for i := 1 to Long2 + 1 do
if aStr[i] = ' ' then
Pos := i;
St2 := TrimRight(Copy(aStr, 1, Pos));
St3 := Trim(Copy(aStr, Pos + 1, Long3))
end;
|