您的位置:首页 > 编程语言 > Delphi

delphi学习笔记1

2009-07-28 23:03 253 查看
1、Delphi注释

相同类型的注释不能嵌套。
虽然不同类型的注释进行嵌套在语法上是合法的,但是不建议这么做。

例如:
{(* 这是合法的 *)}
(*{ 这是合法的 }*)
(*(* 这是非法的 *)*)
{{ 这是非法的 }}

2、圆括号

Object Pascal中一个鲜为人知的特性是,当调用一个过程或函数时,如果被调用的过程或函数没有参数,圆括号是可以省略的。
因此,下面两个例子在语法上都是合法的:
Form1.show;
Form2.show();

3、缺省值参数

缺省值参数是在Delphi4中被引进的,当调用有缺省值参数的过程或函数时,可以不提供参数。为了声明一个有缺省值参数的过程或函数,在参数类型后面跟一个等号和缺省值,示例如下:
Procedure HasDefval(S:String,I:integer=0);
HasDefval()过程能用下列两种方式调用:
第一种方式:两个参数都指定:
Hasdefval('hello',6);
第二种方式:指定一个参数S,对I则用缺省值:
Hasdefval('hello'); //对于I,使用缺省值

在使用缺省参数时,要遵循下列几条规则:
(1)有缺省值的参数必须在参数列表的最后,在一个过程或函数的参数列表中,没有缺省值的参数不能在有缺省值的参数的后面;
(2)有缺省值的参数必须是有序类型、指针类型或集合类型
(3)有缺省值的参数必须是数值参数或常量参数,不能使引用(out)参数或无类型参数。

有缺省值参数的最大好处是,在向一个已存在的过程和函数增加功能时,不必关心向后兼容的问题。

4、变量的初始化

从delphi2开始,能在var块中对全局变量进行赋初值,但是不能对过程或函数中的局部变量赋值。

Delphi编译器自动对全局变量赋初值,当程序开始时,所有的整形数赋值为0,浮点数赋值为0.0,指针为null,字符串为空等等,因此,在源代码中不必对全局变量赋零初值。

5、常量的定义

在Pascal中用const关键字来声明常量。
在Object pascal中不需要在对常量赋值时声明常量的类型,编译器能根据常量的值自动判断常量的类型并分配内存,对于整型常量,编译器在运行时跟踪他的值,并不对它分配内存。

编译器按照如下规则来对常量分配:整形数被认为是最小的integer类型,字符串值被认为是char类型或string类型(通过$H定义),浮点数被认为是extended数据类型,除非小数点位数小于4,这种情况被当做comp类型,integer和char的集合类型被存储为他们自己。

当然,在声明变量时,可以指定变量的类型,这样就能完全控制编译器对常量的处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: