//10.<赋值语句>—> id = <表达式> ; void assignment(){ char varname[MAXIDLEN]; strcpy(varname, token); Val v2 = Val(1, GetIdByName(varname)); match(id); if (!isexist(varname)){ strcpy(token, varname); error(46); } match(equl); Val v = expression(); match(semicolon); quadruples.push_back(Quadruple(sno++, equl, v, v2)); //生成四元式 /*printf("%3d (=,", sno++); if (v.type == 1) printf("%s", GetNameByID(v.value1)); else if (v.type == 0) printf("%d", v.value1); else if (v.type == 2) printf("%lf", v.value2); else printf("t%d", v.value1); printf(",%s)\n", varname);*/ }
CUnitTypeData* CUnitDefLoader::GetUnitTypeDataByName(string name){ // int id = GetIdByName(name); return GetUnitTypeDataById(id); }
void KUiFontManage::OnChange() { KG_PROCESS_ERROR(m_hWnd); KG_PROCESS_ERROR(m_hListWnd); KG_PROCESS_ERROR(m_pFontIni); int nValue = 0; char szValue[32] = ""; char szName[8] = ""; sprintf(szName, "%d", m_nCurrentItemNum); ::GetDlgItemText(m_hWnd, IDC_WND_FONT_MANAGE_FONT_NAME, szValue, sizeof(szValue)); int nOringalId = -1; if (GetIdByName(szValue, &nOringalId)) { if (IsFontExist(szValue) && nOringalId != m_nCurrentItemNum) { MessageBox(m_hWnd, "该字体已经存在", "更改失败", MB_OK | MB_ICONINFORMATION); KG_PROCESS_ERROR(0); } } m_pFontIni->WriteString(szName, "Name", szValue); ::GetDlgItemText(m_hWnd, IDC_WND_FONT_MANAGE_FONT_COLOR, szValue, sizeof(szValue)); m_pFontIni->WriteString(szName, "Color", szValue); ::GetDlgItemText(m_hWnd, IDC_WND_FONT_MANAGE_FONT_BCOLOR, szValue, sizeof(szValue)); m_pFontIni->WriteString(szName, "BorderColor", szValue); ::GetDlgItemText(m_hWnd, IDC_WND_FONT_MANAGE_FONT_PCOLOR, szValue, sizeof(szValue)); m_pFontIni->WriteString(szName, "ProjectionColor", szValue); nValue = ::GetDlgItemInt(m_hWnd, IDC_WND_FONT_MANAGE_FONT_SIZE, NULL, false); m_pFontIni->WriteInteger(szName, "Size", nValue); nValue = ::GetDlgItemInt(m_hWnd, IDC_WND_FONT_MANAGE_FONT_BSIZE, NULL, false); m_pFontIni->WriteInteger(szName, "BorderSize", nValue); nValue = ::GetDlgItemInt(m_hWnd, IDC_WND_FONT_MANAGE_FONT_PSIZE, NULL, false); m_pFontIni->WriteInteger(szName, "ProjectionSize", nValue); nValue = ::GetDlgItemInt(m_hWnd, IDC_WND_FONT_MANAGE_FONT_TYPE, NULL, false); m_pFontIni->WriteInteger(szName, "FontID", nValue); m_pFontIni->GetString(szName, "Name", "", szValue, sizeof(szValue)); ListView_SetItemText(m_hListWnd, m_nCurrentItemNum, 0, szValue); m_pFontIni->GetString(szName, "Color", "", szValue, sizeof(szValue)); ListView_SetItemText(m_hListWnd, m_nCurrentItemNum, 1, szValue); m_pFontIni->GetString(szName, "BorderColor", "", szValue, sizeof(szValue)); ListView_SetItemText(m_hListWnd, m_nCurrentItemNum, 2, szValue); m_pFontIni->GetString(szName, "ProjectionColor", "", szValue, sizeof(szValue)); ListView_SetItemText(m_hListWnd, m_nCurrentItemNum, 3, szValue); Exit0: return; }
/* ��������:Input(PlayerList pl,char *a) ��дʱ�䣺6.27 ��д�ˣ��ƺ�ҫ �������ܣ��� �������ܣ���������ת������ */ int Input(PlayerList pl,char *a) { int n; n=atoi(a); if(n<=0||n>MaxPlayer) n=GetIdByName(pl,a); if(strcmp("go",a)==0) n=300; else if(strcmp("logout",a)==0) n=400; else if(strcmp("query",a)==0) n=500; else if(strcmp("help",a)==0) n=600; else if(strcmp("history",a)==0) n=700; else if(strcmp("Adminstrator",a)==0) n=800; return n; }
//17.<因子>—> id | con | deci | (<表达式>) Val Factor(){ Val val; if (lookahead == id){ val.type = 1;//变量 char varname[MAXIDLEN]; strcpy(varname, token); match(id); if (!isexist(varname)){ strcpy(token, varname); error(46); } val.value1 = GetIdByName(varname); } else if (lookahead == con){ val.type = 0;//整数 val.value1 = atoi(token); match(con); } else if (lookahead == deci){ val.type = 2;//小数 val.value2 = atof(token); match(deci); } else if (lookahead == LP){ match(LP); val = expression(); match(RP); } else { error(24); } return val; }