Delphi 十六进制 数据类型问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 十六进制 数据类型问题相关的知识,希望对你有一定的参考价值。

要做一个底层按键的工具用的WinIo.dll ,直接输入$ + 十六进制键盘码就行 MyKeyDown($31); Sleep(50); MyKeyUp($31); ----------------------------OK 下边这样就会有问题~~~ var i:Integer; begin i := 31; MyKeyDown($ + i); Sleep(50); ... MyKeyUp($ + i)); end ; Sleep(50); ----------------------------OK 下边这样就会有问题~~~ var i; MyKeyUp($31)要做一个底层按键的工具用的WinIo; MyKeyDown($ + i):= 31,直接输入$ + 十六进制键盘码就行 MyKeyDown($31):Integer; begin i ; Sleep(50); 可能是数据转换这块有问题.dll 展开

参考技术A MyKeyDown/UP(A:Integer);这是模拟按键,参数A是ascii码值。因此必须输入整数。
$是delphi的16进制常量表示法,$31实际是十进制49,也就是ascii的数字‘1’。
$+是不合法
的,$后面必须跟常量。
比如$0.
因此如果你要输入16进制的话直接输入$XX,如果不是的话,直接写10进制,不要加$,
比如输入“1”用MyKeyDown(49);
i:=49;
MyKeyDown(i)

delphi数据类型问题

在var定义的时候 有的时候用到string有的时候用到real 看着有点乱,怎么辨别什么时候用什么类型呢? 能举例一二?

参考技术A 在delphi中数所类型分为:数值型与字符型
数值型又分整型与实型
整型顾名思义就是整数型,整数又分为有符号整型和无符号整型
实型类型就是有小数的数据类型.
当你在计算时如果计算结果可能需用小数那则用real,至于用哪种精度小数那看你要的精确度了.浮点运算是比较耗CPU的,把数据分成不同类型来提高CPU运行效率,这也是一个原因.
string就是字符串类型,如:'中国人'这就是一个字符串,顾名思义就是多个字符串起来的
char是字符类型,这与字符串是有区别的,char类型占用一个byte,也就是说char类型最多只能装一个字符,比如'a'或'b'如果你赋值的内容超出它的大小则出错.
其实不管各种数据类型到了汇编中就都变成一种类型那就是数值了.
这就是ord('a')为什么等于97的原因了.
你应该看看计算机基础知识,如数据在计算机中怎样存储,位和字节和字的概念,你就会明白了.

以上是关于Delphi 十六进制 数据类型问题的主要内容,如果未能解决你的问题,请参考以下文章

delphi关于stringgrid字符串转换的问题

Delphi 类型转换函数(有几个函数没见过,FloatToStrF,FloatToText等等)

delphi文件类型

delphi数据类型问题

delphi中的各类文件类型(转)

delphi中的各种文件类型介绍