変数宣言内での関数について


初心者999  2004-12-17 03:13:31  No: 12346  IP: [192.*.*.*]

変数を宣言する領域に関数を作っているコードを見ました。
この方法と、別に作成する関数とどう違うのでしょうか?
変数を宣言する領域に関数を作成するメリットは何でしょうか?


procedure TForm1.Button1Click(Sender: TObject);
var
  function test(A: integer): integer;
  begin
    result := A*10;
  end;
begin

.
.
.

end;

編集    削除
TtPIPICH  URL  2004-12-17 03:21:27  No: 12347  IP: [192.*.*.*]

基本的にはかわりませんがその手続き内でだけ使えます。
その手続き内ではよく使う処理だけど他の手続きでは使わない場合、識別子の混乱を避けることが出来ます。

編集    削除
Syake  2004-12-17 03:50:16  No: 12348  IP: [192.*.*.*]

Procedure Test1();
var
   i,j :Integer;
   function Test2() :Integer;
   var
      k :Integer
   begin

   end;
begin

end;
の場合、Test2では変数i,j,kが使用可能となり
Test1ではi,jのみ使用可能

Procedure Test1();
   function Test2() :Integer;
   var
      k :Integer
   begin

   end;
var
   i,j :Integer;
begin

end;
は、Test2はkのみ使用可能
Test1はi,jのみ使用可能
だそうです。

編集    削除
大豆Z  2004-12-17 08:29:21  No: 12349  IP: [192.*.*.*]

ヘルプ起動
VCL リファレンス
TMenuItem.GroupIndex

参照(・o・)

編集    削除
大豆Z  2004-12-17 08:29:58  No: 12350  IP: [192.*.*.*]

書く場所まちがいました

編集    削除