| | |
| | | #include "DialogSetCoil.h"
|
| | | #include "DialogSetData.h"
|
| | | #include "DialogIoComment.h"
|
| | |
|
| | | #include "KDefine.h"
|
| | |
|
| | | #ifdef _DEBUG
|
| | | #define new DEBUG_NEW
|
| | |
| | | xform1.eM12 = 0;
|
| | | xform1.eM21 = 0;
|
| | | xform1.eM22 = 1;
|
| | | xform1.eDx = -scroll1.x;
|
| | | xform1.eDy = -scroll1.y;
|
| | | xform1.eDx = float(-scroll1.x);
|
| | | xform1.eDy = float(-scroll1.y);
|
| | |
|
| | | XFORM xform2 = { 1, 0, 0, 1, 0, 0 };
|
| | |
|
| | |
| | | return 0;
|
| | | }
|
| | |
|
| | | int CMTerm2View::ScrollToCell(int nRow, int nCol)
|
| | | {
|
| | | int CellTotalHeight = m_CellHeight + (m_bShowComments ? m_CommentHeight : 0);
|
| | |
|
| | | CSize sizeTotal;
|
| | | // TODO: 计算此视图的合计大小
|
| | | sizeTotal.cx = m_LeftMargin + m_CellWidth * m_CellPerLine + m_CellWidth * 2;
|
| | | sizeTotal.cy = m_TopMargin + CellTotalHeight * (m_nTotalRow );
|
| | | CSize sizeSb;
|
| | | GetScrollBarSizes(sizeSb);
|
| | | POINT pt1;
|
| | | pt1.x = 0;
|
| | | pt1.y = nRow * CellTotalHeight;
|
| | | ScrollToPosition(pt1);
|
| | | return 0;
|
| | | }
|
| | |
|
| | | int CMTerm2View::ScrollCellIntoView(int nRow, int nCol)
|
| | | {
|
| | | int CellTotalHeight = m_CellHeight + (m_bShowComments ? m_CommentHeight : 0);
|
| | | return 0;
|
| | | }
|
| | |
|
| | | int CMTerm2View::isCellInView(int nRow, int nCol)
|
| | | {
|
| | | int CellTotalHeight = m_CellHeight + (m_bShowComments ? m_CommentHeight : 0);
|
| | | return 0;
|
| | | }
|
| | |
|
| | | int CMTerm2View::DrawLDSGraph(CDC* pDC)
|
| | | {
|
| | |
| | | s1.Format(_T("LD db Clk %d %d %02X Scroll %d %d Total %d %d Row %d Col %d"),
|
| | | point.x, point.y, nFlags, scroll1.x, scroll1.y, tx, ty, nRow, nCol);
|
| | | m_pStatusBar->SetPaneText(6, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(6, RGB(255, 255, 0));
|
| | | m_pStatusBar->SetPaneTextColor(6, RGB(0, 0, 255));
|
| | | // m_pStatusBar->SetPaneBackgroundColor(6, RGB(255, 255, 0));
|
| | | // m_pStatusBar->SetPaneTextColor(6, RGB(0, 0, 255));
|
| | | // m_pStatusBar->EnablePaneProgressBar(6);
|
| | | // m_pStatusBar->SetPaneProgress(6, 5);
|
| | | SysLog(s1);
|
| | |
| | | Cells[m_FocusRow][j].bLeftLineDn = 1;
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | |
|
| | | m_bModified = 1;
|
| | | needReDraw = 1;
|
| | | this->RedrawWindow();
|
| | | }
|
| | | int FindTypeIndex(CString str[], CString strType, int num)
|
| | | {
|
| | | for (int i = 0;i < num;i++)
|
| | | {
|
| | | if (strType == str[i])
|
| | | {
|
| | | return i;
|
| | | }
|
| | | }
|
| | | return -1;
|
| | | }
|
| | | void CMTerm2View::GetIncToView(stCell cell1) //**************************************************************************************************//
|
| | | {
|
| | |
|
| | |
|
| | | Cells[m_FocusRow][m_FocusCol] = cell1;
|
| | |
|
| | | m_bModified = 1;
|
| | | needReDraw = 1;
|
| | | m_FocusCol += 1;
|
| | | if (m_FocusCol >= 16) |
| | | { m_FocusCol = 0;m_FocusRow += 1; }
|
| | | |
| | | this->RedrawWindow();
|
| | | |
| | | }
|
| | | void CMTerm2View::OnUpdateInsertBlankLine(CCmdUI *pCmdUI)
|
| | | {
|
| | | // TODO: 在此添加命令更新用户界面处理程序代码
|
| | |
| | | if (!pDoc->m_bOnline) {
|
| | | s1 = _T("离线");
|
| | | m_pStatusBar->SetPaneText(idxOnline, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxOnline);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxOnline);
|
| | | }
|
| | | else if (pDoc->m_bOnline) {
|
| | | if (pDoc->m_bSimulate) {
|
| | | s1 = _T("在线(仿真)");
|
| | | m_pStatusBar->SetPaneText(2, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxOnline, OnlineColor);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxOnline, OnlineColor);
|
| | | }else{
|
| | | s1 = _T("在线");
|
| | | m_pStatusBar->SetPaneText(2, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxOnline, OnlineColor);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxOnline, OnlineColor);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | if (!pDoc->m_bOnline) {
|
| | | s1 = _T("");
|
| | | m_pStatusBar->SetPaneText(idxRunning, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxRunning);
|
| | | m_pStatusBar->SetPaneWidth(idxRunning, 0);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxRunning);
|
| | | // m_pStatusBar->SetPaneWidth(idxRunning, 0);
|
| | | m_pStatusBar->SetPaneStyle(idxRunning, SBPS_DISABLED);
|
| | |
|
| | | }else if (!pDoc->m_bPlcRunning) {
|
| | | s1 = _T("PROG");
|
| | | m_pStatusBar->SetPaneText(idxRunning, s1);
|
| | | m_pStatusBar->SetPaneWidth(idxRunning, s1.GetLength()*8);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxRunning, ProgColor);
|
| | | // m_pStatusBar->SetPaneWidth(idxRunning, s1.GetLength()*8);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxRunning, ProgColor);
|
| | | }else {
|
| | | s1 = _T("RUN");
|
| | | m_pStatusBar->SetPaneText(idxRunning, s1);
|
| | | m_pStatusBar->SetPaneWidth(idxRunning, s1.GetLength() * 8);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxRunning, RunningColor);
|
| | | // m_pStatusBar->SetPaneWidth(idxRunning, s1.GetLength() * 8);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxRunning, RunningColor);
|
| | | }
|
| | | }
|
| | | if (nIndex == idxMonitor || nIndex == -1) { // 监控 //
|
| | |
| | | if (!m_bMonitoring) {
|
| | | s1 = _T("[监控停止]");
|
| | | m_pStatusBar->SetPaneText(idxMonitor, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxMonitor);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxMonitor);
|
| | | }else{
|
| | | s1 = _T("[正在监控]");
|
| | | m_pStatusBar->SetPaneText(idxMonitor, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxMonitor, MonitorColor);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxMonitor, MonitorColor);
|
| | | }
|
| | | }
|
| | | if (nIndex == idxAddress || nIndex == -1) { // 地址,本站
|
| | |
| | | if (!pDoc->m_bOnline) {
|
| | | s1 = _T("本站");
|
| | | m_pStatusBar->SetPaneText(idxAddress, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxMonitor);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxMonitor);
|
| | | }else {
|
| | | s1 = _T("本站");
|
| | | m_pStatusBar->SetPaneText(idxAddress, s1);
|
| | | m_pStatusBar->SetPaneBackgroundColor(idxMonitor, AddressColor);
|
| | | // m_pStatusBar->SetPaneBackgroundColor(idxMonitor, AddressColor);
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | if (pDoc->m_bPlcRunning) {
|
| | | s1 = _T("运行");
|
| | | m_pStatusBar->SetPaneText(3, s1);
|
| | | m_pStatusBar->SetPaneTextColor(3, RGB(0, 0, 0));
|
| | | // m_pStatusBar->SetPaneTextColor(3, RGB(0, 0, 0));
|
| | | }
|
| | | else {
|
| | | s1 = _T("停止");
|
| | | m_pStatusBar->SetPaneText(3, s1);
|
| | | m_pStatusBar->SetPaneTextColor(3, RGB(0, 0, 0));
|
| | | // m_pStatusBar->SetPaneTextColor(3, RGB(0, 0, 0));
|
| | | }
|
| | | s1.Format(_T("PCmdUI %d %d"), pCmdUI->m_nID, pCmdUI->m_nIndex);
|
| | | DbgLog(s1);
|
| | |
| | | int CMTerm2View::TransLDSToProg()
|
| | | {
|
| | | // TODO: 在此处添加实现代码.
|
| | | CMTerm2Doc * pDoc = GetDocument();
|
| | | CString s1;
|
| | | s1.Format(_T("Trans LDS to PRrog"));
|
| | | DbgLog(s1);
|
| | |
| | | nDivCount++;
|
| | | }
|
| | | }
|
| | | stProgSection allprogs;
|
| | | //每段单独处理
|
| | | for (int i = 0; i < nDivCount; i++) {
|
| | | int nStartLine, nEndLine;
|
| | |
| | | nCurPosX = 0;
|
| | | CString sProg;
|
| | | int nAllSteps=0;
|
| | | stProgSection Progsec;
|
| | | for (int i = nStartLine; i <= nEndLine; i++){
|
| | | CString ProgSec;
|
| | | CString sProgSec;
|
| | | int nSteps = 0;;
|
| | | nCurPosY = i;
|
| | | stProgSection thisprogsec;
|
| | | if (Cells[i][0].nType)
|
| | | ScanLDSCells(nStartLine, nEndLine, nCurPosY, nCurPosX, 0, ProgSec,nSteps);
|
| | | sProg += ProgSec;
|
| | | ScanLDSCells(nStartLine, nEndLine, nCurPosY, nCurPosX, 0, thisprogsec, sProgSec,nSteps);
|
| | | sProg += sProgSec;
|
| | | nAllSteps += nSteps;
|
| | | Progsec += thisprogsec;
|
| | | }
|
| | | DbgLog(_T("\r\n")+ sProg);
|
| | | int n = int(Progsec.Progs.size());
|
| | | s1.Format(_T("progSec steps %d "), n);
|
| | | DbgLog(s1);
|
| | | for (int i = 0; i < n; i++) {
|
| | | int optype = Progsec.Progs[i].nOpType1;
|
| | | CStringA OpTxtA, OpShowTxtA;
|
| | | CString OpTxt, OpShowTxt;
|
| | | pDoc->OpToTxt(optype, OpTxtA);
|
| | | pDoc->OpToShowTxt(optype, OpShowTxtA);
|
| | | OpTxt = OpTxtA;
|
| | | OpShowTxt = OpShowTxtA;
|
| | | s1.Format(_T("%d %s %s"), optype, OpTxt, OpShowTxt);
|
| | | DbgLog(s1);
|
| | | }
|
| | | allprogs += Progsec;
|
| | | }
|
| | | //输出程序
|
| | |
|
| | |
|
| | |
|
| | | int n=(int)allprogs.Progs.size();
|
| | | s1.Format(_T("all prog steps %d "), n);
|
| | | DbgLog(s1);
|
| | | for (int i = 0; i < n; i++) {
|
| | | int optype=allprogs.Progs[i].nOpType1;
|
| | | CStringA OpTxtA,OpShowTxtA;
|
| | | CString OpTxt,OpShowTxt;
|
| | | pDoc->OpToTxt(optype, OpTxtA);
|
| | | pDoc->OpToShowTxt(optype, OpShowTxtA);
|
| | | OpTxt = OpTxtA;
|
| | | OpShowTxt = OpShowTxtA;
|
| | | s1.Format(_T("%d %s %s"), optype, OpTxt, OpShowTxt);
|
| | | // DbgLog(s1);
|
| | | }
|
| | | return 0;
|
| | | }
|
| | |
|
| | | int CMTerm2View::ScanLDSCells(int nStartLine, int nEndLine, int nPosY, int nPosX, int nLevel, CString & sProgSec, int &nSteps)
|
| | | int CMTerm2View::ScanLDSCells(int nStartLine, int nEndLine, int nPosY, int nPosX, int nLevel, stProgSection & progsec, CString & sProgSec, int &nSteps)
|
| | | {
|
| | | // TODO: 在此处添加实现代码.
|
| | | CString s1;
|
| | |
| | | //先处理当前单元;
|
| | | int nType = Cells[nCurPosY][nCurPosX].nType;
|
| | | CString sCellName = Cells[nCurPosY][nCurPosX].sCoilName;
|
| | | CMTerm2Doc::stProg theprog;
|
| | |
|
| | | if (nType == typeNO) {
|
| | | if (j==0) {
|
| | | s1.Format(_T("%d %d ST %s"), nCurPosY, nCurPosX,sCellName);
|
| | | sProgSec.AppendFormat(_T("ST %s\r\n"),sCellName);
|
| | | theprog.nOpType1 = OP_ST;
|
| | | progsec.Append(theprog);
|
| | | }
|
| | | else {
|
| | | s1.Format(_T("%d %d AN %s"), nCurPosY, nCurPosX, sCellName);
|
| | | sProgSec.AppendFormat(_T("NO %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_AN;
|
| | | progsec.Append(theprog);
|
| | | }
|
| | | nSteps += 1;
|
| | | DbgLog(s1);
|
| | |
| | | if (j == 0) {
|
| | | s1.Format(_T("%d %d ST/ %s"), nCurPosY, nCurPosX, sCellName);
|
| | | sProgSec.AppendFormat(_T("ST/ %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_ST_;
|
| | | progsec.Append(theprog);
|
| | |
|
| | | }
|
| | | else
|
| | | {
|
| | | s1.Format(_T("%d %d AN/ %s"), nCurPosY, nCurPosX, sCellName);
|
| | | sProgSec.AppendFormat(_T("AN/ %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_AN_;
|
| | | progsec.Append(theprog);
|
| | | }
|
| | | DbgLog(s1);
|
| | | nSteps += 1;
|
| | |
| | | if (nType == typePP) {
|
| | | s1.Format(_T("%d %d PP %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | //progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("PP %s\r\n"), sCellName);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | |
| | | if (nType == typePN) {
|
| | | s1.Format(_T("%d %d PN %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | //progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("PN %s\r\n"), sCellName, sCellName);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | |
| | | s1.Format(_T("%d %d NOT %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | sProgSec.AppendFormat(_T("NOT %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_NOT;
|
| | | progsec.Append(theprog);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | | }else
|
| | |
| | | s1.Format(_T("%d %d DF %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | sProgSec.AppendFormat(_T("DF %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_DF;
|
| | | progsec.Append(theprog);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | | }else
|
| | |
| | | s1.Format(_T("%d %d DF/ %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | sProgSec.AppendFormat(_T("DF/ %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_DF_;
|
| | | progsec.Append(theprog);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | | }else
|
| | |
| | | s1.Format(_T("%d %d OUT %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | sProgSec.AppendFormat(_T("OUT %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_OUT;
|
| | | progsec.Append(theprog);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | | }else
|
| | |
| | | s1.Format(_T("%d %d SET %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | sProgSec.AppendFormat(_T("SET %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_SET;
|
| | | progsec.Append(theprog);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | | }else
|
| | |
| | | s1.Format(_T("%d %d RESET %s"), nCurPosY, nCurPosX, sCellName);
|
| | | DbgLog(s1);
|
| | | sProgSec.AppendFormat(_T("RESET %s\r\n"), sCellName);
|
| | | theprog.nOpType1 = OP_RESET;
|
| | | progsec.Append(theprog);
|
| | | nSteps += 1;
|
| | | nNextX = 1;
|
| | | }else
|
| | | if (nType == typeCMP) {
|
| | | s1.Format(_T("%d %d CMP %s %s %s"), nCurPosY, nCurPosX, sCellName,Cells[nCurPosY][nCurPosX+1].sParam,Cells[nCurPosY][nCurPosX + 2].sParam);
|
| | | DbgLog(s1);
|
| | | theprog.nOpType1 = OP_ST_GT;
|
| | | progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("CMP %s %s %s \r\n"), sCellName, Cells[nCurPosY][nCurPosX + 1].sParam, Cells[nCurPosY][nCurPosX + 2].sParam);
|
| | | nSteps += 1;
|
| | | nNextX = 3;
|
| | |
| | | if (nType == typeTM) {
|
| | | s1.Format(_T("%d %d TM %s %d %s"), nCurPosY, nCurPosX, sCellName,Cells[nCurPosY][nCurPosX+1].sParam,Cells[nCurPosY][nCurPosX + 2].sParam);
|
| | | DbgLog(s1);
|
| | | theprog.nOpType1 = OP_TMX;
|
| | | progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("TM %s %d %s\r\n"), sCellName, Cells[nCurPosY][nCurPosX+1].sParam, Cells[nCurPosY][nCurPosX + 2].sParam);
|
| | | nSteps += 1;
|
| | | nNextX = 3;
|
| | |
| | | if (nType == typeFN1) {
|
| | | s1.Format(_T("%d %d FN1 %s %s"), nCurPosY, nCurPosX, sCellName,Cells[nCurPosY][nCurPosX + 1].sParam);
|
| | | DbgLog(s1);
|
| | | theprog.nOpType1 = OP_INC;
|
| | | progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("FN1 %s %s\r\n"), sCellName, Cells[nCurPosY][nCurPosX + 1].sParam);
|
| | | nSteps += 1;
|
| | | nNextX = 2;
|
| | |
| | | if (nType == typeFN2) {
|
| | | s1.Format(_T("%d %d FN2 %s %s %s "), nCurPosY, nCurPosX, sCellName, Cells[nCurPosY][nCurPosX + 1].sParam, Cells[nCurPosY][nCurPosX + 2].sParam);
|
| | | DbgLog(s1);
|
| | | theprog.nOpType1 = OP_MV;
|
| | | progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("FN2 %s %s %s \r\n"), sCellName, Cells[nCurPosY][nCurPosX + 1].sParam, Cells[nCurPosY][nCurPosX + 2].sParam);
|
| | | nSteps += 1;
|
| | | nNextX = 3;
|
| | |
| | | if (nType == typeFN3) {
|
| | | s1.Format(_T("%d %d FN3 %s %s %s %s"), nCurPosY, nCurPosX, sCellName, Cells[nCurPosY][nCurPosX + 1].sParam, Cells[nCurPosY][nCurPosX + 2].sParam, Cells[nCurPosY][nCurPosX + 3].sParam);
|
| | | DbgLog(s1);
|
| | | theprog.nOpType1 = OP_ADD3;
|
| | | progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("FN3 %s %s %s %s\r\n"), sCellName, Cells[nCurPosY][nCurPosX + 1].sParam, Cells[nCurPosY][nCurPosX + 2].sParam, Cells[nCurPosY][nCurPosX + 3].sParam);
|
| | | nSteps += 1;
|
| | | nNextX = 4;
|
| | |
| | | nNextX = 1;
|
| | | //continue;
|
| | | }
|
| | |
|
| | | if (j + nNextX >= m_CellPerLine) continue;
|
| | | if (Cells[nCurPosY][j + nNextX].bLeftLineUp || Cells[nCurPosY][j + nNextX].bLeftLineDn) { // 发现竖线
|
| | | //先看往上面有没有连接
|
| | | if (Cells[nCurPosY][j + nNextX].bLeftLineUp) { // 往上面有连接
|
| | | s1.Format(_T("%d %d ORS "), nCurPosY, nCurPosX);
|
| | | DbgLog(s1);
|
| | | theprog.nOpType1 = OP_ORS;
|
| | | progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("ORS \r\n"));
|
| | | nSteps += 1;
|
| | | nLevel -= 1;
|
| | |
| | | if ( nPosX >0 || nLevel > 0) {
|
| | | s1.Format(_T("%d %d ANS "), nCurPosY, nCurPosX);
|
| | | DbgLog(s1);
|
| | | theprog.nOpType1 = OP_ANS;
|
| | | progsec.Append(theprog);
|
| | | sProgSec.AppendFormat(_T("ANS \r\n"));
|
| | | nSteps += 1;
|
| | | nLevel -= 1;
|
| | |
| | | DbgLog(s1);
|
| | | CString ProgSec;
|
| | | int theSteps = 0;
|
| | | int r = ScanLDSCells(nStartLine, nEndLine, nLineTop, j + nNextX, nLevel,ProgSec,theSteps);
|
| | | stProgSection thisprogsec;
|
| | | int r = ScanLDSCells(nStartLine, nEndLine, nLineTop, j + nNextX, nLevel,thisprogsec, ProgSec,theSteps);
|
| | | sProgSec += ProgSec;
|
| | | nSteps += theSteps;
|
| | | progsec += thisprogsec;
|
| | | s1.Format(_T("<<<< Re %d : %d , Result %d "), nLineTop, j + nNextX, r);
|
| | | DbgLog(s1);
|
| | | }
|
| | |
| | | CString ProgSec;
|
| | | int theSteps = 0;
|
| | | nLevel += 1;
|
| | | res[nRightCount] = ScanLDSCells(nStartLine, nEndLine, k, j + nNextX, nLevel ,ProgSecs[nRightCount],theSteps);
|
| | | stProgSection thisprogsec;
|
| | | res[nRightCount] = ScanLDSCells(nStartLine, nEndLine, k, j + nNextX, nLevel ,thisprogsec,ProgSecs[nRightCount],theSteps);
|
| | | nLastResult = res[nRightCount];
|
| | | nSteps += theSteps;
|
| | | progsec += thisprogsec;
|
| | | //if (res[nRightCount] > 0) nLevel += 1;
|
| | | sProgSec += ProgSec;
|
| | | s1.Format(_T(" <<< Re %d : %d , Result %d Steps %d Last %d"), k, j + nNextX, res[nRightCount],theSteps,nLastSteps);
|
| | |
| | | }
|
| | | return 0;
|
| | | }
|
| | |
|