for J := Low(A[I]) to High(A[I]) do
A[I,J] := IntToStr(I) + ',' + IntToStr(J) + ' ';
end;
end;
Array types and assignments(数组类型和赋值)

Arrays are assignment-compatible only if they are of the same type. Because Pascal uses name-equivalence for types, the following code will not compile.
只有数组是相同类型时,它们才是赋值兼容的。因为Pascal使用‘名称’代表‘类型’,所以下面的代码无法编译:
- 58 -
Data types, variables and constants
var
Int1: array[1..10] of Integer;
Int2: array[1..10] of Integer;
...
Int1 := Int2;
要使赋值能够工作,要如下声明变量
var Int1, Int2: array[1..10] of Integer;
或
type IntArray = array[1..10] of Integer;
var
Int1: IntArray;
Int2: IntArray;
Records(记录)
About records(关于记录)
记录(类似于其它语言中的结构)表示不同种类的元素的集合,每个元素称为“字段”,声明记录类型时要为每个字段指定名称和类型。声明记录的语法是
type recordTypeName = record
fieldList1: type1;
...
fieldListn: typen;
end
这里,recordTypeName是一个有效标志符,每个type表示一种类型,每个fieldList是一个有效标志符或用逗号隔开的标志符序列,最后的分号是可选的。(哪个分号?是最后一个字段的,还是end后面的?) 比如,下面的语句声明了一个记录类型TDateRec:
type
TDateRec = record
Year: Integer;
Month: (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
Day: 1..31;
end;
TDateRec包含3个字段:一个整数类型的Year,一个枚举类型的Month,和另一个子界类型的Day。标志符Year、Month和Day是TDateRec的字段,它们的行为就像变量。声明并不会为Year、Month和Day分配内存,只有在实例化时才进行分配,像下面的样子:
var Record1, Record2: TDateRec;
上面的变量声明创建了两个TDateRec实例,分别叫做Record1和Record2。
你可以用记录名作限定符、通过字段名来访问字段:
Record1.Year := 1904;
Record1.Month := Jun;
Record1.Day := 16;
或使用with语句:
with Record1 do
begin
- 59 -
Data types, variables and constants
Year := 1904;
Month := Jun;
Day := 16;
end;
现在,你可以把Record1的值拷贝给Record2:
Record2 := Record1;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-40.html
Luna真的变美好多
中国有军