找回密码
 加入
搜索
查看: 7935|回复: 19

[AU3基础] (已解决)如何对一个变量进行值的准确描述

 火.. [复制链接]
发表于 2012-6-30 14:07:46 | 显示全部楼层 |阅读模式
本帖最后由 faceyao 于 2012-7-2 23:22 编辑

变量$a,假如变量的值是数字,则msgbox("","","他的内容为数字"),假如变量是文字则msgbox("","","他的内容为文字")

要表达上面的意思,代码该怎么写,
发表于 2012-6-30 14:22:24 | 显示全部楼层
IsNumber(变量)
IsString(变量)
发表于 2012-6-30 20:56:25 | 显示全部楼层
回复 1# faceyao
楼主,$a = 123和$a = '123'是不一样的哟!前一个是数字,后一个是字符串。
发表于 2012-7-1 00:21:18 | 显示全部楼层
本帖最后由 Qokelate 于 2012-7-1 00:38 编辑


Local $a

Local $sTip
Select
        Case Not $a
                $sTip = '神马也不是,NULL'
        Case IsString($a)
                $sTip = '字符串'
        Case IsNumber($a)
                $sTip = '数字'
        Case IsKeyword($a)
                $sTip = '关键字'
        Case IsHWnd($a)
                $sTip = '句柄'
        Case IsObj($a)
                $sTip = '对象'
;各种IsXXXXX函数判断
EndSelect
MsgBox(0, 0, '$a是' & $sTip)
发表于 2012-7-1 11:37:13 | 显示全部楼层
回复 4# Qokelate
问下:当$a=Default 结果是什么???
发表于 2012-7-1 11:43:03 | 显示全部楼层
回复 5# lchl0588
default可以看作是宏,不同地方的定义不一样
发表于 2012-7-1 11:54:19 | 显示全部楼层
回复 4# Qokelate


    $a=0 时呢, 0 不能算是数字吗?
顺序有点乱了
发表于 2012-7-1 12:06:44 | 显示全部楼层
回复 6# netegg
如 user3000所说,代码检测顺序乱了!!
Local $a 
Local $sTip
Select
        Case IsString($a)
                $sTip = '字符串'
        Case IsNumber($a)
                $sTip = '数字'
        Case IsKeyword($a)
                $sTip = '关键字'
        Case IsHWnd($a)
                $sTip = '句柄'
        Case IsObj($a)
                $sTip = '对象'
        Case Not $a
                $sTip = '神马也不是,NULL'
                ;各种IsXXXXX函数判断
EndSelect
MsgBox(0, 0, '$a是' & $sTip)
这样的话,一切就OK了
发表于 2012-7-1 12:45:41 | 显示全部楼层
回复 8# lchl0588
自己看看吧

本帖子中包含更多资源

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

×
发表于 2012-7-1 12:50:11 | 显示全部楼层
回复 9# netegg
老兄啊,这样当然有错啊!!!
Run("notepad.exe")
Local $a =WinWait("[CLASS:Notepad]", "", 10)
Local $sTip
Select
        Case IsString($a)
                $sTip = '字符串'
        Case IsNumber($a)
                $sTip = '数字'
        Case IsKeyword($a)
                $sTip = '关键字'
        Case IsHWnd($a)
                $sTip = '句柄'
        Case IsObj($a)
                $sTip = '对象'
        Case Not $a
                $sTip = '神马也不是,NULL'
                ;各种IsXXXXX函数判断
EndSelect
MsgBox(0, 0, '$a是' & $sTip)
这样再测试下?????
发表于 2012-7-1 13:10:05 | 显示全部楼层
本帖最后由 netegg 于 2012-7-1 13:18 编辑

回复 10# lchl0588
你这个是获取的,还说什么判断,lz好像只是说的变量

另外楼主的原题记得有个api可以做,区分数值和字符串
发表于 2012-7-1 13:18:22 | 显示全部楼层
双组 变量数字 子窜符 8楼应该是正解
发表于 2012-7-1 14:07:03 | 显示全部楼层
回复 11# netegg
Local $a
Local $sTip
Select
        Case IsString($a) ;1
                $sTip = '字符串'
                Case Not $a ;2
                $sTip = '神马也不是,NULL'
        
EndSelect
MsgBox(0, 0, '$a是' & $sTip)
Local $a
Local $sTip
Select
        Case Not $a ;2
                $sTip = '神马也不是,NULL'
                Case IsString($a) ;1
                $sTip = '字符串'
EndSelect
MsgBox(0, 0, '$a是' & $sTip)
测试下,看结果??只能说明给的值有点含糊吧???
发表于 2012-7-1 14:13:04 | 显示全部楼层
本帖最后由 netegg 于 2012-7-1 14:21 编辑

回复 13# lchl0588
这样用肯定有顺序问题,一个case一旦成立,后面的case就跳过了

对了,刚才没看到afan的回答,判断数值和字符串用那个就行了

评分

参与人数 1金钱 +10 收起 理由
lchl0588 + 10 $a值是啥才不被顺序所困呢?

查看全部评分

发表于 2012-7-1 16:52:44 | 显示全部楼层
本帖最后由 Qokelate 于 2012-7-1 16:58 编辑


Local $a
Local $b = 0
Local $c = ''
Local $d = BinaryToString(0)

MsgBox(0,0,IsString($d))
If $a = $b Then MsgBox(0, 0, 0)
If $a = $c Then MsgBox(0, 0, 1)
If $b = $c Then MsgBox(0, 0, 2)
If $a = $d Then MsgBox(0, 0, 3)


看懂这个再研究细节吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-5 05:18 , Processed in 0.086393 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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