delphi自定义函数procedure怎么设置一个变量,在调用时可输入也可不输入这个变量值

delphi自定义函数procedure怎样设置一个变量,在调用时可输入也可不输入这个变量值?
delphi自定义函数procedure怎样设置一个变量,在调用时可输入也可不输入这个变量值?

------解决方案--------------------
[b][/b]
Delphi 2007帮助Default Parameters
You can specify default parameter values in a procedure or function heading. Default values are allowed only for typed const and value parameters. To provide a default value, end the parameter declaration with the = symbol followed by a constant expression that is assignment-compatible with the parameter's type.

For example, given the declaration

procedure FillArray(A: array of Integer; Value: Integer = 0);
the following procedure calls are equivalent.

FillArray(MyArray);
FillArray(MyArray, 0);
A multiple-parameter declaration cannot specify a default value. Thus, while

function MyFunction(X: Real = 3.5; Y: Real = 3.5): Real;
is legal,

function MyFunction(X, Y: Real = 3.5): Real; // syntax error
is not.

Parameters with default values must occur at the end of the parameter list. That is, all parameters following the first declared default value must also have default values. So the following declaration is illegal.

procedure MyProcedure(I: Integer = 1; S: string); // syntax error
Default values specified in a procedural type override those specified in an actual routine. Thus, given the declarations

type TResizer = function(X: Real; Y: Real = 1.0): Real;
function Resizer(X: Real; Y: Real = 2.0): Real;
var
F: TResizer;
N: Real;
the statements

F := Resizer;
F(N);
result in the values (N, 1.0) being passed to Resizer.

Default parameters are limited to values that can be specified by a constant expression. Hence parameters of a dynamic-array, procedural, class, class-reference, or interface type can have no value other than nil as their default. Parameters of a record, variant, file, static-array, or object type cannot have default values at all.

Default Parameters and Overloaded Functions
If you use default parameter values in an overloaded routine, avoid ambiguous parameter signatures. Consider, for example, the following.

procedure Confused(I: Integer); overload;
...
procedure Confused(I: Integer; J: Integer = 0); overload;
...
Confused(X); // Which procedure is called?
In fact, neither procedure is called. This code generates a compilation error.

Default Parameters in Forward and Interface Declarations
If a routine has a forward declaration or appears in the interface section of a unit, default parameter values if there are any must be specified in the forward or interface declaration. In this case, the default values can be omitted from the defining (implementation) declaration; but if the defining declaration includes default values, they must match those in the forward or interface declaration exactly.