+ -
当前位置:首页 → 问答吧 → 实时错误13 类型不匹配

实时错误13 类型不匹配

时间:2011-11-19

来源:互联网

a1 = CInt("&H" & Mid(Hex(hdc2), 5, 2)) '这句老是是提示 实时错误 13 类型不匹配
hdc2 是用for to 循环找到的图片框1某点的颜色值(用的getpixel)

如果换成 a1 = CInt("&H" & Mid(Hex(hdc2), 3, 2)) 就没错。。。。。。。

作者: KingOfPorcupine   发布时间: 2011-11-19

你的 hex(hdc2)什么值,输出看看

作者: clear_zero   发布时间: 2011-11-19

6位的16进制数 
因为是FOR循环 所以值很多

作者: KingOfPorcupine   发布时间: 2011-11-19

引用楼主 kingofporcupine 的回复:
a1 = CInt("&H" & Mid(Hex(hdc2), 5, 2)) '这句老是是提示 实时错误 13 类型不匹配
hdc2 是用for to 循环找到的图片框1某点的颜色值(用的getpixel)

如果换成 a1 = CInt("&H" & Mid(Hex(hdc2), 3, 2)) 就没错。。。。。。。


应该是Mid(Hex(hdc2), 5, 2)取到的字符串为空

作者: worldy   发布时间: 2011-11-19

594C5A 4A3338 533241 5D334C 49303A 491A48 还很多

作者: KingOfPorcupine   发布时间: 2011-11-19

hdc2 是取到的10进制的颜色 
Hex之后 是6位的16进制数 6位了怎么还出错啊

作者: KingOfPorcupine   发布时间: 2011-11-19

难道hdc2取到的数转换后没有6位#35 
不会吧 将颜色用10进制表示 然后转成16进制 应该都是6为的16进制数啊

作者: KingOfPorcupine   发布时间: 2011-11-19

VB code
a1 = CInt("&H" & Mid((Right("000000" & Hex(hdc2), 6)), 5, 2))

作者: zdingyun   发布时间: 2011-11-19

7楼能解释下代码吗 我有点看不懂 为什么+"000000"

作者: KingOfPorcupine   发布时间: 2011-11-19

VB系统的颜色用16进制表示是8位,你自己看看你都返回值够不够?

作者: Veron_04   发布时间: 2011-11-19

热门下载

更多