Удаление, замена строк - VB

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

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

мне нужно удалить строку если длина строки < 2 и есть символ 
нашел в инете код (см ниже), работает, но очень долго ~6мин на 2Мб текстовом файле.
вопрос - можно ли както ускорить выполнение, если я точно знаю что символ  находится в предпоследней строке. в последней vbCrLf.
как быстро перейти на предпоследнюю строку проверить и если удовл условию удалить строку.
Dim fso, a, f, retstring, retstream
Const ForReading = 1, ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("d:\config.sys")
Set a = f.OpenAsTextStream(ForReading, False)
Do While a.AtEndOfStream <> True
retstring = a.ReadLine
If retstring Like "files*" Then
retstring = "fileshigh=200"
End If
retstream = retstream & retstring & vbCrLf
Loop
a.Close
Set a = f.OpenAsTextStream(ForWriting, False)
a.Write retstream
a.Close

Решение задачи: «Удаление, замена строк»

textual
Листинг программы
<font color="blue">Do</font> <font color="blue">While</font> a.AtEndOfStream <> True
        retstring = a.ReadLine
        <font color="blue">If</font> retstring Like <font color="teal">"files*"</font> <font color="blue">Then</font>
           retstring = <font color="teal">"fileshigh=200"</font>
        <font color="blue">End</font> <font color="blue">If</font>
<font color="blue">If</font> Len(retstring) = <font color="darkblue"><b>1</b></font> <font color="blue">And</font> Len(retstream) >= (f.Size - <font color="darkblue"><b>3</b></font>) <font color="blue">Then</font>
            <font color="blue">If</font> Asc(retstring) < <font color="darkblue"><b>32</b></font> <font color="blue">Then</font>
                kluch = True
            <font color="blue">End</font> <font color="blue">If</font>
        <font color="blue">End</font> <font color="blue">If</font>
        <font color="blue">If</font> kluch = False <font color="blue">Then</font>
            retstream = retstream & retstring & vbCrLf
        <font color="blue">End</font> <font color="blue">If</font>
    <font color="blue">Loop</font>

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


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

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

13   голосов , оценка 4.077 из 5