Source Insight 宏 【删除行尾空白】 【删除多余的空白行】

/***************************************************************************** 函 数 名 : RmvBlanksBeforeEOL 功能描述 : 删除行尾空白 输出参数 : 无 返 回 值 : 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2010年 8月 5日 作 者 : 焦治克 修改内容 : 新生成函数 *****************************************************************************/ macro RmvBlanksBeforeEOL() { hwnd = GetCurrentWnd() if (hwnd == 0) stop hbuf = GetWndBuf(hwnd) lnCount = GetBufLineCount(hbuf) ln = 0; while(ln < lnCount) { szLine = GetBufLine(hbuf, ln) nLen = strlen(szLine) if(nLen > 0) { nIdx = nLen while( nIdx > 0 ) { if( ( szLine[nIdx - 1] != " ") && (szLine[nIdx - 1] != "/t") ) { break } nIdx = nIdx - 1 } if (nIdx < nLen) { szNew = strmid(szLine,0,nIdx) PutBufLine(hbuf, ln, szNew) } } ln = ln + 1; } } /***************************************************************************** 函 数 名 : RmvMultiBlankLines 功能描述 : 删除重复的空白行,该函数依赖于RmvBlanksBeforeEOL 请先使用RmvBlanksBeforeEOL删除行尾空白 输出参数 : 无 返 回 值 : 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2010年 8月 5日 作 者 : 焦治克 修改内容 : 新生成函数 *****************************************************************************/ macro RmvMultiBlankLines() { hwnd = GetCurrentWnd() if (hwnd == 0) stop hbuf = GetWndBuf(hwnd) lnCount = GetBufLineCount(hbuf) ln = 0; flag = 0; while(ln < lnCount) { szLine = GetBufLine(hbuf, ln) nLen = strlen(szLine) if (0 == nLen) { if (1 == flag) { DelBufLine(hbuf, ln); lnCount = lnCount - 1; continue } flag = 1; ln = ln + 1; continue; } flag = 0; ln = ln + 1; } }

 

 

你可能感兴趣的:(2010)