Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Замена кусков текста в выделенных файлах 
Author Message
Andrey_A



PostPosted: Sat Nov 03, 2012 12:39    Post subject: Reply with quote

Loopback, в твоём скрипте (и в других тоже) используется функция

Code:
Func _TCHLoadFileList($sFileName)
    Local $asList[1] = [0]
    Local $hfList = FileOpen($sFileName, 0)
    While 1
        $sLine = FileReadLine($hfList)
        If @error Then Exitloop
        ReDim $asList[UBound($asList)+1]
        $asList[UBound($asList)-1] = $sLine
    Wend
    FileClose($hfList)
    $asList[0] = UBound($asList)-1
    Return $asList
EndFunc


при большом количестве файлов она работает очень медленно, недавно разбирая эту проблему, нашёл другой вариант - работает почти моментально

Code:
Func _TCHLoadFileList($sFileName)
  Return StringRegExp(FileRead($sFileName), "(?m)^([^\r\n]*)", 3)
EndFunc


единственное цикл обработки надо начинать с 0
и использовать UBound для размера массива
View user's profile Send private message Send e-mail Visit poster's website ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group