![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Подскажите что неправильно!? Мне надо строку символов разместить в N кол-во элементов массива. Каждый элемент массива это строка из 6 символов. Сначала я определяю, какой размер должен иметь массив, потом заполняю его символами, если в последнем элементе не хватает символов до 6, то я добавляю их динамически (в примере это «=»). Вот тут то и ошибка! Хочу протестировать работу программы и вывести последний элемент массива, а он оказывается совсем не таким как надо было!
Код:
var
T: String;
A: array of String[6];
k, l, i, j: Byte;
T := LE_Source.Text;
// Определение размера массива
l := Length(T) div 6;
if Length(T) mod 6 = 0
then SetLength(A,l)
else
begin
l := l + 1;
SetLength(A,l);
for k := 1 to (6 - (Length(T) mod 6)) do A[l] := A[l] + '=';
end;
i := 1;
j := 6;
// Заполнение элементов массива
for k := 1 to l do
begin
A[k] := Copy(T,i,j);
i := i + 6;
j := j + 6;
end;
LE_Result.Text := A[l]; |
|
#2
|
||||
|
||||
|
Код:
var
s: String;
a: array of String[6];
i: Integer;
begin
s:=LE_Source.Text;
while (Length(s) mod 6)<>0 do s:=s+'=';
SetLength(a, Length(s) div 6);
for i:=0 to Length(a)-1 do
a[i]:=Copy(s, i*6, 6);
LE_Result.Text:=a[Length(a)-1];
end; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Пионер (26.03.2012)
| ||