私の脳はメモリ不足の例外をスローしてクラッシュしたと思います。私の問題は、SYSTEMTIME
ユーザー定義のサイズ3のクラスメンバー配列があることです(.luaから読み取られます)。
SYSTEMTIME m_MatchTime[3];
次に、ファイルから次のように読み取られます。
m_MatchTime[0].wDayOfWeek = static_cast<WORD>( m_Lua.GetGlobalNumber( "FirstDay" ) );
m_MatchTime[0].wHour = static_cast<WORD>( m_Lua.GetGlobalNumber( "FirstHour" ) );
m_MatchTime[0].wMinute = static_cast<WORD>( m_Lua.GetGlobalNumber( "FirstMinute" ) );
m_MatchTime[1].wDayOfWeek = static_cast<WORD>( m_Lua.GetGlobalNumber( "SecondDay" ) );
m_MatchTime[1].wHour = static_cast<WORD>( m_Lua.GetGlobalNumber( "SecondHour" ) );
m_MatchTime[1].wMinute = static_cast<WORD>( m_Lua.GetGlobalNumber( "SecondMinute" ) );
m_MatchTime[2].wDayOfWeek = static_cast<WORD>( m_Lua.GetGlobalNumber( "ThirdDay" ) );
m_MatchTime[2].wHour = static_cast<WORD>( m_Lua.GetGlobalNumber( "ThirdHour" ) );
m_MatchTime[2].wMinute = static_cast<WORD>( m_Lua.GetGlobalNumber( "ThirdMinute" ) );
今私は方法を持っています:
SYSTEMTIME cTime;
GetLocalTime( &cTime );
3つのユーザー定義時間のうち、現在の時間より前で現在の時間に近い時間を計算してから、残り時間を計算する必要があります(日曜日= 0、土曜日= 6であることに注意してください。また、wDayOfWeek、wHour、およびwMinuteのみが必要であることに注意してください。最も近いものに到達するために比較して)
編集:今、私は解決策に対して500バウンティを授与しています、私が欲しいものの例に注意してください、
今日:4日目、3時間目、0分目、
日付:5日目、5時間目、30分目
日付までの残り時間は、1日、2時間、30分です。