< July 2004 | August 2004 | September 2004 >

August 19, 2004

衝撃のゼロサプレス

ゼロサプレス、ってよく使う言葉だけど、前ゼロ詰めすることだと思ってなかった? 私は層信じて疑わなかった。でも、IT media IT用語辞典によると、

ゼロサプレス 【zero suppress】
読み方:ゼロサプレス

指定した桁数に満たない数値を文字として表現するときに、先頭の「0」を削除する、もしくは空白で置き換える処理のこと。

「102」という10進数の数値を5桁で表現する場合は、「00102」ではなく、「 102」もしくは「102」とする。「00000」は「 0」あるいは「0」になる。

「指定した桁数まで先頭を0で埋める」という逆の意味に取り違えている人が多いので注意が必要である。

おもっきし逆じゃん! あれー?

August 17, 2004

ODBCサンプル

ODBC を使ったサンプルは、巷にごろごろしてるのですが、SQLAllocEnv といった、推奨されない古い関数を使用したものが多いようです。新しい関数を使おうとすると、サンプルが少ないうえに、ドキュメントが英語で苦労しました。共通関数化したものをアップしておきます。使用例はそのうち追記します。

追記(2004/08/17)。トランザクションを明示的にコミットまたはロールバックするには、データソース接続後に自動コミットをオフにする必要があります。SDKドキュメントには、接続前でもいいと書かれていますが、後でないと期待した動きにならないようです。サンプルは未修正です。

追記(2004/08/18)。データソースに接続した後、自動コミットをオフにする処理を追加しました。

続きを読む...

August 11, 2004

debug_printf

2chのどっかで拾ったコード。なるほどーと思ったので貼ってみる。

#ifdef	_DEBUG
#define	debug_printf	printf
#else	// _DEBUG
#define	debug_printf	1? (void)0: printf
#endif	// _DEBUG

August 5, 2004

インストール後のファイルの日時が9時間ずれる

Visual Studio Installer 1.1 を使って作成したインストーラでインストールすると、元ファイルより9時間古い日付でコピーされてしまうという現象がおきました。ちょうど GMT と JST との差が9時間なので、タイムゾーンのトラブルっぽいですが、そのような情報が見つからないので、何が原因なのかわかりません。
続きを読む...