[已解决]求教~只求一个语句,不知该如何写下去。
本帖最后由 haebong87 于 2011-7-13 20:37 编辑为节约大家时间,在楼主未修改之前请略过此贴
我在一个TXT文件里面,第一个Line 的第一个数字和第二个Line的第一个数字一样(以此类推,第三个的第一个数和第四个的第一个数)那么不运行下面的这些步骤。 不知所云 现在的人,语文真的是越来越差了
有谁能看懂他说的问题是什么? 不好意思,重新整理一下我要求助的内容。
首先TXT里面有好多Line,然后我想给line1 和 line2的第一个数字添加一个判定(后面Line2和Line4也是一样的)。
在Line1和2的第一个数字相同时那么下面的send(123)就不运行,跳过这个步骤。 看楼主的主贴以及跟帖都提到了“下面步骤”,不知在哪里? filereadline两次,分别赋值给不同的变量,然后比较stringleft(变量名,1)是不是一样,是这意思吧。 是不是这么个意思?
Dim $N=1
$file = FileOpen("XXX.txt")
While 1
$line = FileReadLine($file,$N)
If @error = -1 Then ExitLoop
If StringLeft($line,1) <> StringLeft(FileReadLine($file,$N+1),1) Then Send("123")
$N+=2
WEnd
本帖最后由 papapa314 于 2011-6-30 19:54 编辑
楼主说了两次还是不知所云,大伙都在猜意思,这都快成语文论坛了呵呵。莫非写程序需要逻辑,说话就不需要逻辑了吗? 应该是根据每行的字符串进行操作,怕操作重复对吧
如果真是这个意思解决方案我给你三个
1、先去重复行,这个论坛有现成代码,在操作,不用判断
2、不去重复行,每行的字符都读出来声明一下,判断下一行的字符是否声明,如果没有就运行
3、最笨的,把最后一次执行的字符定义一个变量,跟下一行的做比较,如果重复,不做操作,如果没有重 复,那么把新的一行赋值给这个变量,进行操作
如果不是上面的意思,真的是要只判断第一个字符的话那也简单
把当前行读出来用StringLeft返回第一个字符,跟下一行的第一个字符比较
命令参考:filereadline(line) StringLeft(str ,1) 楼主说的是火星语吗?大家都看不明白....{:face (52):} 看不明白{:face (197):} 我怎么这么笨。。看不懂。 不服老不行了,现在的年轻人都这么说话吗? 本帖最后由 haebong87 于 2011-7-1 11:41 编辑
= =; 我第二次发的也不明白什么意思么? 哎.. 看来我的语言表达能力太差了.
第一,Test.txt 这里面有很多Array,而且有很多Line
第二,要做到的Step是Line1和Line2的第一个Array(为数字)如果一致,那么下面的Step, Send(123)的步骤就跳过..补充一下 Send(123) 下面还有很多步骤大概有10多条.. 不光这一个.. 可以这样想,Send(123)这个步骤 * 10 。
第三,如果Line1和Line2的第一个Array不一致,那么进行Send(123)这个步骤. 以此类推,Line2和Line3,3和4,4和5,5和6~~~一直往后..都这样执行..
抱歉,我的语文是体育老师教的. 还有这么多Au友关注我的帖子,感到很荣幸..谢谢你们.. 回复 14# haebong87
Array是什么意思?英文吗?不好意思,没学过英文,还是说是数组的意思?Step同样有疑问,是步进值吗?Line1、Line2也不明白,是第一行第二行吗?
我想可能不是我语言老师的错,是我英语老师的错
页:
[1]
2