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

[AU3基础] [已解决]如何从TXT文本中顺序读取数据并写入另外一个文件?

  [复制链接]
发表于 2010-8-30 14:00:26 | 显示全部楼层 |阅读模式
本帖最后由 222222 于 2010-9-2 15:16 编辑

现有一个文本文件,文件名为  成绩.txt  。
内容为:
张学文 80
李国 78
马力 91
夏成 88
王国涛 76
张振东 68
赵飞 90
关心 76
钱鹏飞 89
刘茜 55
李军武 69

备注:每行姓名与分数中间的间隔为1个半角空格。

请教高手:如何从这个文件中读取第一个人的姓名,写入已打开的另外一个网页的A表单,然后读取第一个人的成绩数,写入网页的B表单,再点击网页上的确定。 完成后再按上面的步骤依次读取第二行、第三行?

初学Auoit,搜索了论坛和电子书,好像没有发现类似的例子……

现在正在下载Autoitscript5.1,还不知道能不能找到借鉴。
发表于 2010-8-30 14:16:12 | 显示全部楼层
方法很多
你这样笼统的说,又没有自己的代码
只能随便说个思路给你了

1.数据处理部分
使用正则将文本进行处理,逐行选取空格前的内容为名称
参考语句如下,内容保存在数组$s中
$s = StringRegExp($str,"(.+) .+",3)
再使用正则选取空格后的内容为成绩
参考语句,内容保存在数组$t中
$t = StringRegExp($str,".+ (.+)",3)
2.网页填写部分
打开网址,指向表单,填入内容,提交

评分

参与人数 1金钱 +10 收起 理由
222222 + 10

查看全部评分

发表于 2010-8-30 14:18:42 | 显示全部楼层
$file = FileOpen("test.txt", 0)

; 检查打开的文件是否可读
If $file = -1 Then
    MsgBox(0, "错误", "不能打开文件.")
    Exit
EndIf

; 每次读取一行文本,直到文件结束.
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
   $array = StringSplit($line, ' ', 1)

;写入表单
Wend

FileClose($file)

评分

参与人数 2金钱 +30 收起 理由
222222 + 20 十分感谢!
Ziya + 10 思维局限,忘记stringsplit了...感谢

查看全部评分

发表于 2010-8-30 14:26:45 | 显示全部楼层
一:用二楼的方法把数据转成二维数组,方便后续工作。 二:提交表单部分最好用post,省时省力少错误。

评分

参与人数 1金钱 +10 收起 理由
222222 + 10 谢谢了

查看全部评分

发表于 2010-8-30 14:28:41 | 显示全部楼层
stringregext($str,'([^\x00-\xff]*)\h(\d+)',3)

评分

参与人数 1金钱 +10 收起 理由
222222 + 10 谢谢!

查看全部评分

发表于 2010-8-30 14:56:25 | 显示全部楼层
还是正则好啊
发表于 2010-8-30 17:08:24 | 显示全部楼层
谢谢楼主的提问,又学习到新的东西了
发表于 2010-8-30 17:53:35 | 显示全部楼层
回复 5# 3mile


    不错。。学习了
 楼主| 发表于 2010-8-30 21:48:29 | 显示全部楼层
谢谢各位的热情解答,让我真切的感觉到俺们论坛的良好风气。

另:回复8楼
不用感谢我的提问,要谢的,是楼上慷慨解答的各位。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-3 10:38 , Processed in 0.161187 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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