Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата NewOLDi:
Представьте, что файл размером в 1 Гб »
Но без построчного чтения с начала всё ровно не обойтись:

Код: Выделить весь код
$sFile = @DesktopDir & "\File.txt"
$sInStr = "Some Data"

$hFile = FileOpen($sFile, 0)

While 1
    $sLine = FileReadLine($hFile)
    If @error <> 0 Then ExitLoop

    If StringRegExp($sLine, "(?i)^[^;].*" & $sInStr & ".*$") Then
        $iPos = FileGetPos($hFile) - StringLen($sLine) - StringLen(@CRLF)
        FileClose($hFile)

        $hFile = FileOpen($sFile, 1)
        FileSetPos($hFile, $iPos, 0) ;$FILE_BEGIN
        FileWrite($hFile, ";" & $sLine)
        ExitLoop
    EndIf
WEnd

FileClose($hFile)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:43, 28-01-2010 | #8