|
| Delphi - Delphiでちょっと使える子ネタ集 |
| 第3回 「再帰対応関数とファイル列挙」 |
|
こんにちは、Delphi6が出荷されましたね。どうもPersonal-Editionは近いうちには無料配布されるようです。開発環境のフリー化がどんどん進んでいる中でBorlandも頑張ってくれていて嬉しい限りです。Delphi6はLinux版Delphiという位置づけのKylixとの連携が強く意識されているそうなので、Java並のクロスプラットフォームが実現されるかもしれませんね。 さて今回は「再帰対応関数とファイル列挙」という話題です。よく考えてみると列挙物のTipsばかりなような気がします。(^_^;今回は個人で使おうと思っているファイルリストメーカーを作るときに使った関数群です。だいぶ前(1年半くらい)にもリスト作成ソフトを作ろうとしたんですが、どうもうまく行かず投げ出した記憶があります。(T-T |
||
| 3-1 再帰対応関数その1 | ||
|
関数について考えると、普通1回呼び出して終了する物が多いかと思います。前のウィンドウ列挙の時は子ウィンドウ列挙を親ウィンドウ列挙の中で実行しましたが、あれは中の処理は同じ物ではありませんので、単に関数を呼び出しているだけです。 基本的に関数内で定義された変数のスコープはその実行中の関数のプロセス内であり、その有効期限はプロセスが実行されている間だけになります。この事から、必要な情報は引数として渡し、その結果は返り値で返す方法を取ることになります。グローバル変数に対して処理を繰り返す方法を取ることも出来ますが、それは関数の独立性を損ないカプセル化の考え方に反するので、出来るだけ関数は独立した形で使うことを心がけるようにしましょう。 では簡単な例として有名な整数の階乗計算ルーチンを2通り載せます。
問題は負数が入力されたときの事ですが、それはユーザプログラム側でフールプルーフ(ユーザの誤った操作を判別し、予定外の動作を防ぐこと)するようにしましょう。まあ、機構上無限ループに陥る可能性はないので安心ですが。 今回はこれだけです。次に続きますよ。 |
||
| Copyright tanpa 2000-2012 |