void CDocLine::SetEol(const CEol& cEol, COpeBlk* pcOpeBlk) { //改行コードを削除 for(int i=0;i<(Int)m_cEol.GetLen();i++){ m_cLine.Chop(); } //改行コードを挿入 m_cEol = cEol; m_cLine += cEol.GetValue2(); }
CLogicInt CViewCommander::ConvertEol(const wchar_t* pszText, CLogicInt nTextLen, wchar_t* pszConvertedText) { // original by 2009.02.28 salarm CLogicInt nConvertedTextLen; CEol eol = GetDocument()->m_cDocEditor.GetNewLineCode(); nConvertedTextLen = 0; bool bExtEol = GetDllShareData().m_Common.m_sEdit.m_bEnableExtEol; if( pszConvertedText == NULL ){ for( int i = 0; i < nTextLen; i++ ){ if( WCODE::IsLineDelimiter(pszText[i], bExtEol) ){ if( pszText[i] == WCODE::CR ){ if( i + 1 < nTextLen && pszText[i + 1] == WCODE::LF ){ i++; } } nConvertedTextLen += eol.GetLen(); } else { nConvertedTextLen++; } } }else{ for( int i = 0; i < nTextLen; i++ ){ if( WCODE::IsLineDelimiter(pszText[i], bExtEol) ){ if( pszText[i] == WCODE::CR ){ if( i + 1 < nTextLen && pszText[i + 1] == WCODE::LF ){ i++; } } wmemcpy( &pszConvertedText[nConvertedTextLen], eol.GetValue2(), eol.GetLen() ); nConvertedTextLen += eol.GetLen(); } else { pszConvertedText[nConvertedTextLen++] = pszText[i]; } } } return nConvertedTextLen; }