📄 proper71.cpp
字号:
// proper71.cpp : implementation file
//
#include "stdafx.h"
#include "MFCpl0.h"
#include "proper71.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Cproper7 property page
IMPLEMENT_DYNCREATE(Cproper7, CPropertyPage)
Cproper7::Cproper7() : CPropertyPage(Cproper7::IDD)
{
//{{AFX_DATA_INIT(Cproper7)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
Cproper7::~Cproper7()
{
}
void Cproper7::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cproper7)
DDX_Control(pDX, IDC_LIST1, m_list1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cproper7, CPropertyPage)
//{{AFX_MSG_MAP(Cproper7)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cproper7 message handlers
void Cproper7::Adderrmsg(errm allerr[], int errnum)
{
err=errnum;
for(int i=0;i<err;i++)
{
allerrmsg[i]=allerr[i];
}
}
BOOL Cproper7::OnSetActive()
{
m_list1.ResetContent();
// m_list1.SetSel(1,true);
CString msg;
int line,n;
if(err==0)
{
m_list1.AddString("没有错误!");
}
else
{
for(int i=0;i<err;i++)
{
//allerrmsg[i].
n=allerrmsg[i].type;
line=allerrmsg[i].line;
switch(n)
{
case 1:
msg="常数说明中的=写成了:=";
break;
case 2:
msg="常数说明中的=后应是数字";
break;
case 3:
msg="常数说明中的标识符后应是=";
break;
case 4:
msg="const,var,procedure后应是标识符";
break;
case 5:
msg="漏掉了,或;";
break;
case 6:
msg="过程说明后的符号不正确";
break;
case 7:
msg="应是语句开始符";
break;
case 8:
msg="程序体内语句部分的后跟符不正确";
break;
case 9:
msg="程序结尾丢了句号";
break;
case 10:
msg="语句之间漏了;";
break;
case 11:
msg="标识符未说明";
break;
case 12:
msg="赋值语句中,赋值号左边标识符应该是变量";
break;
case 13:
msg="赋值语句左部标识符应该是赋值符号:=";
break;
case 14:
msg="call后应为标识符";
break;
case 15:
msg="call后标识符属性应为过程";
break;
case 16:
msg="条件语句中丢了then";
break;
case 17:
msg="丢了end或;";
break;
case 18:
msg="while型循环语句中丢了do";
break;
case 19:
msg="语句后的符号不正确";
break;
case 20:
msg="应为关系运算符";
break;
case 21:
msg="表达式内标识符属性不能是过程";
break;
case 22:
msg="表达式中漏掉右括号";
break;
case 23:
msg="因子后的非法符号";
break;
case 24:
msg="表达式的开始符不能是此符号";
break;
case 31:
msg="数越界";
break;
case 32:
msg="read语句括号中的标识符不是变量";
break;
}
CString errmsg;
errmsg.Format("%s%d%s%s","第",line,"行,",msg);
m_list1.AddString(errmsg);
}
}
return CPropertyPage::OnSetActive();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -