Добавление в текст символов переноса строки - VB

Узнай цену своей работы

Формулировка задачи:

Задача состоит в следующем, существует текст произвольной длины, в нём произвольно расставлены символы переноса строки (DLE). Необходимо сделать так чтобы программка добавила в текст символы переноса текста на следующую строку, не трогая существующие, таким образом чтобы строка не превышала 52 символа, символы переноса строки устанавливались только на позицию пробела, несколько символов переноса строки не могут стоять подряд. В кодировке ASCii символ переноса строки DLE=Char(16).

Решение задачи: «Добавление в текст символов переноса строки»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.     Dim s, st, tmp As String, i As Long, j As Long
  5.     Const v As String = vbCrLf 'Chr(16)
  6.    Const n As Integer = 52
  7.     Open App.Path & "\1.txt" For Input As #1
  8.           st = Input(LOF(1), 1)
  9.     Close #1
  10.     st = Split(st, v)        'Разбиваем текст на строки
  11.    For i = 0 To UBound(st)  '
  12.      If Len(st(i)) > n Then 'Если длина строки больше необходимой, то
  13.            s = Split(st(i)) 'Разбиваем строку на слова
  14.            tmp = s(0)       'В переменную tmp записываем первое слово строки
  15.            For j = 1 To UBound(s)
  16.                 If Len(tmp & " " & s(j)) > n Then  ' Если длина tmp с учетом следующего слова больше необходимой, то
  17.                   st(i) = Replace(st(i), tmp, tmp & v, 1, 1) 'добавляем в нашу строку символ перевода строки
  18.                   tmp = s(j)    'В переменную tmp записываем очередное слово строки
  19.                Else
  20.                    tmp = tmp & " " & s(j) 'Иначе добавляем к tmp  очередное слово
  21.                End If
  22.             Next j
  23.        End If
  24.     Next i
  25.     Open App.Path & "\2.txt" For Output As #1
  26.           Print #1, Join(st, v)
  27.     Close #1
  28. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы