找回密码
 加入
搜索
查看: 3385|回复: 6

[系统综合] 【已解决】正则返回数组异常处理问题

  [复制链接]
发表于 2010-10-27 11:35:47 | 显示全部楼层 |阅读模式
本帖最后由 touch_xu 于 2010-11-6 00:54 编辑
$_IDReadLineOne = FileReadLine(xtC:\Flextest\mainmenu.cfg\Station_ID.txt, 1)
$_StationNO=StringRegExp($_IDReadLineOne, "\d{1,3}", 1)
msgbox(0,0,$_StationNO[0])
Station_ID.txt第一行是Color 52 相关内容
问题是如果存在msgbox()能提示2,但是如果Station_ID.txt不存在,就是错误什么无效数组,
请求大家如何解决的,谢谢

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-27 11:50:22 | 显示全部楼层
文件不存在的时候,FileReadLine肯定失效呀,这样得到的应该不是数组,简单数据模型不预先区分变量类型
应该在执行这些之前检测文件存在与否
发表于 2010-10-27 12:12:57 | 显示全部楼层
第3行 If Not @Error Then MsgBox(0, 0, $_StationNO[0])
发表于 2010-10-27 14:04:35 | 显示全部楼层
写程序要考虑很多很多..比方这个,,你就要判断..如果文件不存在时..文件为空时.要怎么处理..
一般我都会这样写
$__File = "C:\Flextest\mainmenu.cfg\Station_ID.txt"
If FileExists($__File) Then
        $_IDReadLineOne = FileReadLine($__File, 1)
        If $_IDReadLineOne Then
                $_StationNO = StringRegExp($_IDReadLineOne, "\d{1,3}", 1)
                If Not @Error Then MsgBox(0, 0, $_StationNO[0])
        Else
                MsgBox(0, $__File &" 文件第1行", "为空")
    EndIf
       
Else
    MsgBox(0, $__File &" 文件", "不存在")
EndIf
发表于 2010-10-28 16:46:50 | 显示全部楼层
呵呵 4楼正解。。
发表于 2010-10-28 19:17:51 | 显示全部楼层
4楼正解,一般都要考虑到多方面的....等于怎么办,不等于怎么办
 楼主| 发表于 2010-11-6 00:54:38 | 显示全部楼层
是的,我改过了,谢谢.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2025-1-11 20:41 , Processed in 0.081038 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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