Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Форматирование текста по словам


Автор: Blaksa 2.6.2016, 15:31
Задача: печатать длинную строку в ограниченном поле. Типа сумма прописью с ограничением в 40 знаков.
Решается просто.
Код

t$ = SummaString_Val(Number)
Do
  x$ = left$(t$, 40)
  t$ = Mid$(t$, 41)
  print #6, x$
Loop While Len(t$) > 0

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

Кто сталкивался с подобным? Поможете?
 smile 

Автор: Akina 2.6.2016, 15:47
Формально - в общем случае ничего не поможет.
Например, в озвученных условиях в подлежащей делению строке может встретиться слово длиннее 40 символов. Или там подряд три слова такие, что второе плюс любое крайнее - более 40 символов с учётом пробела.

Опять же с формальной точки зрения - красота тут самое последнее дело. Дели как написАл кодом, только на каждом шаге итерации тримай переменную, чтобы пробелов-лидеров не было.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)