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

第一讲内容:

1、注释

Delphi注释分为三种:

1.1: //this is my code.---  单行注释。

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

1.3:{this is my code}---段落注释

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、关键字

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

关键字作用
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 < b and c < 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);

转载于:https://www.cnblogs.com/youshan/archive/2011/07/09/2101769.html

目录: 1 Uppas40.htm Delphi 4增訂的Object Pascal 19K 2 Api_printer.htm Api函数列表-与打印有关 30K 3 Autocreate.htm 在Delphi3程序中自动检测、建立数据库别名 7K 4 Autoxize.htm DELPHI中自适应表单的实现 3K 5 Bat.htm 在Delphi中利用Tbatch组件完成数据批处理 5K 6 Bde.htm 如何在注册表中注册BDE 2K 7 Bjjlb.htm Delphi编辑俱乐部 4K 8 Cgi_1.htm CGI技术及其开发 11K 9 Cgi_2.htm CGI技术及其开发() 12K 10 Chang_backmap.htm 用Delphi实现壁纸更换 3K 11 Change_ip_dns.htm 任何动态改变/添加网络设置中的 TCP/IP 的 DNS 地址 1K 12 Colorcour.htm 让彩色光标出现在Delphi程序中 2K 13 Compon_mk.htm 面向组件的系统开发方法 2K 14 Comtech.htm COM/DCOM如何传递数组 2K 15 Comvsdcom.htm COM/DCOM的区别与联系 2K 16 Cookite.htm Delphi 3中Cookie的建立使用 6K 17 Copy_screen.htm 一个实用的Delphi屏幕拷贝程序的设计 11K 18 Create_oracle7.htm 开发基于ORACLE7数据库的管理信息系统 9K 19 Cs_fast.htm 提高客户机/服务器应用系统性能的一些方法 8K 20 Def_color_dlg.htm 用Delphi实现自定义颜色对话框及其构件 12K 21 Def_preview.htm 自定义快速报表的打印预览窗口 6K 22 Delete.htm 如何把文件删除到回收站中 1K 23 Delphi_c.htm 在DelphiC++之间实现函数与对象共享 7K 24 Delphi_err.htm Delphi编译错误中文手册 34K 25 Delphi_net1.htm DELPHI与INTERNET 34K 26 Delphi_net2.htm DELPHI与INTERNET 46K 27 Delphi_quick_develop.htm Delphi之快速设计(程序设计篇) 8K 28 Delphi_quick_develop2.htm Delphi之快速设计(界面篇) 3K 29 Delphi23_io.htm 在DELPHI2.0/3.0中直接操作端口 3K 30 Delphivspb.htm 开发AS/400应用系统PB5与Delphi3的比较 9K 31 Device_isok.htm 检查驱动器是否就绪 1K 32 Dtccw03.htm 资源文件在DELPHI中的使用 10K 33 Dttray.htm 如何创建任务栏的应用程序 11K 34 Edit_sysmenu.htm 控制系统菜单 3K 35 Fix_sybase.htm 如何恢复Sybase SQL Anywhere的数据库 4K 36 Fixsysbase_in.htm 解决sybase用户数据库不能进入故障的一种方法 5K 37 From_move.htm 用Delphi实现无边界窗体的移动 3K 38 Function.htm 部分函数、命令、属性中文说明 13K 39 Get_form.htm Win95/98下监控运行的其他程序 2K 40 Get_info.htm 使用Delphi获取系列信息 3K 41 Get_net_friend.htm 如何在程序中动态取得Win95/98的网络邻居中的工作组及计算机名 12K 42 H_sort.htm 在DELPHI中用线程排序 4K 43 Happymouse.htm 用Delphi编制趣味动画鼠标 3K 44 Hint.htm 改造HINT的输出方式 5K 45 Howto_chinese_delphi.htm "Delphi之完全汉语"终结版 6K 46 If.htm Delphi数据集过滤技巧 4K 47 Img.htm Delphi下汉字输入法的编程及使用 5K 48 Index_notf.htm 怎样解决打开一个DBF表时的"Index not found.."错误 3K 49 Install.htm 如何制作Delphi程序安装盘 7K 50 Ip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值