今更ですが、既存のDelphi3で動作しているシステムをDelphi2006以降にアップグレードできるのか評価する目的で、Delphi2005を作業場の環境にインストールしたので、Update3まで適用することにしました。
いきなり、Update3を当てに行くと...
2025年5月 3日(土) 21:17 JST
今更ですが、既存のDelphi3で動作しているシステムをDelphi2006以降にアップグレードできるのか評価する目的で、Delphi2005を作業場の環境にインストールしたので、Update3まで適用することにしました。
いきなり、Update3を当てに行くと...
数値を扱う際に数値を丸めることは日常的に行われています。
その方法は、切り捨て/切り上げ/四捨五入 と考えるのが最も一般的であるかと思います。
このように列挙すると他に何があるの?と言う話になりますが...
四捨五入には実はいろいろな方法があるようです。数年前、Delphi の四捨五入の方法が、一般的によく使用されている下記のような半ば常識とした四捨五入の方法と異なっていることから、Delphi の四捨五入の実装方法である Banker's Rounding (=IEEE754 で規定されている) の内容を調べたことがあります。
その四捨五入の方法とは下記のような仕様でした。
基本的には最も近い整数値に丸めつつも,上下の整数が等しく近い場合には偶数となる方を優先する。
具体的には、丸めたい一つ下の桁を参照して、その数字が4以下であれば切り捨て6以上であれば切り上げする。5の場合は特殊で、1桁上(丸めたい桁)が奇数なら切り上げそうでなければ切り捨てする。
この調べものの際に、Microsoft の丸めを行うカスタム プロシージャを実装する方法を参照したことがあります。
このページにはいろいろな丸めの方法が記載されており、そのコーディング方法も記載されていて非常に参考になりました。
最近また見る機会があったので、知らない人もかなり多かったこともあり、自分のメモがてら載っけておきます。
条件に合致するファイルを探し出し、見つかったファイルに対して何か作業ができるようにイベントを発生させています。
指定フォルダ以下のサブフォルダに対しても検索をかけています。サブフォルダの階層を制限する場合や、サブフォルダの検索が不要な際には、イベント中で DigDir 引数に対し False を返すとそれ以上のサブフォルダを処理しません。
見つかったときの処理を直コーディングせずにイベントにしたことでクラス化が行え、再利用性が高まっています。別にライブラリでもよかったのですが、コンポーネントのほうが視覚的に見えてダブルクリックでコーディングしていけるので皆さんに使ってもらいやすいかな?というぐらいのものです。
Excel で以下の様な番号と名前のデータがあったときに、番号をキーにして名前を取得するようなことは多いだろう。
このようなケースを処理するためには、Find メソッドを使用するとうまくできる。
特定条件を満たすセルを見つけた後、削除するような処理では以下の方法が使用できない。
この様な場合には、[Excel VBA] 特定条件を満たすセルを見つける2を参照いただきたい。