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的信息值

相关阅读 >>

Delphi 逐个分解后字符串加载到stringgrid1

Delphi分享pos函数。(比fastpos还要快)

Delphi 端口扫描器原理

Delphi android 中 toast 的实现(老外写的unit)

Delphi form工程创建

解决 Delphi 程序在不同操作系统中 shellexecute 调用 chrome.exe 偶尔无效的问题

Delphi控件adsl拨号和断开

Delphi窗口随机类名

Delphi xe7组件tetheringmanager1发送消息

Delphi 切换开关 toggleswitch1

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...