亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fcdlg.cpp

?? 編譯原理的一個課程設計
?? CPP
字號:
#include "stdafx.h"
#include "FC.h"
#include "FCDlg.h"

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

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();
// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

CFCDlg::CFCDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CFCDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFCDlg)
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

	m_bSaved=TRUE;
	m_iPosition=1;
	m_strPrecision="6";
	m_iStatus=1;
	m_strEdit="";
	m_strFile="";

	m_iBack=4;
	m_iBackChoice=0;
	m_bBlankLine=TRUE;
	m_bExitWait=TRUE;
	m_bMainFunction=FALSE;
	m_bOpSpace=FALSE;
	m_bOutPrecision=FALSE;
	m_bOutRuntime=FALSE;
	m_strCppFile="";
}

void CFCDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFCDlg)
	DDX_Text(pDX, IDC_EDIT, m_strEdit);
	DDX_CBString(pDX, IDC_PRECISION, m_strPrecision);
	DDX_Text(pDX, IDC_POSITION, m_iPosition);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CFCDlg, CDialog)
	//{{AFX_MSG_MAP(CFCDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDB_OPEN, OnOpen)
	ON_BN_CLICKED(IDB_SAVE, OnSave)
	ON_BN_CLICKED(IDB_SAVE_AS, OnSaveAs)
	ON_BN_CLICKED(IDB_RUN, OnRun)
	ON_BN_CLICKED(IDB_CLEAR, OnClear)
	ON_BN_CLICKED(IDB_ABOUT_EDIT, OnAboutEdit)
	ON_BN_CLICKED(IDB_ABOUT_GRM, OnAboutGrm)
	ON_BN_CLICKED(ID_APP_ABOUT, OnAppAbout)
	ON_EN_CHANGE(IDC_EDIT, OnChangeEdit)
	ON_BN_CLICKED(IDB_SET_POSITION, OnSetPosition)
	ON_EN_KILLFOCUS(IDC_POSITION, OnKillfocusPosition)
	ON_CBN_KILLFOCUS(IDC_PRECISION, OnKillfocusPrecision)
	ON_BN_CLICKED(IDB_TRANSLATE, OnTranslate)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BOOL CFCDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);
	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	GetDlgItem(IDC_STATIC_PRECISION)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_PRECISION)->ShowWindow(SW_HIDE);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CFCDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

void CFCDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting
		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
		CDialog::OnPaint();
}

HCURSOR CFCDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}
//CFCDlg 消息處理函數//////////////////////////////////////////////////////////
void CFCDlg::OnOpen() 
{
	UpdateData(TRUE);
	switch(m_iStatus)
	{
	case 1://edit
		On_OpenSource();
		break;
	case 2://compile
		On_OpenCode();
		break;
	case 3://about
		break;
	case 4://translate
		break;
	}
	UpdateData(FALSE);
}

void CFCDlg::OnSave() 
{
	UpdateData(TRUE);
	switch(m_iStatus)
	{
	case 1://eidt
		On_SaveSource();
		break;
	case 2://compile
		On_SaveCode();
		break;
	case 3://about
		On_SaveAbout();
		break;
	case 4://translate
		break;
	}
	UpdateData(FALSE);
}

void CFCDlg::OnSaveAs() 
{
	UpdateData(TRUE);
	switch(m_iStatus)
	{
	case 1://edit
		On_SaveAsSource();
		break;
	case 2://compile
		On_SaveResult();
		break;
	case 3://about
		break;
	case 4://translate
		break;
	}
	UpdateData(FALSE);
}

void CFCDlg::OnRun() 
{
	UpdateData(TRUE);
	switch(m_iStatus)
	{
	case 1://edit
		On_Compile();
		break;
	case 2://compile
		On_Interpret();
		break;
	case 3://about
		break;
	case 4://translate
		break;
	}
	UpdateData(FALSE);
}

void CFCDlg::OnClear() 
{
	UpdateData(TRUE);
	switch(m_iStatus)
	{
	case 1://edit
		m_strEdit="";
		m_strFile="";
		m_bSaved=TRUE;
		SetWindowText("FC 2.2");
		break;
	case 2://compile
		m_strEdit="";
		SetWindowText("FC 2.2 - 解釋器");
		break;
	case 3://about
		break;
	case 4://translate
		break;
	}
	UpdateData(FALSE);
}

void CFCDlg::OnAboutEdit() 
{
	UpdateData(TRUE);
	if(m_iStatus==1)//edit
		On_AboutEdit();
	UpdateData(FALSE);
}

void CFCDlg::OnAboutGrm() 
{
	UpdateData(TRUE);
	if(m_iStatus==1)//edit
		On_AboutGrm();
	UpdateData(FALSE);
}

void CFCDlg::OnAppAbout() 
{
	UpdateData(TRUE);
	if(m_iStatus==1)//edit
	{
		CAboutDlg dlg;
		dlg.DoModal();
	}
	UpdateData(FALSE);
}

