分享
 
 
 

delphi-object pascal语言

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

一、数据类型:

(1) 基本数据类型:

a、 整数类型: (通用类型<32位>:Integer-有符号;Cardinal-无符号)

具体:

有符号:Shortint<8位>,Smallint<16位>,Longint<32位 >

无符号:Byte<8位>,Word<16位>,LongiWord<32位 >

b、字符类型: (通用类型<8位>:Char -与AnsiChar等同)

具体:

AnsiChar<8位> :主要存放Ansi字符

WideChar<16位>:主要存放Unicode字符

c、布尔类型: (通用类型<8位>:Boolean-与ByteBool等同)

具体:

ByteBool<8位>,WordBool<16位>,LongBool<32位>

不同的布尔类型主要用于鱼其它编程语言及不同windows系统兼容。

d、枚举类型:

定义:type 枚举类型标识符=(key1[=val1],.。。。,keyn[=valn]) :n<=255

如果给某些key指定了值,则未指定值的key是前一个key值加1;

如果全部默认不指定值,则key1值为0,往后逐个加1。

e、子界类型:

定义:type 子界类型标识符=下界 ..下界

如:type SubInt=1..3 0;表示 1~30的整数

type SubChar='a'..'z';表示字符

※注:1、以上四种类型称为有序类型,即除第一个数为都有先行数、除最后一个数外都有后继数。在这里

(计算机里),整数是有限的。有序类型的数都有一个序号,称为序数。整数的序数为其本身,其他类型第一

个数序数为0,依次递增。

2、子界类型上、下界必须是有同一有序类型,且上界序数大于下界序数。

f、浮点类型: (通用类型<8字节>:Real-与Double等同)

具体:

Double<8字节>,Real48<6字节>Single<4字节>,

Extended<10字节>,Comp<8字节>,Currency<8字节>

g、字符串类型: (通用类型:String-与AnsiString等同)

具体:

ShortString :最多存放255个字符,第一个自己存放字符个数,不以NULL结尾

AnsiString :存放Ansi字符,以NULL结尾

WideString:存放Unicode字符,以NULL结尾

h、时间、日期类型:TDateTime -实际是浮点类型的别称

(2)复杂数据类型:

a、指针类型:

定义:type 指针类型标识符=^基本类型;

内在分配:New() 内存释放:Destroy()

对于Pointer 和PChar 用GetMem()或AllocMem()分配内存,用FreeMem()释放内存

分配内存后,就可以当成基本类型一样使用:指针类型标识符^

实际上常如下运用指针:

var 变量标识符:^基本类型;

为变量分配内存后就可以将(变量标识符^)当成普通变量使用。

b、记录类型:

定义:type 记录类型标识符=Record

字段1:类型;

...

字段n:类型;

end;

c、集合类型:

定义: type 集合类型标识符=Set of 基本类型的子集或子界类型;(<=255个元素)

d、变体(通用)类型: Variant;

(3)数组类型:

a、一维数组:

定义:type 数组标识符=Array[下标下限..下标上限] of 基本类型;

b、多位数组:

定义: type 数组标识符=Array[下限1..上限1,...,下限n..上限n] of 基本类型;

c、动态数组(变量):

var 标识符:array of 基本类型;

SetLength(标识符,个数);//分配空间

标识符:=nil;//释放

二、语句

首先要说一下begin ... end; 相当于c或者c++中的{ ... }。

(1)声明语句

常量:const 常量标识符[:类型]=常值;

变量:var 变量标识符:数据类型;

(2)表达式语句

由运算符组成的合法语句

运算符优先级: 运算符 优先级

@ not 1 (最高)

*,/,div,mod,and,shl,shr,as, 2

+,-,or,xor 3

>,<,>=,<=,<>,=,in,is, 4 (最低)

(3) with ... do ... end 语句

主要在操作记录类型或组件时使用。

示例:type people=Record //定义记录people

name:string;

