.NET/C#の1ヶ月
開発環境をVC++/MFCから.Net/C#へ移行して約1ヶ月、とりあえずAccess2000で作成されたレガシーアプリの移行を1本終えました。
前にもかきましたが.NET/C#への移行は、Windowsの開発環境が.Net中心へと傾きつつある今、VC++/MFC自体がレガシー環境になることへの不安が大きな理由なんですが、もう1つ実際的な理由として、山ほどあるレガシーアプリの書き換えにVC++/MFCでは時間がかかりすぎるという側面をもっていたからです。なので移行1本目のプログラムがどの程度の時間で実装できるのかはわりと気にしていたのですが、雑務をこなしながらゼロから始めたにしては良いペースではないかと思います。
ポイントとしては、VC++/MFCではいまひとつFlexGridコントロールとの距離があったため、Listコントロールを使うことが多かったのですが、.NET/C#に移行したおかげで、やたら便利なDataGridViewといコントロールを使えるようになったことがあります。VC++/MFCでもどうしてもというときはFlexGridを使っていたのですがDataGridViewにしたらもう戻れませんね。もう1つは、これまでなんとなく敬遠していたクリスタルレポートを導入したことで、これまでも帳票関係は自分では色々工夫はしていたのですが、なにしろ手間ばっかかかる上プログラミングしててもとしては全然面白くないのが悩みのタネだったで、思い切ってCrystal Reportsを導入してみたのですが(面白くないことは変わらないモノの)手間は幾分か減った気がします。
とにかく全体的にVC++/MFCよりは生産性は高いなぁというのがこの1ヶ月の感想。まだまだC#の深淵に触れたわけではないのですが、感覚的にはもうVBに近い感じがしました。
ところで、クリスタルレポートでデータソースを指定して印字するサンプルはいくつも見つかったのですが、データソースに加えて、UnboundFieldも組み合わせて印字するというサンプルが意外に見つからなかったのでメモしておきます。探し方が悪かったのか、ヒントばっかりでねぇ。ズバってのがなかなか探せませんでした。:-)
my_report mr = new my_report();
FormulaFieldDefinition us1 = mr.DataDefinition.FormulaFields["UnboundString1"];
us1.Text = "\"" + myUnboundsString.Text + "\"";
mr.SetDataSource(my_dataSet);テキストをダブルクォートで囲まないといけないのがミソですかね。


最近のコメント
14 weeks 4 days ago
49 weeks 2 days ago
1年 14 weeks ago
1年 14 weeks ago
1年 31 weeks ago
1年 31 weeks ago
1年 31 weeks ago
1年 43 weeks ago
1年 43 weeks ago
2 years 23 weeks ago