忍者ブログ

ゆるいSEの小ネタ集

ゆるキャラ好きのITエンジニアが書くTips。 ゆるキャラ命なSEのIT徒然草 https://itmagic.hatenablog.com/

[Delphi]関数

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

[Delphi]関数


■構文
procedure Tfrm1.UpdateEmp(pFlg: Boolean);
procedure Tfrm1.UpdateEmp(); →引数なしの場合は、カッコなくてもよい
  →procedure Tfrm1.UpdateEmp;

■procedure と function の違い
・procedure 戻り値がない
・function 戻り値がある

■戻り値をセットする
以下のように記述する。
  Result := False;
  >関数名 := False;  でもよい。
javaのreturnのようにここでメソッドの処理が終了するわけではない。
※関数の処理を中断するときは exit; で抜ける。

■参照渡し
  参照渡しを行うパラメータは「var」を前につける。つけなければ値渡しになる。
  function ChkABC(pAAACd: string; var pBBBCd, pCCCCd, pDDDCd: string): boolean;
    var を書くときは、一度;で区切る必要あり。
    また各引数ごとにつけるわけではない var~型名 で一対になる

■関数内の関数
特定の関数内でのみ使用する関数を定義できる。

■スコープ
privateの上にあるプロシージャ > 画面上のコンポーネントのイベントによってのみ呼び出される。
Private内のプロシージャ > ソース内の同一Unit内から呼び出される。
Public句内のプロシージャ > 別Unitからも呼び出し可能。ソースから呼ばれる。

■関数をどこに定義すべきか?
var 以下に関数を定義すると、オブジェクトとして定義されない。
つまり、Unitをuses句にさえ入れていれば、 単純に関数名だけで呼び出すことができるため、
何のオブジェクトが持つ関数かわかりにくい。
public句に定義した関数の場合は、 オブジェクト名.関数 で呼び出す必要があるので、こちらの記述方法が推奨される。
・Odd
引数が奇数のときに True を返す
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
ゆるキャラ命
性別:
非公開

P R