?? cpitfilelist.cpp
字號:
// CPITFileList.cpp: implementation of the CCPITFileList class.
//
//////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "CPITFileList.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCPITFileList::CCPITFileList(int nPageSize)
{
m_nPageSize=nPageSize;
m_nCurPage=1;
m_nPageCount=1;
m_nCurIDofPage=0;
m_nCurItem=0;
}
CCPITFileList::~CCPITFileList()
{
m_FileList.RemoveAll();
}
//DEL int CCPITFileList::PageBegin()
//DEL {
//DEL int PageBegin=0;
//DEL if ( m_nCurPage >1 )
//DEL PageBegin=(m_nCurPage-1)*m_nPageSize;
//DEL else
//DEL PageBegin=0;
//DEL
//DEL return PageBegin;
//DEL
//DEL }
//DEL int CCPITFileList::PageEnd()
//DEL {
//DEL int PageEnd=0;
//DEL if ( m_nCurPage >1 )
//DEL PageEnd=m_nCurPage*(m_nPageSize-1);
//DEL else
//DEL {
//DEL if ( m_FileList.GetSize() < m_nPageSize )
//DEL PageEnd=m_FileList.GetSize() ;
//DEL else if ( m_FileList.GetSize() >0 )
//DEL PageEnd=9;
//DEL else
//DEL PageEnd=0;
//DEL }
//DEL
//DEL return PageEnd;
//DEL
//DEL }
int CCPITFileList::NextPage()
{
m_nCurPage++;
if ( m_nCurPage >= m_nPageCount)
m_nCurPage=m_nPageCount;
if ( m_nCurPage >1 )
m_nCurItem=(m_nCurPage-1)*m_nPageSize;
else
m_nCurItem=0;
if ( m_nCurItem>=m_FileList.GetSize() )
m_nCurPage=m_nPageCount;
return m_nCurPage;
}
int CCPITFileList::PrePage()
{
m_nCurPage--;
// if ( m_nCurPage >=m_nPageCount)
// m_nCurPage=m_nPageCount;
// else
if ( m_nCurPage < 1)
m_nCurPage=1;
if ( m_nCurPage >1 )
m_nCurItem=(m_nCurPage-1)*m_nPageSize;
else
m_nCurItem=0;
return m_nCurPage;
}
//
int CCPITFileList::Add( CPIT_FILEINFO newElement )
{
/* m_FileList.Add(newElement);
m_nCurItem=m_FileList.GetSize()-1;
m_nCurIDofPage=m_FileList.GetSize() % (m_nPageSize-1) ;
if ( m_nCurIDofPage == 0 )
m_nPageCount= m_FileList.GetSize()/(m_nPageSize-1);
else
m_nPageCount= m_FileList.GetSize()/(m_nPageSize-1)+1;
return GetSize( );
*/
m_FileList.Add(newElement);
m_nCurItem=m_FileList.GetSize()-1;
m_nCurIDofPage=m_FileList.GetSize() % m_nPageSize ;
if ( m_nCurIDofPage == 0 )
m_nPageCount= m_FileList.GetSize()/m_nPageSize;
else
m_nPageCount= m_FileList.GetSize()/m_nPageSize + 1;
return GetSize( );
}
void CCPITFileList::RemoveAt(int nIndex, int nCount )
{
if ( nIndex + nCount <= GetSize( ) )
{
m_FileList.RemoveAt(nIndex,nCount);
if ( ( m_FileList.GetSize() % m_nPageSize ) == 0 )
m_nPageCount= m_FileList.GetSize()/(m_nPageSize-1);
else
m_nPageCount= m_FileList.GetSize()/(m_nPageSize-1)+1;
m_nCurItem=nIndex-nCount;
m_nCurIDofPage= m_nCurItem % (m_nPageSize-1);
if ( m_nCurIDofPage == 0 )
m_nCurPage= m_nCurItem/(m_nPageSize-1);
else
m_nCurPage= m_nCurItem/(m_nPageSize-1)+1;
}
}
//DEL BOOL CCPITFileList::IsEnd()
//DEL {
//DEL return ( m_nCurItem+1 ) >=GetSize();
//DEL
//DEL }
//DEL BOOL CCPITFileList::IsFirst()
//DEL {
//DEL return ( m_nCurItem-1 ) < 0;
//DEL }
//
CPIT_FILEINFO CCPITFileList::GetAt( int nIndex ) {
ASSERT( nIndex < m_FileList.GetSize() );
m_nCurItem=nIndex;
/*
m_nCurIDofPage= m_nCurItem % (m_nPageSize-1);
if ( m_nCurIDofPage == 0 )
m_nCurPage= m_nCurItem/(m_nPageSize-1);
else
m_nCurPage= m_nCurItem/(m_nPageSize-1)+1;
if ( m_nCurPage ==0 )
m_nCurPage=1;
else if ( m_nCurPage > m_nPageCount )
m_nCurPage=m_nPageCount;
*/
return m_FileList.GetAt(nIndex);
}
CPIT_FILEINFO CCPITFileList::NextItem()
{
m_nCurItem++;
if ( m_nCurItem >= GetSize() )
m_nCurItem=GetSize()-1;
m_nCurIDofPage++;
if ( m_nCurIDofPage >= m_nPageSize )
{
m_nCurIDofPage=0;
m_nCurPage++;
if ( m_nCurPage >=m_nPageCount )
{
m_nCurPage=m_nPageCount;
}
}
return GetAt( m_nCurItem) ;
}
//DEL CPIT_FILEINFO CCPITFileList::PrevItem()
//DEL {
//DEL m_nCurItem--;
//DEL if ( m_nCurItem <= 0 )
//DEL m_nCurItem=0;
//DEL
//DEL m_nCurIDofPage--;
//DEL if ( m_nCurIDofPage <=0 )
//DEL {
//DEL m_nCurIDofPage=m_nPageSize-1;
//DEL m_nCurPage--;
//DEL if ( m_nCurPage <=1 )
//DEL {
//DEL m_nCurPage=1;
//DEL }
//DEL }
//DEL
//DEL return GetAt( m_nCurItem) ;
//DEL
//DEL
//DEL }
//DEL CPIT_FILEINFO CCPITFileList::First()
//DEL {
//DEL ASSERT( GetSize() > 0 );
//DEL
//DEL m_nCurItem=0;
//DEL m_nCurIDofPage=0;
//DEL m_nCurPage=1;
//DEL
//DEL return GetAt( 0 ) ;
//DEL
//DEL
//DEL
//DEL }
//DEL CPIT_FILEINFO CCPITFileList::End()
//DEL {
//DEL ASSERT( GetSize() > 0 );
//DEL
//DEL m_nCurItem=GetSize()-1;
//DEL m_nCurIDofPage=0;
//DEL m_nCurPage=m_nPageCount;
//DEL
//DEL return GetAt( m_nCurItem ) ;
//DEL
//DEL }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -