パラメータの受け渡し

手続きや関数では、パラメータを渡して処理をすることがあります。
呼び出す側で指定するパラメータを実引数、呼ばれる側のパラメータを仮引数と言います。
※実引数と仮引数の変数名は同じでなくてもよい

  intMenseki := Menseki_keisan(intTate,intYoko);  //赤い文字は実引数(呼び出す側)
  Edit3.Text := IntTOStr(intMenseki);

end;

function Menseki_keisan(intTate, intYoko : Integer) : Integer; //青い部分は仮引数(呼び出される側)
  begin
    Menseki_keisan := intYoko * intTate;                       
  end;
  • Delphiのパラメータには、値パラメータ、変数パラメータ、定数パラメータの3種類があります。
  • 値パラメータは、ローカルパラメータなので、仮引数で変更した内容は実引数に影響を与えません。
    procedure TForm1.Button1Click(Sender: TObject);//ボタンクリック
    var
      intA,intB : Integer;
    begin
      intA := 10;          //値を代入
      intB := 20;
      Tashizan(intA,intB); //手続きの呼び出し、値10と20を渡す。
    end;
    
    procedure Tashizan(intA,intB:Integer);//手続き (仮引数)
    begin
      Form1.Edit3.Text := IntToStr(intA + intB);//引き渡された値で計算
    end;
  • 変数パラメータは、仮引数で変更した内容は実引数に影響します。
    引数を変数パラメータとして渡すには、呼ばれる側の手続き(関数)で、仮引数の前に予約語varを記述します。
    実引数の初期値には、仮引数の値が使われます。

    【サンプル】

    procedure Tashizan(var intA,intB :Integer);   //手続き (仮引数)
    begin
       intA := intA * 2;                          //仮引数(値を変更)
       intB := intB * 2;                          //仮引数(値を変更)
    
    end;
    procedure TForm1.FormCreate(Sender: TObject);
     var
        A,B : Integer;
    begin
      A := 10;                          //実引数
      B := 20;                          //実引数
      Form1.Edit1.Text := IntToStr(A);
      Form1.Edit2.Text := IntToStr(B);
    
      Tashizan(A,B); //手続きの呼び出し、値10と20を渡す。
      Form1.Edit3.Text := IntToStr(A + B); // 結果を表示
    end;

    【実行結果】 ちょっとヘンなサンプルですけどぉ(^^;
    ren24

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です