qq3911909
发表于 2010-11-15 02:21:18
看的一头雾水
kn007
发表于 2010-11-15 06:25:50
官方给的不也一样吗?也很小,忘记多大了,只记得20m以下
binghc 发表于 2010-11-15 01:15 http://www.autoitx.com/images/common/back.gif
那你就下个汉化完整版试试
lchl0588
发表于 2010-11-15 08:43:30
不过通过帮助中得知:
@CR 回车符, Chr(13); 有时作为换行符使用.
@LF 换行符, Chr(10); 通常用于换行符.
@CRLF 等于 @CR & @LF;偶尔用于换行符.
多少还是有点区别,不过偶测试来看也没有出现你所说的:14行,偶也做了个录像,你看下:
偶用的版本是最新版本!
3131806
发表于 2010-11-15 09:12:47
嘿嘿,你想做小说采集啊!
binghc
发表于 2010-11-15 09:39:51
回复 27# afan
我这里测试怎么没有黑块,需要在哪里设置吗?
binghc
发表于 2010-11-15 10:13:24
本帖最后由 binghc 于 2010-11-15 10:26 编辑
现在版本已换到汉化最新版(版主所谓的汉化完整版)
经过测试,本人现在已经能回答26#的问题了(前面每两行之间都有一空行,最后两行却没有)
这些行是用:(?m)^.*
提取的,从图片可以看出这样提取出来的行本身就有问题,后面不知道是多了@CR@LF还是@CRLF(估计不会是它,不然txt中直接就能看出)
而提取的最后一行后面没有这三个符号中的任何一个,所以msgbox的时候就会出现前面每隔一行有一空行出现,而最后两行之间却没有空行
看来还是@CR@LF@CRLF这个三个看不见摸不着的字符在作怪,想要他们现身,只有通过非常手段了
所以既然已经找到问题出在哪里,我也在这里提供解决办法:就是Afan说的
实际应用中你不会将 '(?m)^.*' 改为 '\V+' 吗?
不过想要提取真正的数据,还需要再修改一下:
**** Hidden Message *****
这样就没问题了,有兴趣的朋友可以试试,不过要在代码中测试才能看见真正的结果
binghc
发表于 2010-11-15 11:10:58
本帖最后由 binghc 于 2010-11-15 11:14 编辑
现在还有一个问题没解决:
测试文件还是39#代码生成的result.txt
现在版本是换到了最新的汉化3.3.6.1
之前说的_FileCountLines读取文件行数错误的问题也解决了,表面上看是解决了:和肉眼能看到的行数一样,但是真的解决了吗?
请看:
现在_FileCountLines这个函数配合FileReadLine命令使用的
#include<file.au3>
$file='result.txt'
$count=_FileCountLines($file)
MsgBox(0,'','总行数:'&$count)
For $i=0 To $count-1
MsgBox(0,'','第'&$i+1&'行数据:'&@LF&'ssss'&FileReadLine($file,$i)&'fffff')
Next
这是返回结果:
这到底是_FileCountLines有问题还是FileReadLine有问题!!
lchl0588
发表于 2010-11-15 11:32:49
呵呵,这是我测试的结果,是用26#的代码
嘿嘿!!!!
lsqyx528
发表于 2010-11-15 11:42:19
很好,很强大,大家都很深入哦。。。
binghc
发表于 2010-11-15 11:51:10
回复 53# lchl0588
那现在就用39#生成的result文件作为测试文件试试看,现在要让这个result文件中出现什么都没有的空行,和只有空格组成的空行
蜘蛛抱蛋
发表于 2010-11-15 11:54:10
不稳定很正常,曾经不止一个网友提过label切换时偶尔会闪屏,这些小BUG应该会慢慢解决的。求稳定还是用编程语言吧
binghc
发表于 2010-11-15 12:37:26
本帖最后由 binghc 于 2010-11-15 12:39 编辑
好,那我现在再来分析一下52#说的怪事!
52#的测试文件result是由39#的代码生成的,现在来看看39#代码是怎么生成这个文件的,
39#代码本意是用正则提取a.txt和b.txt中的每行数据(注意:是每行,包括空白行),51#
分析过了,用(?m)^.*提取是有问题的,而39#楼的代码就是这么倒霉,刚好用的就是(?m)^.*
来提取数据。现在清楚了,问题的核心还是出在这个表达式上,因为这个表达式导致了一连串的
怪事发生!
既然现在找到问题所在了,那我们就按照51#给出的解决办法,改掉39#代码中的表达式。
修改运行后,肉眼看到的,生成的这个result文件和之前的一模一样,但实际上不一样:
现在来验证一下:
#include<file.au3>
$file='result.txt'
$count=_FileCountLines($file)
MsgBox(0,'','总行数:'&$count)
For $i=1 To $count
MsgBox(0,'','第'&$i&'行数据:'&@LF&'ssss'&FileReadLine($file,$i)&'fffff')
Next
结果一切正常!!
lchl0588
发表于 2010-11-15 12:49:48
回复 57# binghc
这是偶测试结果:
这是偶测试的所有文件
答案就在这里面,其实原因这帖里有人答过了,可能你没注意到一个地方!!!
haodd
发表于 2010-11-15 13:14:48
回复 38# binghc
谢谢
afan
发表于 2010-11-15 13:43:18
回复afan
我这里测试怎么没有黑块,需要在哪里设置吗?
binghc 发表于 2010-11-15 09:39 http://www.autoitx.com/images/common/back.gif
需使用默认字体,在@CR或@LF单独出现时(前后没有@LF或@CRLF),会以小黑块显示。
在Edit显示输出时,由于重新编辑过(后面加了@CRLF),因此不会显示小黑块,此时需使用列表显示输出,其会对任意的@CR、@LF、@CRLF以小黑块显示。请仔细阅读我发布的工具原帖。