void CSyncDlg::ParserCmdOutput(TCHAR ch)\r
{\r
TRACE(_T("%c"),ch);\r
- if( ch == _T('\r') || ch == _T('\n'))\r
- {\r
- TRACE(_T("End Char %s \r\n"),ch==_T('\r')?_T("lf"):_T(""));\r
- TRACE(_T("End Char %s \r\n"),ch==_T('\n')?_T("cr"):_T(""));\r
+ int linenum;\r
+ int index;\r
\r
- int linenum = this->m_ctrlCmdOut.GetLineCount();\r
- int index ;\r
- if(ch == _T('\r'))\r
- {\r
+ if( ch == _T('\r') )\r
+ {\r
+ linenum = this->m_ctrlCmdOut.GetLineCount();\r
+ if(linenum>0)\r
index = this->m_ctrlCmdOut.LineIndex(linenum-1);\r
- \r
- if(linenum == 0)\r
- index = 0;\r
- }\r
else\r
- {\r
- index=-1;\r
- }\r
- \r
+ index = 0;\r
+\r
+ }else\r
+ index = -1;\r
\r
- this->m_ctrlCmdOut.SetSel(index,-1);\r
+ this->m_ctrlCmdOut.SetSel(index,-1);\r
\r
- this->m_ctrlCmdOut.ReplaceSel(CString(_T("\n"))+m_LogText);\r
- \r
- this->m_ctrlCmdOut.LineScroll(linenum-1);\r
+ this->m_ctrlCmdOut.ReplaceSel(CString(ch));\r
\r
+ this->m_ctrlCmdOut.LineScroll(linenum-1);\r
+\r
+ if( ch == _T('\r') || ch == _T('\n') )\r
+ {\r
int s1=m_LogText.Find(_T(':'));\r
int s2=m_LogText.Find(_T('%'));\r
if(s1>0 && s2>0)\r
{\r
- // this->m_CurrentWork.SetWindowTextW(m_LogText.Left(s1));\r
+ // this->m_CurrentWork.SetWindowTextW(m_LogText.Left(s1));\r
int pos=CProgressDlg::FindPercentage(m_LogText);\r
TRACE(_T("Pos %d\r\n"),pos);\r
if(pos>0)\r
this->m_ctrlProgress.SetPos(pos);\r
}\r
-\r
- m_LogText=_T("");\r
-\r
- }else\r
- {\r
- m_LogText+=ch;\r
+ m_LogText=_T(""); \r
}\r
+ m_LogText+=ch;\r
+\r
}
\ No newline at end of file