找回密码
 加入
搜索
查看: 2204|回复: 1

[效率算法] au3 3.3.11 _FileWriteToLine 函数无效

[复制链接]
发表于 2014-5-22 01:04:50 | 显示全部楼层 |阅读模式
发现au3 3.3.11 版本 _FileWriteToLine 函数无效, 覆盖老版本的file.au3  函数  _FileWriteToLine  立马可以使用。 算不算是BUG?
 楼主| 发表于 2014-5-22 01:09:38 | 显示全部楼层
Func _FileWriteToLine($sFile, $iLine, $sText, $fOverWrite = 0)
        If $iLine <= 0 Then Return SetError(4, 0, 0)
    If Not IsString($sText) Then
        $sText = String($sText)
        If $sText = "" Then Return SetError(6, 0, 0)
    EndIf
        If $fOverWrite <> 0 And $fOverWrite <> 1 Then Return SetError(5, 0, 0)
        If Not FileExists($sFile) Then Return SetError(2, 0, 0)

        Local $sRead_File = FileRead($sFile)
        Local $aSplit_File = StringSplit(StringStripCR($sRead_File), @LF)
        If UBound($aSplit_File) < $iLine Then Return SetError(1, 0, 0)
        Local $hFile = FileOpen($sFile, $FO_OVERWRITE)
        If $hFile = -1 Then Return SetError(3, 0, 0)

        $sRead_File = ""

        For $i = 1 To $aSplit_File[0]
                If $i = $iLine Then
                        If $fOverWrite = 1 Then
                                If $sText <> '' Then $sRead_File &= $sText & @CRLF
                        Else
                                $sRead_File &= $sText & @CRLF & $aSplit_File[$i] & @CRLF
                        EndIf
                ElseIf $i < $aSplit_File[0] Then
                        $sRead_File &= $aSplit_File[$i] & @CRLF
                ElseIf $i = $aSplit_File[0] Then
                        $sRead_File &= $aSplit_File[$i]
                EndIf
        Next

        FileWrite($hFile, $sRead_File)
        FileClose($hFile)

        Return 1
EndFunc   ;==>_FileWriteToLine

将上述替换 file.au3    解决问题,  算不算是bug呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 21:52 , Processed in 0.079280 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表