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

[AU3基础] [已解决]同一脚本为什么就XP下报错呢?

  [复制链接]
发表于 2016-3-25 00:38:04 | 显示全部楼层 |阅读模式
本帖最后由 vszy 于 2016-3-25 06:56 编辑
$OS=@OSVersion 
$BIT=@OSArch

Select
        case $BIT="X86" and ($OS="WIN_XP" or $OS="WIN_2003")
MsgBox("","","XPXPXP")
    Case $BIT="X86" and ($OS="WIN_7" or $OS="WIN_2003")
MsgBox("","","786786")
    Case $BIT="X64" and ($OS="WIN_7" or $OS="WIN_2003")
MsgBox("","","764764")
    Case $BIT="X86" and ($OS="WIN_81" or $OS="WIN_8")
MsgBox("","","832832")
    Case $BIT="X64" and ($OS="WIN_81" or $OS="WIN_8")
MsgBox("","","864864")
    Case Else
MsgBox("","","未识别")
EndSelect
这个代码编译后可以全系统正确运行。

换了个写法:
$OS=@OSVersion 
$BIT=@OSArch

Select
case $BIT="X86" and ($OS="WIN_XP" or $OS="WIN_2003")
$txt = XPXPXP
MsgBox("","",$txt)

Case $BIT="X86" and ($OS="WIN_7" or $OS="WIN_VISTA")
$txt = 786786
MsgBox("","",$txt)

Case $BIT="X64" and ($OS="WIN_7" or $OS="WIN_VISTA")
$txt = 764764
MsgBox("","",$txt)

Case $BIT="X86" and ($OS="WIN_81" or $OS="WIN_8")
$txt = 832832
MsgBox("","",$txt)

Case $BIT="X64" and ($OS="WIN_81" or $OS="WIN_8")
$txt = 864864
MsgBox("","",$txt)
                               
Case Else
MsgBox("","","        未能识别")
EndSelect
编译后只有XP系统报错,其它正常,不知为何?望有XP环境的测试下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-3-25 05:03:38 | 显示全部楼层
把$txt等号后都用引号框起来
 楼主| 发表于 2016-3-25 06:55:30 | 显示全部楼层
回复 2# haijie1223


    问题是解决了,但是这是什么道理呢?
发表于 2016-3-25 07:36:16 | 显示全部楼层
回复 3# vszy


    我也说不出为什么哦,我只是觉得你辣么写不舒服~
发表于 2016-3-25 11:50:58 | 显示全部楼层
跟系统没关吧,应该只和Au3版本有关
$txt = XPXPXP
这种不带引号包围的写法,也只有在3.3.13.x(貌似)及以上的版本才能这样写,而且还必须有XPXPXP函数定义才不会报错。当然,如果本来就是赋值字符串,那不带引号直接就是错误。
发表于 2016-3-25 13:18:06 | 显示全部楼层
你在群里问我都没说话,在这里又问起来了。典型的编程基础概念太差,字符串和数值分不开。$txt = 786786 不报错因为这是数值,换句话说这里是 七十八万七百六十八,而实际上数值 786786 和字符串 "786786" 仍有本质的区别。写$txt = 786786无非因为这个是数值,巧了被认为是合法的,而 $txt = XPXPXP 报错则是因为字符串必须用引号。拜托回看一下关于数据类型的相关说明,走得走稳,别那么快学飞。
发表于 2016-3-25 14:15:36 | 显示全部楼层
LZ 真猛,把高手都楼上高手都引来了~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 10:02 , Processed in 0.074815 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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