Delphi的常量

来源:互联网 发布:最好的摄像头软件 编辑:程序博客网 时间:2024/06/06 00:56

======================================================
注:本文源代码点此下载
======================================================

需求分析:

delphi中常量的应用是很灵活的。这里对delphi中的特殊常量进行一下子的总结吧。

思路分析:

1.比较总结。

2.关注点:常量的标识。

行文思路:

在delphi中,特殊常量往往都有标识,而且加亮显示为蓝色。

a)字符串常量,用单引号扩住标识,加亮显示为蓝色。

这样子标识是字符串常量;(hyp:而且这个是应用的最多的啦。)

b)十六进制常量,用$符号开头加十六进制数据方式标识,加亮显示为蓝色。

这样子来标识这是个十六进制数字常量;

(hyp:有的时候我们需要操作指针的地址,比如指针地址偏移的操作。

例如:

假如我有个指针是$0ef008c0,偏移量是4e,请问我如何把这个指针表示出来,然后把它的值取出来呢?

答案:

1、先把指针转换成数字, 譬如: cardinal($0ef008c0)

2、然后把这个数字 + 偏移量, 譬如: cardinal($0ef008c0) + $4e

3、再转换回你的指针类型, 譬如: mypointer(cardinal($0ef008c0) + $4e)

---没有测试, 仅供参考.

若原来指针名为p,可以这样写:

pointer(integer(p)+$4e)^

也可以

pdword(dword(p)+$4e)^

(hyp:这个自己是摘自万一的博客。感觉万一解释的很好。这个指针操作很灵活呀。)

)

c)字符常量,用#开头标识加字符对应ascii码数字方式,加亮显示为蓝色。

这样子来标识是字符常量。

(hyp:在这里要学习和记忆一些常用的字符ascii码制,以方便程序的编写和开发使用:delphi中#32就是空格字符,#34就是单引号,#36就是$字符。

另外三个,请看引自《pascal精要》的一点东西,如下:

“涉及到特殊字符时用数字符号较好。

#9 跳格 (tab 键)

#10 换行

#13 回车 (enter 键)”

至于#10和#13,这个谁是回车,谁是换行,我也老是记不住。不过,一切都是代码说了算。

下面写上三行代码,查看用法:

showmessage('a'+#13+'b');

showmessage('a'+#10+'b');

showmessage('a'+#13#10+'b');

最后得出的结论是:三种方式都得到同样地结果。

就是:

a

b

知道这种效果就好了。不过,通常#13和#10都是同时来用的。比如灰鸽子的代码,

比如显示程序的版本,作者等信息时候用一个label标签来显示,那么,如何换行,

也是这个用法。

至此,所以,得出一个结论:

编程好习惯:

多用字符的ascii码制,少点直接用字符去写代码。

看上去更专业,而且似乎安全性业更高点

)

补充:

对于上面的第三点,字符常量的使用,还可以补充一点点:

要使用#加上字符ascii,那么,如何查看一个字符的ascii码值,当然你可以使用cnpack开发的工具,不过,你可以自己编写代码呀,用到ord函数。其反义词即使char函数。

用法:

ord-用于获取一个字符的ascii值。

char-用于将一个ascii值转换为对应的字符。

所以,上面第三种用法等价于用char的用法。

下面来看ord和char以及#它们的用法相关代码吧:

比如要查看空格符的ascii码值,可以用下面代码:

showmessage(inttostr(ord('')));//得出结果是32

那么,反过来,知道了ascii,要输出字符,就是:showmessage(char(32))就是输出空格。(hyp:ord与char的对立用法。)

我们可以拿来使用呀。比如

var

s : string;

begin

s:='hello!'+char(32)+'delphi!';

showmessage(s);//就会输出hello! delphi!

//更加常用的用法是这样的:

s:='hello!'+#32+'delphi!';

showmessage(s);

end;

(hyp:char与#的等价用法)

}


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击