![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте, есть строка, например:
ljkhhuIUYyhiygYGY765877........................... ....................и т.д. Строка больше 500 символов. Как разделить её на строки по 10 символов. То есть чтобы получилось: ljkhhuIUYy hiygYGY765 877....... и т.д. Использую Delphi 7 Если есть возможность, дайте пожалуйста кусок кода. Заранее благодарю. |
|
#2
|
||||
|
||||
|
Заряжаете цикл на длину большой строки. Внутри цикла делаете счётчик символов для "коротких" строк. Счётчик переполнился - заново инициализируете его, а полученную строку сбрасываете, например, в Memo.
|
|
#3
|
|||
|
|||
|
Здпавствуйте Guaho, а нельзя ли Ваш ответ увидеть хотя бы в примере кода?
|
|
#4
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
I, J: Word;
Str, Tmp: String;
begin
Memo1.Clear; // очищаем поле для вывода
Str := Edit1.Text; // исходная строка
while Length(Str) > 10 do // пока длина исходной строки больше 10 символов
begin
Tmp := Copy(Str, 1, 10); // копируем во временную строку по 10 символов
Memo1.Lines.Add(Tmp); // выводим их в Memo
Delete(Str, 1, 10); // отрезаем от исходной строки 10 символов
end;
Memo1.Lines.Add(Str); // выводим остаток строки
end; |
| Этот пользователь сказал Спасибо Kailon за это полезное сообщение: | ||
Alex7 (08.04.2019)
| ||
|
#5
|
|||
|
|||
|
А зачем удалять? Если по 10 символов, то можно просто копировать:
Код:
var
S : String;
I : Integer;
begin
S := Edit1.Text; // source value
Memo1.Libnes.Clear; // clear output
For I := 0 To (Length(S) div 10) Do
MEmo1.Lines.Add(Copy(S,I*10+1,10);
end; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Alex7 (08.04.2019)
| ||