Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
WrapText
Функция
Добавьте перенос строки в строку, чтобы имитировать перенос слов SysUtils unit
  
1 function WrapText ( const SourceString {, MaxColumnSize : Integer = 45} ) : string;

2 function WrapText ( const SourceString, BreakString : string; BreakSet : TSysCharSet; MaxColumnSize : Integer ) : string;
Описание
Функция WrapText эффективно разбивает строку текста SourceString на множественные строки в возвращаемой строке.

На самом деле, она просто вставляет концы строк в возвращаемую строку, так, чтобы отобразить строку как множество строк.

Версия 1

Является самой простой версией, позволяя вставлять заданную по умолчанию подстроку конца строки после каждого набора слов равного MaxColumnSize символам. Если максимальный размер столбца опущен, то принимается значение по умолчанию - 45.

Версия 2

Позволяет вставить символ конца строки (BreakString) после символа-прерывателя входящего в BreakSet, прежде чем достигнут MaxColumnSize.

Если ни один не найден, то BreakString все равно вставляется. В обоих случаях, слова сохраняются целыми.
Похожие команды
Concat  Соединяет несколько строк в одну

Copy  Создает копию части строки или части массива

Delete  Удаляет часть символов из строки

Insert  Вставляет строку в другую строку

Move  Копирует байты данных из источника в место назначения

StringOfChar  Создает строку из одного символа, повторенного много раз

StringReplace  Заменяет одну или несколько подстрок, найденных в заданной строке

 
Пример кода : Иллюстрация простой версии
var
  before, after : string;

begin
  // Установка длинной строки
  before := 'Это весьма длинная строка, длинной не менее 50 символов';

  // Её разбиение на множество строк, каждая длинной по 10 символов
  after := WrapText(before, 10);

  // Показ строк before и after
  ShowMessage(before);
  ShowMessage('');
  ShowMessage(after);
end;
Это весьма длинная строка, длинной не менее 50 символов

Это весьма
длинная
строка,
длинной
не менее
50
символов
 
Пример кода : Перенос по словам специальным символом управления
var
  before, after : string;

begin
  // Установка длинной строки
  before := 'Десять = 10. Одиннадцать = 11. Сто = 100.';

  // Её разбиение на множество строк, заканчивающиеся точкой
  after := WrapText(before, #13#10, ['.'], 1);

  // Показ строк before и after
  ShowMessage(before);
  ShowMessage('');
  ShowMessage(after);
end;
Десять = 10. Одиннадцать = 11. Сто = 100.

Десять = 10.
Одиннадцать = 11.
Сто = 100.
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия