記事カテゴリ

ユーザー機能


 2024年5月18日(土) 17:43 JST

Error 1328. ファイル C:Config.Msixxxx.tmp へのパッチ適用エラー

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    4,336

今更ですが、既存のDelphi3で動作しているシステムをDelphi2006以降にアップグレードできるのか評価する目的で、Delphi2005を作業場の環境にインストールしたので、Update3まで適用することにしました。
いきなり、Update3を当てに行くと...

数値の丸め方っていろいろあるんだ

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    8,278

数値を扱う際に数値を丸めることは日常的に行われています。
その方法は、切り捨て/切り上げ/四捨五入 と考えるのが最も一般的であるかと思います。
このように列挙すると他に何があるの?と言う話になりますが...
四捨五入には実はいろいろな方法があるようです。数年前、Delphi の四捨五入の方法が、一般的によく使用されている下記のような半ば常識とした四捨五入の方法と異なっていることから、Delphi の四捨五入の実装方法である Banker's Rounding (=IEEE754 で規定されている) の内容を調べたことがあります。
その四捨五入の方法とは下記のような仕様でした。

基本的には最も近い整数値に丸めつつも,上下の整数が等しく近い場合には偶数となる方を優先する。
具体的には、丸めたい一つ下の桁を参照して、その数字が4以下であれば切り捨て6以上であれば切り上げする。5の場合は特殊で、1桁上(丸めたい桁)が奇数なら切り上げそうでなければ切り捨てする。

この調べものの際に、Microsoft の丸めを行うカスタム プロシージャを実装する方法を参照したことがあります。
このページにはいろいろな丸めの方法が記載されており、そのコーディング方法も記載されていて非常に参考になりました。
最近また見る機会があったので、知らない人もかなり多かったこともあり、自分のメモがてら載っけておきます。

Visual Studio 2005 に挑戦!

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    4,602
今週から VS 2005 による C# でのプログラムの勉強を開始した。<やっとか!

仕事で C# か Java を使うことになっているため、とりあえず Java はちょっと遠慮させていただきたいので、C# を始めている。(仕事での担当者の意向にもよる。その上司は Java 派の様なのだが...)

これまでにも、VS2002?3? を購入したり、先日の MSC2005 で本を買ったりしてはいたのだが、やはり気持ちがのらない。でも今回は仕事なのでがんばるつもりで...

で、本格的な開発に入る前の調査として C# & .Net Framework 2.0 での開発に問題がないのか?と言うところが年内の仕事になっている。
調査内容をブレイクダウンしてみると...
  1. Database が Postgres V8.1 に決定したので、それに接続が可能か?(できればネイティブで)
  2. O/R マッピングが使用したいとの要望から、Nhibernate が VS2005 で動作するか?

上記に沿って二日ほど調べたのだが、Postgres に付属している PostgresSQL 用の .Net Data Provider は .Net Framework 1.1 用しか提供されていないようだ。
これでは最初の要件が達成できないので、Google で調べてみる。
スポンサーに CoreLab へのリンクがあった。早速、ここの製品である PostgreSQLDirect .NETを 試してみる。(6フィールドまでに限定された試用版がある。)
サンプルも付属していたので、それを元に試してみる。試してみると結構簡単につながった。つながったけど、日本語が文字化けしている。たぶん Encoding の指定が正しくないと直感的に考え Encoding 指定を探すが見つからず、CoreLab のサイトのフォーラムから Unicode を使用したいと書いている投稿を見つけた。その投稿によると Unicode を使用する場合には Charset プロパティを使用するとのこと。このプロパティを "SJIS" に変更してみると問題は解決した。(ちなみに Postgre に付属の Npgsql を使用する場合には、接続文字列に Encoding=SJIS と指定するか、 接続後 SET CLIENT_ENCODING TO SJIS と SQL を発行するようです。ちなみに後者の方法は CoreLab のドライバでも有効でした。)

NHibaernate の方もダウンロードしてきて試してみる。こっちは @IT や CodeZine に記事があったのでそれを読んだ。
今回は特に CodeZine の「を利用してSQLを書かずにデータベースにアクセスする方法」を参考にさせていただいた。CodeZine では記事はふつうに非会員でも読めるが、サンプルは会員のみとなっているので、登録させていただいた。
こちらも、このサンプルのおかげで NHibernate が VS2005 上で動作することは確認できた。
しかし、必要な要件の (1)と(2)の組み合わせがうまくいかない。
NHibernate の接続文字列の設定が Npgsql のものしか提供されていない。だめ元で Npgsql 用に改造してみるが、つながらない。とここで、Npgsql への参照設定が抜けていたことに気づき、これを加えてみるがやはりうまくいかない。
CoreLab のフォーラムで投稿を検索してみる。他のドライバへの投稿を含め 3 投稿発見できたが、接続文字列の例はなく暗礁に乗り上げた格好だ。
この開発の着手が来年3月以降に予定しているので、それまでに Npgsql が .Net Framework 2.0 に対応してくれることを期待しつつ他を探している。

[Delphi] 条件に一致するファイルをサブフォルダも探す

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    7,380

条件に合致するファイルを探し出し、見つかったファイルに対して何か作業ができるようにイベントを発生させています。
指定フォルダ以下のサブフォルダに対しても検索をかけています。サブフォルダの階層を制限する場合や、サブフォルダの検索が不要な際には、イベント中で DigDir 引数に対し False を返すとそれ以上のサブフォルダを処理しません。
見つかったときの処理を直コーディングせずにイベントにしたことでクラス化が行え、再利用性が高まっています。別にライブラリでもよかったのですが、コンポーネントのほうが視覚的に見えてダブルクリックでコーディングしていけるので皆さんに使ってもらいやすいかな?というぐらいのものです。

[Excel VBA] 特定条件を満たすセルを見つける

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    7,843

Excel で以下の様な番号と名前のデータがあったときに、番号をキーにして名前を取得するようなことは多いだろう。
このようなケースを処理するためには、Find メソッドを使用するとうまくできる。
特定条件を満たすセルを見つけた後、削除するような処理では以下の方法が使用できない。
この様な場合には、[Excel VBA] 特定条件を満たすセルを見つける2を参照いただきたい。


サイトカレンダー

サイトカレンダーをスキップ

2024年 05月
«
»
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

新着情報

記事 新着(24時間)

-

コメント 新着(2日)

-

トラックバック 新着(2日)

-

リンク 新着(2週)

新しいリンクはありません

ファイル (14日)