⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demoview2.cpp

📁 词法语法语义编译器
💻 CPP
字号:
// DemoView2.cpp : implementation file
//

#include "stdafx.h"
#include "scanner.h"
#include "DemoView2.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDemoView2

IMPLEMENT_DYNCREATE(CDemoView2, CView)

CDemoView2::CDemoView2()
{
}

CDemoView2::~CDemoView2()
{
}


BEGIN_MESSAGE_MAP(CDemoView2, CView)
	//{{AFX_MSG_MAP(CDemoView2)
		// NOTE - the ClassWizard will add and remove mapping macros here.
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDemoView2 drawing

void CDemoView2::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
	CRect   rect;   
    GetClientRect(&rect);   
    pDC->FillSolidRect(&rect,RGB(255,255,255));   

	pDC->TextOut(0,0,"分析结果:");
}
void CDemoView2::MyDrawingResult(CString strResult)
{
	
	int x=0,y=20;	
    CDC *pDC=GetDC();
    OnDraw(pDC);
	pDC->TextOut(x,y,strResult);
}
void CDemoView2::MyDrawingFourElement(PFSymbol pFSymbol)
{
/*	m_showToken=true;
	CDC *pDC=GetDC();	
	int x=0;
	int y=0;
    pDC->TextOut(x,y,"分析得到的四元式为:");
	y+=20;    
	CString strNode;
	if(m_showToken)
    {
		if(pFSymbol->next == NULL)
		{   //为空则提示并返回
		    pDC->TextOut(x,y,"There is no any legal pFSymbols !");
			return;
		}		
		while(m_pTokenNode->next)
		{
			strNode.Empty();
			pFSymbol = pFSymbol->next;			
			strNode.Format("( %d , _ )",pFSymbol->op,pFSymbol->ag1,pFSymbol->ag2,pFSymbol->result);			
			pDC->TextOut(x,y,strNode);
            y+=20;
		}
		
			
	}
    m_showToken=false;
*/  CString str;
	CDC *pDC=GetDC();	
	CRect   rect;   
    GetClientRect(&rect);   
    pDC->FillSolidRect(&rect,RGB(255,255,255));   

	
	int x=0;
	int y=0;
	str = "分析得到的四元式为:";
    pDC->TextOut(x,y,str);
	
	CStdioFile sf;
	
	if(sf.Open("fsymbol.dat",CFile::modeRead))
	{
		CString  strTemp;
		sf.ReadString(strTemp);
        pDC->TextOut(150,y,strTemp);
		while(sf.ReadString(strTemp))
		{					
			pDC->TextOut(x,y,strTemp);			
			y=y+20;
			if(y>250)
			{
				x = x + 200;
				y = 20; 
			}

		}
		//SetDlgItemText(IDC_EDIT_SHOW,str);
		sf.Close();
	}

}

/////////////////////////////////////////////////////////////////////////////
// CDemoView2 diagnostics

#ifdef _DEBUG
void CDemoView2::AssertValid() const
{
	CView::AssertValid();
}

void CDemoView2::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CDemoView2 message handlers

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -