0

私は、特定の時間になると何か(私がまだ望んでいるIDK)を実行するための小さなアラートシステムを作成しようとしています。ただし、いくつかの簡単な変更を行った後、WinFormでそのコードを実行すると、これらすべてのエラーが発生します。しかし、このコード(変更なし)は私の空のプロジェクトで機能しました!以下のスニペットがあります:

int checktime ()
{
    SYSTEMTIME time;
    GetLocalTime( &time );
    int hour = time.wHour;
    int minute = time.wMinute;
    if (hour > 12) hour -= 12;
    if hour == 8
    {
        this->progressBar1->PerformStep();
    }
}

いつものように、私は利用可能な助けや提案をいただければ幸いです。ありがとう!

4

2 に答える 2

2
if hour == 8

これは有効なC++またはC++/CLIではありません。ステートメント内の括弧ifはオプションではありません。

そして、なぜ.NETを使用しないのですSystem::DateTime::Nowか?その関数全体は次のようになります。

int checktime ()
{
   int hour = System::DateTime::Now.Hour;
   if (hour == 8 || hour == 20)
    this->progressBar1->PerformStep();
}
于 2011-06-12T03:04:41.913 に答える
0

Timerオブジェクトを使用して、経過時間を追跡します。

デザイナで、タイマーをツールボックスからフォームにドラッグするか、コードでインスタンス化します。(メンバーを使用して)期間を設定でき、interval「ティック」ごとに、システムがイベントを発生させ、アクションを実行できます。

別のスレッドがバックグラウンドで追跡しているようなものなので、これは素晴らしいことです。

于 2011-06-12T03:02:15.460 に答える