找回密码
 加入
搜索
查看: 1417|回复: 8

如何 在写入文本时指定行号?

[复制链接]
发表于 2009-4-3 16:45:03 | 显示全部楼层 |阅读模式
AUTOIT  在读取文本时, 可以指定行号。   但写入时如何指定行号,并覆盖原来的值?
(主要是想把程式中的部分变量值,保存到文本当中, 以便下次运行程式时调用)

[ 本帖最后由 dalesiu 于 2009-4-7 17:06 编辑 ]
 楼主| 发表于 2009-4-3 17:06:21 | 显示全部楼层

高手们, 给支支招啊, 小弟先谢了。

高手们, 给支支招啊, 小弟先谢了。
发表于 2009-4-3 17:30:37 | 显示全部楼层
文本文件中,一个换行和回车,代表一个行的结束。你可以以此来判断第几行。
发表于 2009-4-3 17:39:28 | 显示全部楼层
有很多方法可以实现 比如把文本文件要修改的行读出来 删除这一行 把修改后的文件插入这一行
也可以用以下UDF实现 都很简单
_FileReadToArray
_FileWriteFromArray
其实你说的那个文本文件用INI更好

[ 本帖最后由 大绯狼 于 2009-4-3 17:41 编辑 ]
 楼主| 发表于 2009-4-3 17:55:05 | 显示全部楼层

可否举例子

原帖由 大绯狼 于 2009-4-3 17:39 发表
有很多方法可以实现 比如把文本文件要修改的行读出来 删除这一行 把修改后的文件插入这一行
也可以用以下UDF实现 都很简单
_FileReadToArray
_FileWriteFromArray
其实你说的那个文本文件用INI更好


    可否举例子, 多多指教。
发表于 2009-4-5 14:09:40 | 显示全部楼层
非重复出现行的简单替换例子:

$STR = StringReplace(Fileread($File),'这里是需要替换的内容', '替换成想要的内容')
FileWrite($File, $STR)


如果文件有很多行时,用行号操作会费时一点
发表于 2009-4-5 20:32:05 | 显示全部楼层
UDF里有个
#Include <File.au3>
_FileWriteToLine($sFile, $iLine, $sText[, $fOverWrite = 0])

_FileWriteToLine("c:\test.txt", 3, "这里是第3行", 1) ;替换第3行

都没有注意还有这么个UDF函数.该结贴了吧
 楼主| 发表于 2009-4-7 17:00:27 | 显示全部楼层

问题解决

原帖由 akmm88 于 2009-4-5 20:32 发表
UDF里有个
#Include
_FileWriteToLine($sFile, $iLine, $sText[, $fOverWrite = 0])

_FileWriteToLine("c:\test.txt", 3, "这里是第3行", 1) ;替换第3行

都没有注意还有这么个UDF函数.该结贴了吧


   辛苦了,兄弟.    非常感谢.
 楼主| 发表于 2009-4-7 17:13:32 | 显示全部楼层

回复 6# liongodmien 的帖子

$file  是个变量, 在程式关闭后会丢失, 所以这个方法不能解决我的问题, 还是要谢谢你。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-6 08:15 , Processed in 0.073105 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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