Delphi如何实现传递序数参数的功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计307个文字,预计阅读时间需要2分钟。
可以编写一个以任意序数字类型作为参数的方法。`Inc()` 和 `High()` 的作用方式并不相同。
`Inc()` 函数用于将给定的序号增加1。例如,如果传入的是 `0`,则返回 `1`。
`High()` 函数返回数组的最大索引值。例如,对于数组 `Array[0..9]`,`High(Array)` 返回 `9`。
在 Delphi 2007 中,您可以使用 `untyped` 参数来决定使用 `const` 还是 `var`。以下是两种情况的示例:
- 使用 `const` 参数: delphi procedure Foo(const ordinal: Integer); begin // 处理 ordinal,但不允许修改它 end;
- 使用 `var` 参数: delphi procedure Foo(var ordinal: Integer); begin // 处理 ordinal,并允许修改它 ordinal :=ordinal + 1; end;
是否可以编写一个以任何序数类型作为参数的方法? Inc()或High()的作用方式相同吗?我正在使用Delphi 2007
您需要使用 untyped parameter:procedure Foo(const ordinal);
要么
procedure Foo(var ordinal);
当然,由于您已经放弃了类型系统,因此您在这样的例程中可以做的事情有些受限.
本文共计307个文字,预计阅读时间需要2分钟。
可以编写一个以任意序数字类型作为参数的方法。`Inc()` 和 `High()` 的作用方式并不相同。
`Inc()` 函数用于将给定的序号增加1。例如,如果传入的是 `0`,则返回 `1`。
`High()` 函数返回数组的最大索引值。例如,对于数组 `Array[0..9]`,`High(Array)` 返回 `9`。
在 Delphi 2007 中,您可以使用 `untyped` 参数来决定使用 `const` 还是 `var`。以下是两种情况的示例:
- 使用 `const` 参数: delphi procedure Foo(const ordinal: Integer); begin // 处理 ordinal,但不允许修改它 end;
- 使用 `var` 参数: delphi procedure Foo(var ordinal: Integer); begin // 处理 ordinal,并允许修改它 ordinal :=ordinal + 1; end;
是否可以编写一个以任何序数类型作为参数的方法? Inc()或High()的作用方式相同吗?我正在使用Delphi 2007
您需要使用 untyped parameter:procedure Foo(const ordinal);
要么
procedure Foo(var ordinal);
当然,由于您已经放弃了类型系统,因此您在这样的例程中可以做的事情有些受限.

