找回密码
 加入
搜索
查看: 1987|回复: 1

[效率算法] 文件,读取,和数组处理怏慢问题

  [复制链接]
发表于 2011-7-8 10:34:51 | 显示全部楼层 |阅读模式
本帖最后由 lusheng0028 于 2011-7-8 16:31 编辑

#include <file.au3>
#Include <Array.au3>

Dim $fwrite ;定义要存入的文件变量
Dim $file ,$aArray,$temp ,$i =2
Local $time=TimerInit()

$fwrite=FileOpen("e:\Function.sql",1) ;打开或创建新文件Function.sql
If @error Then             ;判断打开或创建新文件Function.sql是否失败
       MsgBox(0,"error","打开或创建新文件Function.sql失败")
   Else
   $file=FileOpenDialog("选择要读取的文本文件","","(*)") ;打开选择的文件Function.sql
   
   If @error Then              ;判断打开选择的文件是否失败
       MsgBox(0,"error","文件打开失败")
   Else
           _FileReadToArray($file,$aArray)
           ;删除总行数,避免排序出错
           _ArrayDelete($aArray,0)
         
                Local $rows = UBound($aArray)
                For $i = 1 To $rows-1
           $temp = StringRegExp($aArray[$i], '\bprompt\w*\b', 1) ; 检查字串是否符合给定的正则表达式\bprompt\w*\b
       
                    If  $temp==0 Then ;0(不匹配)
                                 _ArrayDelete($aArray,$i)
                EndIf
                Next  
                _FileWriteFromArray($fwrite,$aArray)
                FileFlush($fwrite) ;刷新文件缓冲器中的数据到磁盘.
            FileClose($file)  ;关闭选择文件
        FileClose($fwrite) ;关闭要写入的文件
               
        EndIf
EndIf
$G =TimerDiff($time)
MsgBox(0,"用时:" ,$G )
       


-----------------------------------------------------------------------------------------------
老报这个错:
$temp = StringRegExp($aArray[$i], '\bprompt\w*\b', 1)
$temp = StringRegExp(^ ERROR

------------------------------------
程序主做的是从一个文本删包函(prompt)字符的行,然后生成一个新的文件
发表于 2011-7-8 11:22:13 | 显示全部楼层
在_ArrayDelete($aArray,$i)这句的后面增加一句
$Row-=1试下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:23 , Processed in 0.072466 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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