cashiba 发表于 2018-5-2 20:42:29

_FileWriteToLine怎么用?[已解决]

本帖最后由 cashiba 于 2018-5-2 23:38 编辑

#include <File.au3>

$sText = _
'你说你喜欢雨,' & @CRLF & _
'但是下雨的时候你却撑开了伞;' & @CRLF & _
'你说你喜欢阳光,' & @CRLF & _
'但当阳光播撒的时候,' & @CRLF & _
'你却躲在阴凉之地;' & @CRLF & _
'你说你喜欢风,' & @CRLF & _
'但清风扑面的时候,' & @CRLF & _
'你却关上了窗户.' & @CRLF & _
'我害怕你对我也是如此之爱.' & @CRLF & _
''
$file = FileSaveDialog('保存文件..', '', 'Text Files (*.txt)|All Files (*.*)')
If $file = '' Then Exit
_FileCreate($file)
If _FileWriteToLine($file, 1, $sText, 1) = 1 Then
      MsgBox(32,"", '成功创建文件!')
Else
      MsgBox(16,"", '未能创建文件!' & @CRLF & "原因为:" & @error & @CRLF & _
      '1 - 文件行数小于 $iLine 参数值' & @CRLF & _
      "函数语法:_FileWriteToLine($sFilePath,$iLine,$sText[,$bOverWrite = False])")
EndIf如上......会出错....

131738 发表于 2018-5-2 21:44:15

不明白为何要这样使用 _FileWriteToLine, 并且你明白 _FileWriteToLine 失败的原因(20 - 22行)

换个函数不行吗....#include <File.au3>

$sText = _
'你说你喜欢雨,' & @CRLF & _
'但是下雨的时候你却撑开了伞;' & @CRLF & _
'你说你喜欢阳光,' & @CRLF & _
'但当阳光播撒的时候,' & @CRLF & _
'你却躲在阴凉之地;' & @CRLF & _
'你说你喜欢风,' & @CRLF & _
'但清风扑面的时候,' & @CRLF & _
'你却关上了窗户.' & @CRLF & _
'我害怕你对我也是如此之爱.' & @CRLF & _
''
$file = FileSaveDialog('保存文件..', '', 'Text Files (*.txt)|All Files (*.*)')
If $file = '' Then Exit
_FileCreate($file)
FileWriteLine($file, $sText)

131738 发表于 2018-5-2 22:02:58

或者你事先创建一个至少 10 个空行的文件,并且注释 16 行......

cashiba 发表于 2018-5-2 23:11:36

本帖最后由 cashiba 于 2018-5-2 23:14 编辑

或者你事先创建一个至少 10 个空行的文件,并且注释 16 行......
131738 发表于 2018-5-2 22:02 http://www.autoit3.cn/images/common/back.gif
源码来自于:http://www.autoit3.cn/forum.php?mod=viewthread&tid=2955
也是转自于官方论坛。
Filewriteline用起来倒是没有问题
就是对这个_FileWriteToLine自定义函数不熟悉,不知道有什么用处,好像优点在于可以某行覆盖或插入?
不过感觉不太好用,连官方的源码都运行有误.....Func _ExportList()
$AllItems = _GetListItems($ListView1)
$file = FileSaveDialog('Save the tasks..', '', 'Text Files (*.txt)|All Files (*.*)')
if $file = '' then Return -1
_FileCreate($file)
if _FileWriteToLine($file, 1, $AllItems, 1) = 1 then
msgbox(32, $Title, 'Succesfully created task file..'&@CRLF&'Path: '&$file)
Else
msgbox(16, $Title, 'Error creating task file..'&@CRLF&'Path: '&$file)
EndIf
EndFunc所以单独测试一下这个函数....

cashiba 发表于 2018-5-2 23:30:49

感谢老大.....
{:face (332):}
页: [1]
查看完整版本: _FileWriteToLine怎么用?[已解决]