cb029 「ミリ秒単位の時間測定」(04/11/22 Mon)
← 戻る | C++ Builderメニュー | 次へ → | ☆ Top ☆ |
ストップウォッチを作ったり、正確な時間を計ったり、そんな時に使うんですか。
とりあえずは簡単な方から。
☆GetTickCount()を使う☆
void __fastcall TForm1::Button5Click(TObject *Sender)
{
DWORD tcount; //unsigned tcount; でも int
tcount;でもOK(ただし32bit環境)
tcount = GetTickCount();
Label1->Caption = tcount;
}
簡単ですが、これだけでは、「Windowsを起動してからの経過秒」をミリ秒単位で返してくるので、
5525855とかすんごい数値が入ります。実際使用する際は、引き算するとか工夫が必要ですね。
あと、DWORD型で宣言してますが、これは「32bit符号(±の区別)なし整数型」 です。
ま、経過時間を返すので、マイナスは必要ないってことで符号なしなんですよ。
別にint型でも使えますよ。ただし、int型だと実行する環境が16bit環境だと扱える数値が極端に
少なくなる(32bit⇒16bit)ので危険かもです。
さてもう1つの方法は、timeGetTime()を使います。ただしこっちは、
ソースファイルの先頭で、「mmsystem.hをインクルード」すると書いて、
なおかつ「プロジェクトに追加」で、winmm.libを読みこんでおきます。
この2つの準備が必要です。
☆timeGetTime()を使う☆
#include
"mmsystem.h"
//<winmm.lib>をプロジェクトに追加
void __fastcall TForm1::Button4Click(TObject *Sender)
{
DWORD scount;
scount = timeGetTime();
Label2->Caption = scount;
}
こっちも「Windowsを起動してからの経過秒」を取得します。
まぁどっちにしても、利用するには、ちょっと工夫が必要ですね。
← 戻る | C++ Builderメニュー | 次へ → | ☆ Top ☆ |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||