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

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

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

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

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

textual
Листинг программы
Option Explicit
 
Private Sub Command1_Click()
    Dim s, st, tmp As String, i As Long, j As Long
    Const v As String = vbCrLf 'Chr(16)
    Const n As Integer = 52
    Open App.Path & "\1.txt" For Input As #1
          st = Input(LOF(1), 1)
    Close #1
    st = Split(st, v)        'Разбиваем текст на строки
    For i = 0 To UBound(st)  '
      If Len(st(i)) > n Then 'Если длина строки больше необходимой, то
            s = Split(st(i)) 'Разбиваем строку на слова
            tmp = s(0)       'В переменную tmp записываем первое слово строки
            For j = 1 To UBound(s)
                If Len(tmp & " " & s(j)) > n Then  ' Если длина tmp с учетом следующего слова больше необходимой, то
                   st(i) = Replace(st(i), tmp, tmp & v, 1, 1) 'добавляем в нашу строку символ перевода строки
                   tmp = s(j)    'В переменную tmp записываем очередное слово строки
                Else
                   tmp = tmp & " " & s(j) 'Иначе добавляем к tmp  очередное слово
                End If
            Next j
       End If
    Next i
    Open App.Path & "\2.txt" For Output As #1
          Print #1, Join(st, v)
    Close #1
End Sub

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


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

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

6   голосов , оценка 4 из 5
Похожие ответы