お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
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