Удаление определённого количества символов каждой строки в текстовом файле - VB
Формулировка задачи:
Добрый вечер Уважаемые Гуру!
Задача:
Есть txt файл.
Нужно удалить определённое количество символов в каждой строке.
Пример:
txt файл содержит
Нужно удалить только 6 символов (пробел это тоже символ) каждой строки
Получится так:
аваппаапаапавааапв
корпорации Стив Баллмер.
Новые сообщения [разделы
> Компьютерный форум >
апаапавааапв
ации Стив Баллмер.
сообщения [разделы
ьютерный форум >
____________________________
Желательно что бы количество символов можно было задать опционально, хоть 128=) П.С, количество строк не известно, в общем что бы скрипт работал до конца файла - до последней строки. СпасибоРешение задачи: «Удаление определённого количества символов каждой строки в текстовом файле»
textual
Листинг программы
- Option Explicit
- Sub Main()
- Dim VarByte, SrcFile$, outFile$, n&, sz&, C&, nC&, WRpos&
- 'Скрипт удаления "C"-го кол-ва символов слева в каждой строке
- 'текстовых файлов с кодировкой Unicode
- C = 1
- 'Настроен на кодировку UCS-2 Little Endian (начальные байты &HFF &HFE)
- 'Исходный файл
- SrcFile = "z:\1\Bash\Xinix\1.txt"
- 'Результирующий (могут совпадать)
- outFile = "z:\1\Bash\Xinix\ret.txt"
- With CreateObject("ADODB.Stream")
- .Type = 1 'adTypeBinary
- .Open
- .LoadFromFile (SrcFile)
- sz = .Size
- VarByte = .Read(sz)
- .Close
- 'Защита от неизвестного типа кодировки
- If VarByte(0) <> 255 Or VarByte(1) <> 254 Then
- If MsgBox("Кодировка файла отличается. Продолжаем?", vbYesNo) = vbNo Then Exit Sub
- End If
- WRpos = 2
- nC = C
- For n = 2 To sz - 1 Step 2
- If nC = 0 Then
- VarByte(WRpos) = VarByte(n)
- VarByte(WRpos + 1) = VarByte(n + 1)
- WRpos = WRpos + 2
- ElseIf VarByte(n) = 13 Then
- VarByte(WRpos) = 13
- VarByte(WRpos + 1) = 0
- VarByte(WRpos + 2) = 10
- VarByte(WRpos + 3) = 0
- WRpos = WRpos + 4
- n = n + 2
- nC = C
- Else
- nC = nC - 1
- End If
- If VarByte(n) = 10 Then nC = C
- Next n
- ReDim Preserve VarByte(WRpos - 1)
- .Open
- .Write VarByte
- .SaveTofile outFile, 2 '2 - перезаписать, если существует
- .Close
- End With
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д