void CFCDlg::OnCancel() 
{
	UpdateData(TRUE);
	switch(m_iStatus)
	{
	case 1://edit
		On_Exit();
		break;
	case 2://compile
		On_ExitCompile();
		break;
	case 3://about
		On_ExitAbout();
		break;
	case 4://translate
		On_ExitTranslate();
		break;
	}
	UpdateData(FALSE);
}

void CFCDlg::OnChangeEdit() 
{
	if(m_iStatus!=1)
		return;
	if(m_bSaved)
	{
		m_bSaved=FALSE;
		if(m_strFile=="")
			SetWindowText("FC 2.2 *");
		else
			SetWindowText("FC 2.2 - "+m_strFile+" *");
	}
}

void CFCDlg::OnKillfocusPrecision() 
{
	if(m_iStatus!=2)
		return;
	int OldPrecision=atoi(m_strPrecision),precision;
	UpdateData(TRUE);
	int i,length=m_strPrecision.GetLength();
	for(i=0;i<length;i++)
		if(m_strPrecision[i]<'0' || m_strPrecision[i]>'9')
			break;
	if(i==0 || i!=length)
	{
		MessageBox("請輸入正確的“輸出精度”!\n","FC 2.1",MB_OK|MB_ICONEXCLAMATION);
		GetDlgItem(IDC_PRECISION)->SetFocus();
		((CEdit*)GetDlgItem(IDC_PRECISION))->SetSel(0,-1);
		return;
	}
	precision=atoi(m_strPrecision);
	if(precision<0 )precision=0;
	if(precision>15)precision=15;
	if(precision!=OldPrecision)
	{
		m_strPrecision.Format("%d",precision);
		UpdateData(FALSE);
		if(MessageBox("要重新執行程序嗎?","FC 2.2",MB_YESNO|MB_ICONQUESTION)==IDYES)
			On_Interpret();
	}
}

void CFCDlg::OnKillfocusPosition() 
{
	if(m_iStatus!=1)
		return;
	UpdateData(TRUE);
	UINT nLine=((CEdit*)GetDlgItem(IDC_EDIT))->GetLineCount();
	if(m_iPosition<1)m_iPosition=1;
	if(m_iPosition>nLine)m_iPosition=nLine;
	UpdateData(FALSE);
}

void CFCDlg::OnSetPosition() 
{
	if(m_iStatus!=1)
		return;
	UpdateData(TRUE);
	CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT);
	pEdit->SetFocus();
	pEdit->SetSel(pEdit->LineIndex(m_iPosition-1),pEdit->LineIndex(m_iPosition));
}

