int AfxRefreshStockContainerMinute( CStockContainer & container, LONG lStockType, int nSecondsToRead ) { container.Lock(); time_t tmTradeLatest = -1; int nCount = 0; for( int i=0; i<container.GetSize(); i++ ) { CStockInfo & info = container.ElementAt(i); if( info.GetType() != lStockType ) continue; CStock stock; stock.SetStockInfo( &info ); stock.SetDatabase( &AfxGetDB() ); AfxGetDB().LoadMinute( &stock ); info.m_minute.RemoveAll(); CMinute & minstock = stock.GetMinute(); if( -1 == tmTradeLatest && stock.GetMinute().GetSize() > 0 ) tmTradeLatest = CSPTime::GetTimeTradeLatest( minstock[0].m_time ); for( int i=0; i<minstock.GetSize(); i++ ) { if( -1 == nSecondsToRead || tmTradeLatest-minstock[i].m_time<nSecondsToRead ) info.m_minute.Add( minstock[i] ); } nCount ++; } container.UnLock(); return nCount; }