Добавление в текст символов переноса строки - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д