|
|
Регистрация | << Правила форума >> | 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)
|