addr:string;

age:integer;

sex:string;

end;

var Me:People; //定义people型的变量

with Me do

begin

name:='Paul';

addr:='Guangzhou';

age:=23;

sex:='male';

end;

(4)goto 语句

现在所有声音都是说要减少goto语句是使用,所以尽量少用为是。

示例:

Label MyLabel; //用Label保留字声明MyLabel

MyLabel: //标记

、、、 //其它语句

goto MyLabel; //跳转到MyLabel 处

(5)条件语句

a、if ... then ... 语句

if 布尔表达式 then ..;

或 if 布尔表达式 then

begin

...

end;

其它格式:

if ... then... else ...;

if ... then .. else if ... then ... else ...;

b、case ... of 语句

case 表达式 of

值1:...

值2:...

...

值n:...

end;

6)循环语句

a、for ... to ... do 语句

for 循环变量:=初值 to 终值 do ...;

或 for 循环变量:=初值 to 终值 do

begin

。。。

end;

b、while ... do 语句

while 布尔表达式 do ...;

或 while 布尔表达式 do

begin

...

end;

c、repeat ... until 语句

repeat ... until 布尔表达式;

(7)循环的中断

break: 循环结束

continue:结束本次循环

goto:(略)

exit:退出当前函数或过程

halt():终止整个程序,参数为整数

RunError():(略)

三、过程与函数

(1) 过程(无返回值)

声明: procedure <过程名> (<参数列表>);

(2)函数(有返回值)

声明: function <函数名> (<参数列表>):返回值类型;

用Result 或 <函数名>返回函数值;

即在函数中用 Result:=函数值;或 <函数名>:=函数值;返回;

二、语句

首先要说一下begin ... end; 相当于c或者c++中的{ ... }。

(1)声明语句

常量:const 常量标识符[:类型]=常值;

变量:var 变量标识符:数据类型;

(2)表达式语句

由运算符组成的合法语句

运算符优先级: 运算符 优先级

@ not 1 (最高)

*,/,div,mod,and,shl,shr,as, 2

+,-,or,xor 3

>,<,>=,<=,<>,=,in,is, 4 (最低)

(3) with ... do ... end 语句

主要在操作记录类型或组件时使用。

示例:type people=Record //定义记录people

name:string;

addr:string;

age:integer;

sex:string;

end;

var Me:People; //定义people型的变量

with Me do

begin

name:='Paul';

addr:='Guangzhou';

age:=23;

sex:='male';

end;

(4)goto 语句

现在所有声音都是说要减少goto语句是使用,所以尽量少用为是。

示例:

Label MyLabel; //用Label保留字声明MyLabel

MyLabel: //标记

、、、 //其它语句

goto MyLabel; //跳转到MyLabel 处

(5)条件语句

a、if ... then ... 语句

if 布尔表达式 then ..;

或 if 布尔表达式 then

begin

...

end;

其它格式:

if ... then... else ...;

if ... then .. else if ... then ... else ...;

b、case ... of 语句

case 表达式 of

值1:...

值2:...

...

值n:...

end;

6)循环语句

a、for ... to ... do 语句

for 循环变量:=初值 to 终值 do ...;

或 for 循环变量:=初值 to 终值 do

begin

。。。

end;

b、while ... do 语句

while 布尔表达式 do ...;

或 while 布尔表达式 do

begin

...

end;

c、repeat ... until 语句

repeat ... until 布尔表达式;

(7)循环的中断

break: 循环结束

continue:结束本次循环

goto:(略)

exit:退出当前函数或过程

halt():终止整个程序,参数为整数

RunError():(略)

三、过程与函数

(1) 过程(无返回值)

声明: procedure <过程名> (<参数列表>);

(2)函数(有返回值)

声明: function <函数名> (<参数列表>):返回值类型;

用Result 或 <函数名>返回函数值;

即在函数中用 Result:=函数值;或 <函数名>:=函数值;返回;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有