|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"可変個の引数に値を返す"
// 可変個かつ自由な型の引数に値を返す手続きの例2題
procedure TestProc(Fmt:string; V: array of Pointer);
var
i,j: integer;
begin
i := 1;
j := 0;
while i <= length(Fmt) do begin
case Fmt[i] of
'd': begin
Integer(V[j]^) := 1;
end;
'f': begin
Extended(V[j]^) := 0.1;
end;
end;
inc(j);
inc(i);
end;
end;
procedure TestProc2(Fmt:string; var V: array of Variant);
var
i,j: integer;
begin
i := 1;
j := 0;
while i <= length(Fmt) do begin
case Fmt[i] of
'd': begin
V[j] := 1;
end;
'f': begin
V[j] := 0.1;
end;
end;
inc(j);
inc(i);
end;
end;
procedure TForm1.FormDblClick(Sender: TObject);
var
i: integer;
f: extended;
Va: array[0..1] of Variant;
begin
TestProc('df',[@i, @f]);
Label1.Caption := InttoStr(i);
Label2.Caption := FloattoStr(f);
TestProc2('df',Va);
Label3.Caption := InttoStr(Va[0]);
Label4.Caption := FloattoStr(Va[1]);
end;
TN(CQJ01721)
Original document by TN 氏 ID:(CQJ01721)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|