void CCaHtmlParse::__GetFlightNoAndFlightStartDate(CStringA & strFlightNo, CStringA & strFlightStartDate, const TidyDoc & tdoc, const TidyNode & tdNode) { CStringA straRet; strFlightNo = ""; strFlightStartDate = ""; TidyBuffer text = {0}; tidyBufInit(&text); TidyNodeType type = tidyNodeGetType(tdNode); tidyNodeGetText(tdoc, tdNode, &text); straRet.Format("%s",text.bp); straRet.TrimLeft(); strFlightStartDate = straRet.Mid(4, 10); int iStartPos = straRet.Find('C');//匹配CA,ca,Ca,cA,<br />后会插入回车换行符, if(-1 == iStartPos)//没找到大写C,匹配小写c iStartPos = straRet.Find('c'); int iEndPos = straRet.Find("</"); strFlightNo = straRet.Mid(iStartPos, iEndPos-iStartPos);//国航航班号有3位的,还有4位的 strFlightNo = strFlightNo.MakeUpper(); strFlightNo = strFlightNo.Mid(2);//去掉CA tidyBufFree(&text); }
// 根据字符串获取键盘码 void CDuiObject::ParseKeyCode(LPCTSTR lpszValue, UINT& nChar, UINT& nFlag) { CStringA strValue; strValue = lpszValue; nChar = 0; nFlag = 0; strValue.Trim(); strValue.MakeUpper(); CStringA strFlag = ""; CStringA strChar = strValue; int nPos = strValue.Find("+"); if(nPos != -1) { strFlag = strValue.Left(nPos); strValue.Delete(0, nPos+1); strChar = strValue; strFlag.Trim(); strChar.Trim(); } if(strChar.IsEmpty()) { return; } if(strFlag == "CTRL") { nFlag |= VK_CONTROL; }else if(strFlag == "ALT") { nFlag |= VK_MENU; }else if(strFlag == "SHIFT") { nFlag |= VK_SHIFT; } if(strChar == "RETURN") { nChar = VK_RETURN; }else if(strChar == "ESC") { nChar = VK_ESCAPE; }else if(strChar == "BACK") { nChar = VK_BACK; }else if(strChar == "TAB") { nChar = VK_TAB; }else if(strChar == "SPACE") { nChar = VK_SPACE; }else if(strChar == "PRIOR") { nChar = VK_PRIOR; }else if(strChar == "NEXT") { nChar = VK_NEXT; }else if(strChar == "END") { nChar = VK_END; }else if(strChar == "HOME") { nChar = VK_HOME; }else if(strChar == "LEFT") { nChar = VK_LEFT; }else if(strChar == "UP") { nChar = VK_UP; }else if(strChar == "RIGHT") { nChar = VK_RIGHT; }else if(strChar == "DOWN") { nChar = VK_DOWN; }else if(strChar == "SELECT") { nChar = VK_SELECT; }else if(strChar == "PRINT") { nChar = VK_PRINT; }else if(strChar == "INSERT") { nChar = VK_INSERT; }else if(strChar == "DELETE") { nChar = VK_DELETE; }else if(strChar == "F1") { nChar = VK_F1; }else if(strChar == "F2") { nChar = VK_F2; }else if(strChar == "F3") { nChar = VK_F3; }else if(strChar == "F4") { nChar = VK_F4; }else if(strChar == "F5") { nChar = VK_F5; }else if(strChar == "F6") { nChar = VK_F6; }else if(strChar == "F7") { nChar = VK_F7; }else if(strChar == "F8") { nChar = VK_F8; }else if(strChar == "F9") { nChar = VK_F9; }else if(strChar == "F10") { nChar = VK_F10; }else if(strChar == "F11") { nChar = VK_F11; }else if(strChar == "F12") { nChar = VK_F12; }else { char ch = strChar[0]; if(((ch >= '0') && (ch < '9')) || ((ch >= 'A') && (ch < 'Z'))) { nChar = ch; } } }