b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(66)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

const

BoolChars: array[Boolean] of Char = ('F', 'T');

var

I: Integer;

begin

Result := '';

for I := 0 to High(Args) do

with Args[I] do

case VType of

vtInteger: Result := Result + IntToStr(VInteger);

vtBoolean: Result := Result + BoolChars[VBoolean];

vtChar:Result := Result + VChar;

vtExtended: Result := Result + FloatToStr(VExtended^);

vtString:Result := Result + VString^;

vtPChar:Result := Result + VPChar;

vtObject:Result := Result + VObject.ClassName;

vtClass:Result := Result + VClass.ClassName;

vtAnsiString: Result := Result + string(VAnsiString);

vtCurrency: Result := Result + CurrToStr(VCurrency^);

vtVariant: Result := Result + string(VVariant^);

vtInt64:Result := Result + IntToStr(VInt64^);

end;

end;

我们可以传递一个开放数组构造器来调用这个函数(参考Open array constructors)。比如,

MakeStr(['test', 100, ' ', True, 3.14159, TForm])

返回字符串“test100 T3.14159TForm”。

Default parameters(默认参数)

Default parameters(默认参数)

在过程头或函数头中,你可以指定默认的参数值。默认值只允许出现在指定类型的常量参数和数值参数中。要提供一个默认值,在参数声明中以等号和一个常量表达式(和参数的类型赋值兼容)作为结束。 比如,给定下面的声明

procedure FillArray(A: array of Integer; Value: Integer = 0);

下面的过程调用是相等的。

FillArray(MyArray);

FillArray(MyArray, 0);

一个多参数声明不能指定一个默认值,这样,虽然

- 92 -

Procedures and functions

function MyFunction(X: Real = 3.5; Y: Real = 3.5): Real;

是合法的,但

function MyFunction(X, Y: Real = 3.5): Real; // 语法错误

是非法的。

有默认值的参数必须出现在参数列表的最后,也就是说,在声明了一个有默认值的参数后,它后面的所有参数也必须有默认值。所以,下面的声明是非法的。

procedure MyProcedure(I: Integer = 1; S: string); // 语法错误

在过程类型中指定的默认值会覆盖实际例程中指定的默认值。所以,给出下面的声明

type TResizer = function(X: Real; Y: Real = 1.0): Real;


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-66.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...