"本文档是《Object Pascal Handbook 中文版》的一部分,由 Marco Cantù 编著,主要讨论了 Object Pascal 编程语言在 Delphi 和 App Method 开发中的应用。内容涉及了数组的使用,特别是次范围型别的概念,以及在程序中的实际操作示例。"
在 Object Pascal 语言中,次范围型别(Subrange Types)是一种特殊的类型定义,它允许我们创建基于已存在类型的子集。在这个例子中,`TDayTemperatures` 就是一个次范围型别,它是 `Integer` 类型的一个子集,限制在从 1 到 24 的范围内。这样定义的好处在于,它能够帮助我们在编程时更加明确地表达数组元素的预期范围,从而减少潜在的错误。
```pascal
type
TDayTemperatures = array [1..24] of Integer;
var
DayTemp1: TDayTemperatures;
begin
DayTemp1 [1] := 54;
DayTemp1 [2] := 52;
...
DayTemp1 [24] := 66;
// The following line causes:
// E1012 Constant expression violates subrange bounds
// DayTemp1 [25] := 67;
end;
```
在这个代码段中,我们定义了一个名为 `TDayTemperatures` 的数组类型,它包含了 24 个整数。变量 `DayTemp1` 是这个类型的实例,允许我们存储一天24小时的温度。当试图将值赋给超出定义范围的索引(如 `DayTemp1[25]`),编译器会抛出错误 `E1012`,提示常量表达式违反了子范围边界,确保了程序的健壮性。
此外,文中提到的 for 循环是处理数组的常用方法。例如,可以使用以下代码遍历并打印 `DayTemp1` 数组的所有元素:
```pascal
for I := 1 to 24 do
Writeln(DayTemp1[I]);
```
这段代码展示了如何通过 for 循环访问数组的每个元素,并将它们逐个打印出来。这种循环结构在处理数组时非常常见,因为它简洁且易于理解。
《Object Pascal Handbook》作者 Marco Cantù 是 Delphi 和 FreePascal 社区的知名专家,他的书籍深入浅出地讲解了 Object Pascal 语言的各个方面,包括面向对象编程、异常处理、单元测试、图形用户界面设计等。这本书对于 Delphi 和 App Method 开发者来说是一本宝贵的参考资料,能帮助他们更好地理解和应用 Object Pascal 语言。