delphi整理六(数据与记录)  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi整理六(数据与记录)


数组与记录

静态数组:

定义的时候就分配存储单元,确定数组元素的个数和类型的数组。 
声明格式:

<类型标识符>=array[<下标类型> of<基类型>];
1
1)<类型表示符>是用户定义的数组类型的名称。 
2)<下标类型>必须是整数、字符、布尔、子界、枚举类型(顺序类型) 
3)<基类型>就是元素的类型,可以是任何类型,数组的每个元素类型是一致的。 
4)数组元素的格式就是下标的个数

type
xuehao=1..50;
score=array[xuehao] of integer;
acolor=(red,blue,green);
yanse=array[acolor] of integer;
var
s1,s2:score;
c1,c2:yanse;

一起定义,更简洁

var a1,a2:array[1..30] of real;
low():数组最小下标(1)
high():数组的最大下标(green)
length()表示数组元素的个数

二维静态数组

type
<数组类型名>=array[<下标类型1>] of array[<下标类型2>] of <元素类型>;

一般来说,习惯把二维数组定义为如下形式:

type
<数组类型名>=array[<下标类型1>,<下标类型2>] of <元素类型>;

例如,

type
aa=array[1..5,2..8] of integer;
var
a1,a2:aa;

动态数组

一维动态数组的定义:

type
<数组类型名称>=array of<基类型>

或者直接将类型和变量定义在一起

var
<变量名>:array of<基类型>
setLength(a,20):

声明数组a有20个元素,a[0]~a[19]

多维动态数组

语法格式:

type
<数组类型名称>=array of array of<基类型>


var
<变量名>:array of array of <基类型>
setLength(a,4,6);

a有24个元素

字符串类型

<字符串类型名>=string;
var
<字符串变量>:<字符串类型名>;

或者

<字符串变量>:string;

允许在定义字符串的时候声明字符串中字符的个数:

<字符串类型名>=string[<长度>];
var
<字符串变量名>:<字符串类型名>;

或者

var
<字符串变量名>:string[<长度>];

例如,

type
xingming=string[10];
var
xml:xingming;
or
xml:string[10];

特别:xml的长度为10, 
第一个位置是存放长度的s[0]=#5 
ord(s[0])可以得到字符串长度。 
123页

记录类型

记录类型的定义格式为:

type
<记录类型名>=record
<字段1>:<类型1>;
<字段2>:<类型2>;
...
end;

例,

type
  student=record
  xh:string[2];
  xm:string[8];
  yw:integer;
end;
var
st:array[1..20] of student;
s1,s2:student;

记录类型的访问与with语句

with  <变量名>  do;

用法:(接上面的定义例子)

with s1 do
begin
xingming:='张三';
yuwen:=90
end

with语句的嵌套(就近原则)

with s2,s1 do
begin
  ...
end

结果为s1的信息值

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.053329944610596 seconds