経過時間通知プログラム

scource code and binary code.←ソースとバイナリはこちらです。
バイナリのパスは”/Release/leave.exe”です。leave.exeを実行すれば動作します。

処理内容

以下のソースをみてください。
void CLeaveDlg::OnBUTTONStart() 
{
	DWORD time;
	CString message;
	CLeaveDlg::UpdateData(TRUE);
	if (m_TIME.GetLength() == 0 ) {
		message.LoadString(IDS_STRING2);
		::AfxMessageBox(message);
		return;
	} else {
		time = atoi(m_TIME);
		if ( time == 0 ) {
			message.LoadString(IDS_STRING3);
			::AfxMessageBox(message);
			return;
		}
		Sleep(time * 60000);
		message.LoadString(IDS_STRING001);
		::AfxMessageBox(message);
//		::AfxGetMainWnd()->SendMessage(WM_CLOSE);
	}
	
}

m_TIME:分を入力するテキストボックスのメンバ変数

VCでプロジェクトを開いたら、Ctrl+Wをおしてみてください。ClassWizardが表示されます。 メンバ変数タブコントロールに対するメンバを見ることができます。
UpdateData(TRUE)を記述しなければ、テキストボックスの値を取得することができません。

atoi:文字から数値へ変換

atoiで数値に変換します。atoiで変換不可な文字列はエラーとします。
また、0を入力した場合も、エラーとします。

Sleep:スレッドの停止

ねむる。

コメント

UpdateDataを書かなければならないところがわかりにくい。
ClassWizardもわかりにくい。
LoadStringもStringTableを知らなければ、意味がわからない。
プログラムがVCの操作に依存している。