本文整理汇总了C++中CFX_WideString::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ CFX_WideString::clear方法的具体用法?C++ CFX_WideString::clear怎么用?C++ CFX_WideString::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFX_WideString
的用法示例。
在下文中一共展示了CFX_WideString::clear方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ExtractSubString
FX_BOOL CPDF_TextPageFind::ExtractSubString(CFX_WideString& rString,
const FX_WCHAR* lpszFullString,
int iSubString,
FX_WCHAR chSep) {
if (!lpszFullString)
return FALSE;
while (iSubString--) {
lpszFullString = std::wcschr(lpszFullString, chSep);
if (!lpszFullString) {
rString.clear();
return FALSE;
}
lpszFullString++;
while (*lpszFullString == chSep)
lpszFullString++;
}
const FX_WCHAR* lpchEnd = std::wcschr(lpszFullString, chSep);
int nLen = lpchEnd ? (int)(lpchEnd - lpszFullString)
: (int)FXSYS_wcslen(lpszFullString);
ASSERT(nLen >= 0);
FXSYS_memcpy(rString.GetBuffer(nLen), lpszFullString,
nLen * sizeof(FX_WCHAR));
rString.ReleaseBuffer();
return TRUE;
}
示例2: GetNames
void CFGAS_FontMgr::GetNames(const uint8_t* name_table,
CFX_WideStringArray& Names) {
if (!name_table)
return;
uint8_t* lpTable = (uint8_t*)name_table;
CFX_WideString wsFamily;
uint8_t* sp = lpTable + 2;
uint8_t* lpNameRecord = lpTable + 6;
uint16_t nNameCount = GetUInt16(sp);
uint8_t* lpStr = lpTable + GetUInt16(sp + 2);
for (uint16_t j = 0; j < nNameCount; j++) {
uint16_t nNameID = GetUInt16(lpNameRecord + j * 12 + 6);
if (nNameID != 1)
continue;
uint16_t nPlatformID = GetUInt16(lpNameRecord + j * 12 + 0);
uint16_t nNameLength = GetUInt16(lpNameRecord + j * 12 + 8);
uint16_t nNameOffset = GetUInt16(lpNameRecord + j * 12 + 10);
wsFamily.clear();
if (nPlatformID != 1) {
for (uint16_t k = 0; k < nNameLength / 2; k++) {
FX_WCHAR wcTemp = GetUInt16(lpStr + nNameOffset + k * 2);
wsFamily += wcTemp;
}
Names.Add(wsFamily);
continue;
}
for (uint16_t k = 0; k < nNameLength; k++) {
FX_WCHAR wcTemp = GetUInt8(lpStr + nNameOffset + k);
wsFamily += wcTemp;
}
Names.Add(wsFamily);
}
}
示例3: GetNameExpression
void CXFA_NodeHelper::GetNameExpression(CXFA_Node* refNode,
CFX_WideString& wsName,
FX_BOOL bIsAllPath,
XFA_LOGIC_TYPE eLogicType) {
wsName.clear();
if (bIsAllPath) {
GetNameExpression(refNode, wsName, FALSE, eLogicType);
CFX_WideString wsParent;
CXFA_Node* parent =
ResolveNodes_GetParent(refNode, XFA_LOGIC_NoTransparent);
while (parent) {
GetNameExpression(parent, wsParent, FALSE, eLogicType);
wsParent += L".";
wsParent += wsName;
wsName = wsParent;
parent = ResolveNodes_GetParent(parent, XFA_LOGIC_NoTransparent);
}
return;
}
CFX_WideString ws;
FX_BOOL bIsProperty = NodeIsProperty(refNode);
if (refNode->IsUnnamed() ||
(bIsProperty && refNode->GetElementType() != XFA_Element::PageSet)) {
ws = refNode->GetClassName();
wsName.Format(L"#%s[%d]", ws.c_str(),
GetIndex(refNode, eLogicType, bIsProperty, TRUE));
return;
}
ws = refNode->GetCData(XFA_ATTRIBUTE_Name);
ws.Replace(L".", L"\\.");
wsName.Format(L"%s[%d]", ws.c_str(),
GetIndex(refNode, eLogicType, bIsProperty, FALSE));
}
示例4: ExtractFindWhat
void CPDF_TextPageFind::ExtractFindWhat(const CFX_WideString& findwhat) {
if (findwhat.IsEmpty())
return;
int index = 0;
while (1) {
CFX_WideString csWord = TEXT_EMPTY;
int ret =
ExtractSubString(csWord, findwhat.c_str(), index, TEXT_SPACE_CHAR);
if (csWord.IsEmpty()) {
if (ret) {
m_csFindWhatArray.push_back(L"");
index++;
continue;
} else {
break;
}
}
int pos = 0;
while (pos < csWord.GetLength()) {
CFX_WideString curStr = csWord.Mid(pos, 1);
FX_WCHAR curChar = csWord.GetAt(pos);
if (IsIgnoreSpaceCharacter(curChar)) {
if (pos > 0 && curChar == 0x2019) {
pos++;
continue;
}
if (pos > 0)
m_csFindWhatArray.push_back(csWord.Mid(0, pos));
m_csFindWhatArray.push_back(curStr);
if (pos == csWord.GetLength() - 1) {
csWord.clear();
break;
}
csWord = csWord.Right(csWord.GetLength() - pos - 1);
pos = 0;
continue;
}
pos++;
}
if (!csWord.IsEmpty())
m_csFindWhatArray.push_back(csWord);
index++;
}
}
示例5: SetText
void CPWL_Edit::SetText(const CFX_WideString& csText) {
CFX_WideString swText = csText;
if (!HasFlag(PES_RICH)) {
m_pEdit->SetText(swText);
return;
}
CFX_ByteString sValue = CFX_ByteString::FromUnicode(swText);
std::unique_ptr<CXML_Element> pXML(
CXML_Element::Parse(sValue.c_str(), sValue.GetLength()));
if (!pXML) {
m_pEdit->SetText(swText);
return;
}
int32_t nCount = pXML->CountChildren();
bool bFirst = true;
swText.clear();
for (int32_t i = 0; i < nCount; i++) {
CXML_Element* pSubElement = pXML->GetElement(i);
if (!pSubElement)
continue;
CFX_ByteString tag = pSubElement->GetTagName();
if (tag.EqualNoCase("p")) {
int nChild = pSubElement->CountChildren();
CFX_WideString swSection;
for (int32_t j = 0; j < nChild; j++)
swSection += pSubElement->GetContent(j);
if (bFirst)
bFirst = false;
else
swText += FWL_VKEY_Return;
swText += swSection;
}
}
m_pEdit->SetText(swText);
}
示例6: FormatPatterns
FX_BOOL CXFA_LocaleValue::FormatPatterns(CFX_WideString& wsResult,
const CFX_WideString& wsFormat,
IFX_Locale* pLocale,
XFA_VALUEPICTURE eValueType) const {
wsResult.clear();
FX_BOOL bRet = FALSE;
CFX_FormatString* pFormat = nullptr;
if (m_pLocaleMgr)
pFormat = new CFX_FormatString(m_pLocaleMgr, FALSE);
CFX_WideStringArray wsPatterns;
pFormat->SplitFormatString(wsFormat, wsPatterns);
int32_t iCount = wsPatterns.GetSize();
for (int32_t i = 0; i < iCount; i++) {
bRet = FormatSinglePattern(wsResult, wsPatterns[i], pLocale, eValueType);
if (bRet) {
break;
}
}
pFormat->Release();
return bRet;
}
示例7: ValidateValue
FX_BOOL CXFA_LocaleValue::ValidateValue(const CFX_WideString& wsValue,
const CFX_WideString& wsPattern,
IFX_Locale* pLocale,
CFX_WideString* pMatchFormat) {
CFX_WideString wsOutput;
IFX_Locale* locale = m_pLocaleMgr->GetDefLocale();
if (pLocale) {
m_pLocaleMgr->SetDefLocale(pLocale);
}
CFX_FormatString* pFormat = nullptr;
if (m_pLocaleMgr)
pFormat = new CFX_FormatString(m_pLocaleMgr, FALSE);
CFX_WideStringArray wsPatterns;
pFormat->SplitFormatString(wsPattern, wsPatterns);
FX_BOOL bRet = FALSE;
int32_t iCount = wsPatterns.GetSize();
int32_t i = 0;
for (; i < iCount && !bRet; i++) {
CFX_WideString wsFormat = wsPatterns[i];
FX_LOCALECATEGORY eCategory = pFormat->GetCategory(wsFormat);
eCategory = XFA_ValugeCategory(eCategory, m_dwType);
switch (eCategory) {
case FX_LOCALECATEGORY_Null:
bRet = pFormat->ParseNull(wsValue, wsFormat);
if (!bRet) {
bRet = wsValue.IsEmpty();
}
break;
case FX_LOCALECATEGORY_Zero:
bRet = pFormat->ParseZero(wsValue, wsFormat);
if (!bRet) {
bRet = wsValue == FX_WSTRC(L"0");
}
break;
case FX_LOCALECATEGORY_Num: {
CFX_WideString fNum;
bRet = pFormat->ParseNum(wsValue, wsFormat, fNum);
if (!bRet) {
bRet = pFormat->FormatNum(wsValue, wsFormat, wsOutput);
}
break;
}
case FX_LOCALECATEGORY_Text:
bRet = pFormat->ParseText(wsValue, wsFormat, wsOutput);
wsOutput.clear();
if (!bRet) {
bRet = pFormat->FormatText(wsValue, wsFormat, wsOutput);
}
break;
case FX_LOCALECATEGORY_Date: {
CFX_Unitime dt;
bRet = ValidateCanonicalDate(wsValue, dt);
if (!bRet) {
bRet = pFormat->ParseDateTime(wsValue, wsFormat, FX_DATETIMETYPE_Date,
dt);
if (!bRet) {
bRet = pFormat->FormatDateTime(wsValue, wsFormat, wsOutput,
FX_DATETIMETYPE_Date);
}
}
break;
}
case FX_LOCALECATEGORY_Time: {
CFX_Unitime dt;
bRet =
pFormat->ParseDateTime(wsValue, wsFormat, FX_DATETIMETYPE_Time, dt);
if (!bRet) {
bRet = pFormat->FormatDateTime(wsValue, wsFormat, wsOutput,
FX_DATETIMETYPE_Time);
}
break;
}
case FX_LOCALECATEGORY_DateTime: {
CFX_Unitime dt;
bRet = pFormat->ParseDateTime(wsValue, wsFormat,
FX_DATETIMETYPE_DateTime, dt);
if (!bRet) {
bRet = pFormat->FormatDateTime(wsValue, wsFormat, wsOutput,
FX_DATETIMETYPE_DateTime);
}
break;
}
default:
bRet = FALSE;
break;
}
}
if (bRet && pMatchFormat) {
*pMatchFormat = wsPatterns[i - 1];
}
pFormat->Release();
if (pLocale) {
m_pLocaleMgr->SetDefLocale(locale);
}
return bRet;
}
示例8: FormatSinglePattern
FX_BOOL CXFA_LocaleValue::FormatSinglePattern(
CFX_WideString& wsResult,
const CFX_WideString& wsFormat,
IFX_Locale* pLocale,
XFA_VALUEPICTURE eValueType) const {
IFX_Locale* locale = m_pLocaleMgr->GetDefLocale();
if (pLocale) {
m_pLocaleMgr->SetDefLocale(pLocale);
}
wsResult.clear();
FX_BOOL bRet = FALSE;
CFX_FormatString* pFormat = nullptr;
if (m_pLocaleMgr)
pFormat = new CFX_FormatString(m_pLocaleMgr, FALSE);
FX_LOCALECATEGORY eCategory = pFormat->GetCategory(wsFormat);
eCategory = XFA_ValugeCategory(eCategory, m_dwType);
switch (eCategory) {
case FX_LOCALECATEGORY_Null:
if (m_wsValue.IsEmpty()) {
bRet = pFormat->FormatNull(wsFormat, wsResult);
}
break;
case FX_LOCALECATEGORY_Zero:
if (m_wsValue == FX_WSTRC(L"0")) {
bRet = pFormat->FormatZero(wsFormat, wsResult);
}
break;
case FX_LOCALECATEGORY_Num:
bRet = pFormat->FormatNum(m_wsValue, wsFormat, wsResult);
break;
case FX_LOCALECATEGORY_Text:
bRet = pFormat->FormatText(m_wsValue, wsFormat, wsResult);
break;
case FX_LOCALECATEGORY_Date:
bRet = pFormat->FormatDateTime(m_wsValue, wsFormat, wsResult,
FX_DATETIMETYPE_Date);
break;
case FX_LOCALECATEGORY_Time:
bRet = pFormat->FormatDateTime(m_wsValue, wsFormat, wsResult,
FX_DATETIMETYPE_Time);
break;
case FX_LOCALECATEGORY_DateTime:
bRet = pFormat->FormatDateTime(m_wsValue, wsFormat, wsResult,
FX_DATETIMETYPE_DateTime);
break;
default:
wsResult = m_wsValue;
bRet = TRUE;
}
pFormat->Release();
if (!bRet && (eCategory != FX_LOCALECATEGORY_Num ||
eValueType != XFA_VALUEPICTURE_Display)) {
wsResult = m_wsValue;
}
if (pLocale) {
m_pLocaleMgr->SetDefLocale(locale);
}
return bRet;
}
示例9: GetFoxitAppType
void CPDFXFA_App::GetFoxitAppType(CFX_WideString& wsFoxitAppType) {
wsFoxitAppType.clear();
}