Delphi 十六进制 数据类型问题 30

要做一个底层按键的工具用的WinIo.dll,直接输入$+十六进制键盘码就行MyKeyDown($31);Sleep(50);MyKeyUp($31);---------... 要做一个底层按键的工具用的WinIo.dll ,直接输入$ + 十六进制键盘码就行

MyKeyDown($31);
Sleep(50);
MyKeyUp($31);
----------------------------OK

下边这样就会有问题~~~
var
i:Integer;
begin
i := 31;
MyKeyDown($ + i);
Sleep(50);
MyKeyUp($ + i));
end ;
可能是数据转换这块有问题,求高手指导一下~~
展开
 我来答
abidughw
推荐于2016-07-26 · TA获得超过904个赞
知道小有建树答主
回答量:572
采纳率:66%
帮助的人:287万
展开全部
MyKeyDown/UP(A:Integer);这是模拟按键,参数A是ascii码值。因此必须输入整数。
$是delphi的16进制常量表示法,$31实际是十进制49,也就是ascii的数字‘1’。
$+是不合法 的,$后面必须跟常量。
比如$0.
因此如果你要输入16进制的话直接输入$XX,如果不是的话,直接写10进制,不要加$,
比如输入“1”用MyKeyDown(49);
i:=49;
MyKeyDown(i)
追问
如果他只支持16进制那数据类型这块我该怎么转换一下?
方便六个联系qq么?
追答
如果给你的是整数a,直接
MyKeyDown(a);
如果给你的是字符a=A/b/c,@#,使用
MyKeyDown(ord(a));
如果给你的是16进制字符串xx
MyKeyDown(strtoint('$'+xx));
计算机内部是不区分各种进制的,所有整数都是二进制的。
a_zhu13
2013-04-07 · TA获得超过393个赞
知道小有建树答主
回答量:115
采纳率:100%
帮助的人:97.2万
展开全部
按你那样的方式写的话,试试用数据转换。
MyKeyDown(strtoint('$'+inttostr(i)));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式