void CFCDlg::OnTranslate() 
{
	if(m_iStatus!=1)
		return;
	UpdateData(TRUE);
	On_Translate();
	UpdateData(FALSE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久人人人人传媒| 麻豆国产91在线播放| 日本不卡一区二区三区高清视频| 国产传媒欧美日韩成人| 欧美视频自拍偷拍| 国产精品毛片a∨一区二区三区| 日韩电影在线免费| 在线免费亚洲电影| 亚洲欧洲三级电影| 亚洲精品乱码久久久久| 成人18精品视频| 国产欧美一区二区精品性| 久久99国产精品免费| 欧美另类videos死尸| 亚洲一区免费观看| 91麻豆.com| 亚洲日本护士毛茸茸| av在线不卡观看免费观看| 亚洲国产精华液网站w| 国产高清在线精品| 久久久影视传媒| 美女视频黄免费的久久 | 欧美一卡二卡三卡四卡| 亚洲一区二区三区中文字幕| 在线观看日产精品| 亚洲一区二区三区在线看| 色激情天天射综合网| 一区二区在线观看免费| 日本高清不卡aⅴ免费网站| 亚洲欧美怡红院| 国产成人精品亚洲777人妖| 精品久久久久久最新网址| 精彩视频一区二区| 久久久久久久久久久久电影 | 在线观看日韩一区| ㊣最新国产の精品bt伙计久久| 丁香桃色午夜亚洲一区二区三区| 国产午夜亚洲精品理论片色戒| 国产一区999| 中文字幕一区二区三区蜜月 | 粉嫩高潮美女一区二区三区| 欧美国产在线观看| 99re免费视频精品全部| 亚洲一区在线视频观看| 666欧美在线视频| 久久狠狠亚洲综合| 国产精品三级av在线播放| 91网页版在线| 婷婷成人激情在线网| 日韩欧美www| youjizz国产精品| 亚洲成人av中文| 精品99一区二区三区| 成人精品一区二区三区四区| 亚洲午夜一区二区| 精品国产sm最大网站免费看| 成人午夜免费av| 亚洲一区成人在线| 精品国产乱码久久久久久浪潮| 国产成人精品免费在线| 亚洲已满18点击进入久久| 91精品国产日韩91久久久久久| 国产精品一区二区在线观看不卡| 国产精品天天摸av网| 在线观看一区二区视频| 九九**精品视频免费播放| 最新中文字幕一区二区三区 | 欧美亚洲国产一区二区三区va| 天天综合色天天综合| 久久久噜噜噜久噜久久综合| 972aa.com艺术欧美| 日本怡春院一区二区| 亚洲国产高清aⅴ视频| 欧美高清视频不卡网| 成人av电影在线| 精品一区二区在线看| 亚洲自拍与偷拍| 亚洲国产精品成人久久综合一区| 欧美日韩卡一卡二| 成人永久aaa| 久久精品久久久精品美女| 亚洲免费观看高清完整版在线观看熊| 日韩精品资源二区在线| 欧美性猛片aaaaaaa做受| 国产999精品久久久久久| 天天亚洲美女在线视频| 中文字幕一区二区不卡| 精品国产免费一区二区三区四区| 欧洲精品一区二区| 成人性生交大合| 极品少妇xxxx偷拍精品少妇| 蜜臀久久99精品久久久久宅男| 自拍偷在线精品自拍偷无码专区| 久久久综合精品| 日韩一区二区三区视频在线观看| 欧美午夜电影网| 91黄视频在线观看| 波波电影院一区二区三区| 国产精品一线二线三线| 狠狠色狠狠色综合| 日本成人在线电影网| 亚洲线精品一区二区三区| 亚洲欧美成人一区二区三区| 国产精品传媒入口麻豆| 国产情人综合久久777777| 久久久亚洲精品一区二区三区| 日韩欧美一卡二卡| 欧美一区二区三区白人| 337p亚洲精品色噜噜噜| 欧美猛男超大videosgay| 精品视频资源站| 欧美日韩三级在线| 欧美欧美欧美欧美首页| 在线成人免费观看| 欧美高清www午色夜在线视频| 在线播放国产精品二区一二区四区 | 亚洲免费三区一区二区| 亚洲另类春色校园小说| 一区二区三区高清| 亚洲一区二区不卡免费| 天堂va蜜桃一区二区三区| 日本午夜一本久久久综合| 免费成人美女在线观看.| 免费成人av在线播放| 紧缚奴在线一区二区三区| 国产成人午夜视频| av网站免费线看精品| 日本高清不卡在线观看| 欧美日韩一区二区三区四区五区 | 亚洲欧美一区二区视频| 亚洲综合精品久久| 青青草国产精品97视觉盛宴 | 欧美久久久久久久久中文字幕| 777xxx欧美| 亚洲精品一区在线观看| 国产精品免费aⅴ片在线观看| 亚洲人成7777| 久久超碰97人人做人人爱| 国产伦精品一区二区三区视频青涩 | 欧美激情一区三区| 亚洲精品精品亚洲| 蜜桃精品在线观看| eeuss国产一区二区三区| 欧美性大战久久久久久久蜜臀| 日韩欧美高清一区| 国产精品免费丝袜| 婷婷久久综合九色综合绿巨人| 国产麻豆视频一区二区| 欧美在线一区二区| 久久久精品黄色| 亚洲综合免费观看高清完整版在线 | 亚洲综合男人的天堂| 激情综合色综合久久综合| 99精品国产91久久久久久 | 国产精品一二三四五| 色94色欧美sute亚洲13| 精品日本一线二线三线不卡| 亚洲三级在线观看| 国产一区二区三区免费观看| 欧美性猛片aaaaaaa做受| 欧美韩日一区二区三区四区| 亚洲aaa精品| 91欧美一区二区| 国产拍欧美日韩视频二区| 青青草成人在线观看| 972aa.com艺术欧美| 337p日本欧洲亚洲大胆色噜噜| 亚洲欧美激情插 | 5月丁香婷婷综合| 亚洲欧洲制服丝袜| 国产盗摄视频一区二区三区| 欧美一区二区三区男人的天堂| 亚洲视频一区二区在线| 国产精品12区| 久久综合给合久久狠狠狠97色69| 亚洲电影你懂得| 色偷偷88欧美精品久久久| 国产精品久久久久久久久图文区 | 日韩激情一二三区| 色哟哟精品一区| 亚洲色图另类专区| 成人动漫中文字幕| 国产夜色精品一区二区av| 久久精品久久久精品美女| 91精品国产综合久久久久久久久久| 亚洲欧美色图小说| 99视频超级精品| 中文字幕日本不卡| 99久久精品久久久久久清纯| 国产欧美日韩激情| 成人精品亚洲人成在线| 国产精品国产自产拍高清av| 国产91在线看| 国产精品免费av| 成人18精品视频| 一区二区三区久久| 欧美日韩精品系列| 首页欧美精品中文字幕| 日韩免费一区二区| 精品亚洲成a人|