本文整理汇总了C++中CStringList::RemoveTail方法的典型用法代码示例。如果您正苦于以下问题:C++ CStringList::RemoveTail方法的具体用法?C++ CStringList::RemoveTail怎么用?C++ CStringList::RemoveTail使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStringList
的用法示例。
在下文中一共展示了CStringList::RemoveTail方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Search
void CHomeSearchCtrl::Search(bool bAutostart)
{
CString strText, strURI, strEntry, strClear;
m_wndText.GetWindowText( strText );
strText.TrimLeft();
strText.TrimRight();
LoadString( strClear, IDS_SEARCH_PAD_CLEAR_HISTORY );
if ( _tcscmp ( strClear , strText ) == 0 ) return;
// Check if user mistakenly pasted download link to search input box
if (theApp.OpenURL( strText, TRUE, TRUE ) )
{
m_wndText.SetWindowText( _T("") );
return;
}
CSchemaPtr pSchema = m_wndSchema.GetSelected();
if ( pSchema != NULL ) strURI = pSchema->GetURI();
Settings.Search.LastSchemaURI = strURI;
CQuerySearchPtr pSearch = new CQuerySearch();
pSearch->m_bAutostart = bAutostart;
pSearch->m_sSearch = strText;
pSearch->m_pSchema = pSchema;
BOOL bValid = pSearch->CheckValid( false );
if ( ! bValid && bAutostart )
{
// Invalid search, open help window
CQuerySearch::SearchHelp();
}
else if ( AdultFilter.IsSearchFiltered( pSearch->m_sSearch ) && bAutostart )
{
// Adult search blocked, open help window
CHelpDlg::Show( _T("SearchHelp.AdultSearch") );
}
else
{
if ( bValid )
{
// Load all
CStringList oList;
for ( int i = 0; ; i++ )
{
strEntry.Format( _T("Search.%.2i"), i + 1 );
CString strValue( theApp.GetProfileString( _T("Search"), strEntry ) );
if ( strValue.IsEmpty() )
break;
int lf = strValue.Find( _T('\n') );
if ( strText.CompareNoCase( ( lf != -1 ) ? strValue.Left( lf ) : strValue ) )
oList.AddTail( strValue );
}
// Cut to 200 items
while ( oList.GetCount() >= 200 )
oList.RemoveTail();
// New one (at top)
oList.AddHead( strURI.IsEmpty() ? strText : ( strText + _T('\n') + strURI ) );
// Save list
POSITION pos = oList.GetHeadPosition();
for ( int i = 0; pos; ++i )
{
strEntry.Format( _T("Search.%.2i"), i + 1 );
theApp.WriteProfileString( _T("Search"), strEntry, oList.GetNext( pos ) );
}
FillHistory();
}
new CSearchWnd( pSearch );
}
m_wndText.SetWindowText( _T("") );
}
示例2: OnDsp2H
void OnDsp2H(CStringList& strFileList, CString strSrcDir, CString strDstDir, BOOL bForce)
{
CString strSrcFile, strDstFile, strTemp, strVal, strOut;;
CStdioFile out;
CFileStatus status;
POSITION pos;
int iDot, iOffset, iPage, iLength;
strDstFile = strDstDir + strFileList.RemoveTail();
if (!PromptOverwriteFile(strDstFile, bForce)) return;
#ifndef __GNUC__
CFile::GetStatus(strDstFile, status);
#else
stat(strDstFile.c_str(),&status);
#endif
iOffset = 0;
iPage = 0;
strOut = _T("");
#ifndef __GNUC__
for (pos = strFileList.GetHeadPosition(); pos != NULL; )
#else
for (pos = strFileList.begin(); pos != strFileList.end(); ++pos)
#endif
{
strTemp = strFileList.GetNext(pos);
strSrcFile = strSrcDir + strTemp;
#ifndef __GNUC__
if (!CFile::GetStatus(strSrcFile, status))
{
wprintf(_T("Source file %s doesn't exist"), strSrcFile);
#else
if (stat(strSrcFile.c_str(),&status))
{
printf("Source file %s doesn't exist", strSrcFile.c_str());
#endif
return;
}
iLength = (int)status.m_size;
iDot = strTemp.Find(_T('.'));
strTemp = strTemp.Left(iDot);
strTemp.MakeUpper();
#ifndef __GNUC__
strVal.Format(_T("#define SYSTEM_%s_PAGE\t\t(SYSTEM_DSP_PAGE + %d)\n"), strTemp, iPage);
#else
{
char buff[511];
sprintf(buff, _T("#define SYSTEM_%s_PAGE\t\t(SYSTEM_DSP_PAGE + %d)\n"), strTemp.c_str(), iPage);
strVal = buff;
}
#endif
strOut += strVal;
#ifndef __GNUC__
strVal.Format(_T("#define SYSTEM_%s_OFFSET\t\t0x%x\n"), strTemp, iOffset);
#else
{
char buff[511];
sprintf(buff, _T("#define SYSTEM_%s_OFFSET\t\t0x%x\n"), strTemp.c_str(), iOffset);
strVal = buff;
}
#endif
strOut += strVal;
iOffset += iLength;
while (iOffset >= FILE_FLAG_PAGE_SIZE)
{
iOffset -= FILE_FLAG_PAGE_SIZE;
iPage ++;
if (iPage >= SYSTEM_DSP_PAGE_NUM)
{
printf("DSP dat files too large!");
return;
}
}
}
if (!out.Open(strDstFile, CFile::modeCreate|CFile::modeWrite|CFile::typeText))
{
#ifndef __GNUC__
wprintf(_T("Can not create destination file %s"), strDstFile);
#else
printf("Can not create destination file %s", strDstFile.c_str());
#endif
return;
}
out.WriteString(strOut);
out.Close();
}