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

我学Delphi心得及笔记----编写Delphi代码(第一讲)

2011-12-14 23:59 204 查看
第一讲内容:

1、注释

Delphi注释分为三种:

1.1://thisismycode.---单行注释。

1.2:(*thisismycode*)-----这种方式在欧洲使用较广,因为欧洲的键盘缺少大括号。

1.3:{thisismycode}---段落注释

2、使用大写字母Delphi语言的大小写不区分)

Pascal编译器(不象其他语言的编译器)不考虑字符的大小写,因此标识符Myname、MyName、myname、myName、和MYNAME是完全相同的。总体上来说,这是Pascal的一大优点,因为在大小写敏感的语言中,许多语法错误是由不正确的大写引起的。:写使用的一致性不是编译器强制要求的,但是保持大写使用的一致性是值得提倡的好习惯。一个常用的方法是将每个标识符的第一个字母大写,标识符若由几个词组合而成(中间不能插入空格),每个词的第一个字母应写:MyLongIdentifier,MyVeryLongAndAlmostStupidIdentifier

关于代码编写风格的最后一条建议是:尽量使用空白优化版面。这一条很容易做到,只需要在写复合句时,以上一句为参照,下一句向右缩进两个空格,复合句内嵌的复合句缩进四个空格,依此类推。例如:

if...then
statement;
if...then
begin
statement1;
statement2;
end;
if...then
begin
if...then
statement1;
statement2;
end;

3、关键字

关键字是ObjectPascal的保留标识符,在语言中有着特殊含义。保留字不能用作标识符,指令字也同样不应该用作标识符,即使编译器允许也最好不用。在实际中你不应该把任何关键字用作标识符。

关键字作用
absolute指令(变量)
abstract指令(方法)
and运算符(布尔)
array类型
as运算符(RTTI)
asm语句
assembler向后兼容(汇编)
at语句(异常处理)
automated访问类别符(类)
begin块标记
case语句
cdecl函数调用协定
class类型
const声明或指令(参数)
constructor特殊方法
contains运算符(集合)
default指令(属性)
destructor特殊方法
dispiddispinterface界面类别符
dispinterface类型
div运算符
do语句
downto语句(for)
dynamic指令(方法)
else语句(if或case)
end块标记
except语句(异常处理)
export向后兼容(类)
exports声明
external指令(函数)
far向后兼容(类)
file类型
finalization单元结构
finally语句(异常处理)
for语句
forward函数指令
function声明
goto语句
if语句
implementation单元结构
implements指令(属性)
in运算符(集合)-工程结构
index指令(dipinterface界面)
inherited语句
initialization单元结构
inline向后兼容(见asm)
interface类型
is运算符(RTTI)
label声明
library程序结构
message指令(方法)
mod运算符(数学)
name指令(函数)
near向后兼容(类)
nil数值
nodefault指令(属性)
not运算符(布尔)
object向后兼容(类)
of语句(case)
on语句(异常处理)
or运算符(布尔)
out指令(参数)
overload函数指令
override函数指令
package程序结构(控件包)
packed指令(记录)
pascal函数调用协定
private访问类别符(class)
procedure声明
program程序结构
property声明
protected访问类别符(类)
public访问类别符(类)
published访问类别符(类)
raise语句(异常处理)
read属性类别符
readonlydispatch界面类别符
record类型
register函数调用协定
reintroduce函数指令
repeat语句
requires程序结构(控件包)
resident指令(函数)
resourcestring类型
safecall函数调用协定
set类型
shl运算符(数学)
shr运算符(数学)
stdcall函数调用协定
stored指令(属性)
string类型
then语句(if)
threadvar声明
to语句(for)
try语句(异常处理)
type声明
unit单元结构
until语句
uses单元结构
var声明
virtual指令(方法)
while语句
with语句
write属性类别符
writeonlydispatch界面类别符
xor运算符(布尔)
4、表达式和运算符
建立表达式没有通用的方法,因为要取决于所用的运算符,Pascal包括有逻辑运算符、算术运算符、布尔运算符、关系运算符和集合运算符等等。
表达式可用于确定赋给一个变量的值、计算函数或过程的参数、或者判断一个条件,表达式也可以包含函数调用。表达式是对一个标识符的值而不是标识符本身进行运算。
运算符及其优先级
所有编程语言中的表达式都是常量、变量、数值、运算符和函数值的合法组合。表达式可以传递给过程或函数的值参,但不能传递给过程或函数中的引用参数。
如果你以前写过程序,那么你已经知道表达式是什么了。这里我专门讲一下Pascal运算符的特殊部分:运算符的优先级。表2.2中按优先级分组列出了Pascal语言的运算符。
与大多数编程语言相反,Pascal语言中and和or运算符的优先级比关系运算符高。因此,如果你的代码为a<bandc<d,编译器首先会编译and运算符,由此导致编译出错。为此你应该把每个<表达式用小括号括起来:(a<b)and(c<d)。 
同一种运算符用于不同数据类型时它的作用不同。例如,运算符+可以计算两个数字的和、连接两个字符串、求两个集合的并集、甚至给PChar指针加一个偏移量。然而,你不能象在C语言中那样将两个字符相加。
另一个特殊的运算符是div。在Pascal中,你能用/计算两个数字(实数或整数)的商,而且你总能得到一个实型结果。如果计算两个整数的商并想要一个整型结果,那么就需要用div运算符。
 
单目运算符(最高优先级)
@取变量或函数的地址(返回一个指针)
not逻辑取反或按位取反
乘除及按位运算符
*相乘或集合交集
/浮点相除
div整数相除
mod取模(整数相除的余数)
as程序运行阶段类型转换(RTTI运算符)
and逻辑或按位求和
shl按位左移
shr按位右移
加减运算符
+相加、集合并集、字符串连接或指针增加一个偏移量
-相减、集合差集或指针减少一个偏移量
or逻辑或按位或运算
xor逻辑或按位异或运算
关系及比较运算符(最低优先级)
=判断是否相等
<>判断是否不相等
<判断是否小于
>判断是否大于
<=判断是否小于或等于,或是否是一个集合的子集
>=判断是否大于或等于,或是否是一个集合的父集
in判断是否是集合成员
is判断对象是否类型兼容(又一个RTTI运算符)
5、集合运算符
集合运算符包括并(+)、差(-)、交(*)、成员检测(in),及一些关系运算符。要把一个元素添加到集合中,你可以采用集合并运算。下面是一个选择字体的Delphi例子:

Style:=Style+[fsBold];Style:=Style+[fsBold,fsItalic]-[fsUnderline];
另一种方法是利用标准过程Include和Exclude,它们效率更高(但不能用于控件的集合类型属性,因为只能操纵一个元素):

Include(Style,fsBold);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: