2007年11月21日水曜日

生産について(5000個のバグと戦ったMS)

こういう方法で開発してたのか~とちょっと感心した。
なるほど、効率的に感じる。
うちの社内じゃ難しそうだけどw
http://www.atmarkit.co.jp/news/200711/20/vs.html

2007年11月19日月曜日

[CrystalReport]横に表示する

VS2005付属 クリスタルレポート

右クリック>レポート>セクションエキスパートを選択
詳細>複数の列で表示
タブ(レイアウト)>横から縦
に変更

横幅を適当に変更すればOK

データグリッドビューの値を取得、表示

VB2005にて

DataGridViewに表示したものを選択、取得、表示する。
txtBox.Text = DataGridView.SelectedCells(i).Value
選択はFullRowSelect
iはColumnの値

これを忘れててうまいこといかず、20分悩んでたorz

ほかにも
txtBoxText = DataGridView.SelectedRows(0).Cells("columnName").Value
などがあるらしい

2007年11月8日木曜日

ファイルの読み込み例外処理

テストでファイルやフォルダのアクセス権なくしたり。
読み込むファイル削除したり。
ファイル消して同じ名前のフォルダ作ったり。
単なるファイルの読み込みだけでもテスト項目って豊富なんやなーと。

そのたびに例外が発生してたので処理書いて残しときます。
--------------------
using System;
using System.IO;

if (File.Exists(path) == false) {
// 読み取れるファイルで無い
}
try {
// ファイル読み込み
using (FileStream fs = new FileStream(path, FileMode.Open)) {
}
} catch (UnauthorizedAccessException) {
// アクセス権
} catch (IOException) {
// I/O エラー
}

--------------------

.

2007年11月5日月曜日

値クラス(value class)のコンストラクタ

値クラスにコンストラクタを宣言した所
コンパイルエラーとなり、原因を調べてましたので残しておきます。

値クラスの宣言方法:
public value class A{
...
};

値クラスにはデフォルトコンストラクタを宣言することができません。
(コピーコンストラクタも宣言できません)

値クラスにはデフォルトコンストラクタとコピーコンストラクタが
自動で生成されるようです。

デフォルトコンストラクタでは
数値は全て0(ゼロ)、参照型はnullで初期化されます。

コピーコンストラクタは
メンバ変数のたんなるバイトコピーです。
なので、ポインタで持ってるものを値クラスにする場合は気をつけましょう。
そういう値クラスを作らない方がよいかな。

てな仕様だそうです。

参考文献:
値クラス仕様:http://vene.wankuma.com/ecma372/22_value_type.aspx

.

ラベル