Разместите нашу кнопку!

Новые статьи:

Programming articles

Создание сайтов на шаблонах

Множество вариантов работы с графикой на канве

Шифруем файл с помощью другого файла

Перехват API функций - Основы

Как сделать действительно хороший сайт

Создание почтового клиента в Delphi 7

Применение паскаля для решения геометрических задач

Управление windows с помощью Delphi

Создание wap сайта

Операционная система unix, термины и понятия

SQL враг или друг

Возникновение и первая редакция ОС UNIX

Оптимизация проекта в Delphi

Ресурсы, зачем нужны ресурсы

Термины программистов 20 века

Советы по созданию собственного сайта с нуля

Шифруем файл с помощью пароля

Фракталы - геометрия природы

Crypt - Delphi программа для шифрования

Рассылка, зачем она нужна и как ее организовать?

Учебник по C++ для начинающих программистов

Уроки для изучения ассемблера

Загадочный тип PCHAR

Средства по созданию сайтов

Операторы преобразования классов is и as

Borland Developer studio 2006. Всё в одном

Создание базы данных в Delphi, без сторонних БД


Software engineering articles



WrapText

Добавляет символы переноса строки в заданную строку для имитации - многострочного текста

Описание:

    Процедура WrapText разделяет строку текста SourceString наиболее лучшим образом на несколько строк, передаваемых в качестве результата.

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

     Вариант 1

     В простейшем случае, стандартные символы обрыва строки (#13#10 - Возврат каретки + перенос строки) вставляются после каждой последовательности слов, встреченных в исходной строке и умещающихся в MaxColumnSize символов.

     Если максимальный размер колонки опущен, он принимается равным 45.

     Вариант 2

     Вставляет символы обрыва строки BreakString после встреченных символов из набора BreakSet, до тех пор, пока не будет достигнут MaxColumnSize.

     Если символы не были найдены, в любом случае вставляется BreakString.

     В обоих случаях слова сохраняются целыми и никогда не переносятся на следующие строки.

Пример кода:

var
   before, after : string;

begin
   // Set up a long string
   before := 'This is quite a long string, at least 50 chars long';

   // Split it into multiple lines, each 10 characters long
   after := WrapText(before, 10);

   // Show the before and after strings
   ShowMessage(before);
   ShowMessage('');
   ShowMessage(after);
end;

Результат выполнения:

This is quite a long string, at least 50 chars long

This is
quite a
long
string,
at least
50 chars
long

Пример кода:

var
   before, after : string;

begin
   // Set up a long string
   before := 'Ten = 10. Eleven = 11. One hundred = 100.';

   // Split it into multiple lines, terminated by a dot
   after := WrapText(before, #13#10, ['.'], 1);

   // Show the before and after strings
   ShowMessage(before);
   ShowMessage('');
   ShowMessage(after);
end;

Результат выполнения:

Ten = 10. Eleven = 11. One hundred = 100.

Ten = 10.
Eleven = 11.
One hundred = 100.