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