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

[AU3基础] [已解决]請問filewriteline這個函數如何寫入文字到指定行數

[复制链接]
发表于 2016-12-20 08:20:29 | 显示全部楼层 |阅读模式
本帖最后由 ipmitool 于 2016-12-20 18:42 编辑

請問如何寫入$serial的字串到testconfig.ini的第5行, 也就是指定行數來做寫入
                $testconfig =FileOpen("testconfig.ini", 2)

                        $serial=InputBox ("Input serial number" , "Please input system serial number: "   & @CRLF _
                                                 & @CRLF _
                         &"Example: XXPFGGSHK01-001" ,"","")

                FileWriteLine($testconfig,$serial)
发表于 2016-12-20 11:54:38 | 显示全部楼层
帮助里找_FileWriteToLine,如果写不上可以用下面那个,这是论坛里前辈修改过的,自带的可能有点问题
Func _FileWriteToLine($sFilePath, $iLine, $sText, $bOverWrite = False)
        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 $bOverWrite = Default Then $bOverWrite = False
        If Not (IsBool($bOverWrite) Or $bOverWrite = 0 Or $bOverWrite = 1) Then Return SetError(5, 0, 0) ; For old versions.
        If Not FileExists($sFilePath) Then Return SetError(2, 0, 0)

        Local $aArray = FileReadToArray($sFilePath)
        Local $iUBound = UBound($aArray) - 1
        If ($iUBound + 1) < $iLine Then Return SetError(1, 0, 0)

        Local $hFileOpen = FileOpen($sFilePath, FileGetEncoding($sFilePath) + $FO_OVERWRITE)
        If $hFileOpen = -1 Then Return SetError(3, 0, 0)

        Local $sData = ""
        $iLine -= 1 ; Now the array is 0-based, so reduce the line number by 1.
        For $i = 0 To $iUBound
                If $i = $iLine Then
                        If $bOverWrite Then
                                If $sText Then $sData &= $sText & @CRLF
                        Else
                                $sData &= $sText & @CRLF & $aArray[$i] & @CRLF
                        EndIf
                ElseIf $i < $iUBound Then
                        $sData &= $aArray[$i] & @CRLF
                ElseIf $i = $iUBound Then
                        $sData &= $aArray[$i]
                EndIf
        Next

        FileWrite($hFileOpen, $sData)
        FileClose($hFileOpen)
        Return 1
EndFunc   ;==>_FileWriteToLine
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-22 02:07 , Processed in 0.079109 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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