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 回答