找回密码
 加入
搜索
查看: 1492|回复: 9

修改文本问题。。。在线等····

  [复制链接]
发表于 2010-1-27 19:36:45 | 显示全部楼层 |阅读模式
本帖最后由 skywhy 于 2010-1-27 21:30 编辑

我有一个txt的文件
文件名:a.txt
文件的内容如下:
a,1,3213,6465
b,2,6546,3464
c,3,4664,3216
d,4,4543,3154


我有个输入框根据a,b,c,d这几个是值查找来修改后面的值。
比如说:我要修改b行的6546改成6666,其他的内容都不要修改。

麻烦高手解答····
发表于 2010-1-27 20:06:30 | 显示全部楼层
一个思路:读取整个文件的内容,使用正则StringRegExpReplace替换之,替换文件内容保存
第二个思路:循环读取文件每一行,每行检测直到目标行修改之,把每行内容按顺序合并,写文件保存
 楼主| 发表于 2010-1-27 20:13:13 | 显示全部楼层
$list = FileOpen("D:\a.txt",02)
If $list = -1 Then
      MsgBox(0, "错误", "不能打开文件.")
Exit
EndIf
$linehao = 0
While 1
    $linehao = $linehao + 1
    $line = FileReadLine($list)
    If @error = -1 Then ExitLoop
   $linet=StringSplit($line,",")       
if $jihao = $linet[1] and $cardid = $linet[2] Then
   $linetiem = StringSplit($linet[5],":")
if $linetiem[1] = 0 then
                                                               
   MsgBox(0, "错误", "不能偷取该好友果实!")
Else

  $linem = $linet[4] - $m
  $linetiemt =$linetiem[1] - $time
   _FileWriteToLine("D:\a.txt", $linehao, $linet[1]&","&$linet[2]&","&$linet[3]&","&$linem&","&$linetiemt&":"&$linetiem[2], 1)
EndIf
Else
   MsgBox(0,"错误","qq好友对比失败。")
EndIf
                                               
Wend


这是我这段代码 运行后是a.txt里面的全不在了 ···
发表于 2010-1-27 20:16:50 | 显示全部楼层
本帖最后由 llztt 于 2010-1-27 20:23 编辑

代码中$m $time干嘛的,前面声明了?


不能偷取该好友果实
哈哈,帅啊。。做好了共享下啊,我要偷偷偷
 楼主| 发表于 2010-1-27 20:26:54 | 显示全部楼层
前面定义了的,这个还在测试中。写完了给你。这两个相当于a.txt中的a和1
要查询了这想个变量相等才能够修改后面的值。
运行后a.txt中的内容全部都没有了
发表于 2010-1-27 20:39:44 | 显示全部楼层
问题在这里FileOpen("c:\a.txt",2)
一运行,就清空文件内容了
 楼主| 发表于 2010-1-27 20:40:41 | 显示全部楼层
那应该用什么方式打开???
 楼主| 发表于 2010-1-27 20:41:59 | 显示全部楼层
知道了 查了帮助文件  谢谢你了
不好意思  记错了
基础不过关啊 继续测试
发表于 2010-1-27 20:43:15 | 显示全部楼层
本帖最后由 llztt 于 2010-1-27 21:33 编辑

FILEOPEN  
  0 = 只读模式(默认)
  1 = 写入模式(附加数据到文件尾部)
  2 = 写入模式(先删除之前的内容)

如果你非要一边读一边写的话,还是用只读模式打开a.txt同时写数据到b.txt,然后关闭a.txt文件句柄,再让b.txt替换a.txt
如果替换就一行的话,也可以只读打开a.txt,循环检测每行找到目标行,记住行号和行内容,跳出循环,关闭文件句柄,然后filewriteline之

因为你的文件内容很有规律,建议你用正则,读取一次文件,修改、替换、保存,简洁高效。。。
 楼主| 发表于 2010-1-27 21:24:30 | 显示全部楼层
麻烦你了····一言点醒·····
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-7-1 11:37 , Processed in 0.071105 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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