本文整理汇总了C++中CFSWString::IsEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ CFSWString::IsEmpty方法的具体用法?C++ CFSWString::IsEmpty怎么用?C++ CFSWString::IsEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFSWString
的用法示例。
在下文中一共展示了CFSWString::IsEmpty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CheckAndAdd
int CSuggestor::CheckAndAdd(const CFSWString &szWord)
{
if (m_fTimeOut>0 && (CFSTime::Now()-m_TimeStart).GetSeconds()>=m_fTimeOut) return -1;
if (szWord.IsEmpty()) return -1;
CFSWString szTemp;
long lLevel=100;
if (SpellWord(szWord, szTemp, &lLevel)==SPL_NOERROR && !szTemp.IsEmpty()){
szTemp=m_Cap.GetCap(szTemp);
CFSWString szTemp2; long lLevel2;
if (SpellWord(szTemp, szTemp2, &lLevel2)==SPL_NOERROR){
SetLevel(GetLevelGroup(lLevel));
m_Items.AddItem(CSuggestorItem(szTemp, lLevel)); return 0;
}
}
return -1;
}
示例2: Suggest
int CSuggestor::Suggest(const CFSWString &szWord, bool bStartSentence){
m_TimeStart=CFSTime::Now();
m_Items.Cleanup();
m_Cap.SetCap(szWord);
if (bStartSentence && m_Cap.GetCapMode()==CFSStrCap<CFSWString>::CAP_LOWER) {
m_Cap.SetCapMode(CFSStrCap<CFSWString>::CAP_INITIAL);
}
CFSWString szWordHigh=szWord.ToUpper();
INTPTR ipWordLength=szWordHigh.GetLength();
CFSWString szTemp;
INTPTR i, j;
long lLevel=100;
SetLevel(lLevel);
// Case problems & change list
i=SpellWord(szWordHigh, szTemp, &lLevel);
if ((i==SPL_NOERROR || i==SPL_CHANGEONCE) && !szTemp.IsEmpty()){
SetLevel(GetLevelGroup(lLevel));
m_Items.AddItem(CSuggestorItem(szTemp, lLevel));
}
else SetLevel(5);
// Abbrevations
// !!! Unimplemented
// Quotes
/* if (ipWordLength>=2 &&
(szAllQuot.Find(szWordHigh[0])>=0 || szAllQuot.Find(szWordHigh[ipWordLength-1])>=0))
{
szTemp=szWordHigh;
int iPos;
if (szAllQuot.Find(szTemp[0])>=0){
if (szQuotLeft.Find(szTemp[0])>=0) { }
else if ((iPos=szQuotRight.Find(szTemp[0]))>=0) { szTemp[0]=szQuotLeft[iPos]; }
else if (szDQuotLeft.Find(szTemp[0])>=0) { }
else if ((iPos=szDQuotRight.Find(szTemp[0]))>=0) { szTemp[0]=szDQuotLeft[iPos]; }
if (szAllQuot.Find(szTemp[ipWordLength-1])>=0) { szTemp[ipWordLength-1]=(szQuotRight+szDQuotRight)[(szQuotLeft+szDQuotLeft).Find(szTemp[0])];
}
else{
if (szQuotRight.Find(szTemp[ipWordLength-1])>=0) { }
else if ((iPos=szQuotLeft.Find(szTemp[ipWordLength-1]))>=0) { szTemp[ipWordLength-1]=szQuotRight[iPos]; }
else if (szDQuotRight.Find(szTemp[ipWordLength-1])>=0) { }
else if ((iPos=szDQuotLeft.Find(szTemp[ipWordLength-1]))>=0) { szTemp[ipWordLength-1]=szDQuotRight[iPos]; }
}
CheckAndAdd(szTemp);
}*/
// Add space
for (i=1; i<ipWordLength-1; i++){
static CFSWString szPunktuation=FSWSTR(".:,;!?");
if (szPunktuation.Find(szWord[i])>=0){
long lLevel1, lLevel2;
CFSWString szTemp1, szTemp2;
if (SpellWord(szWord.Left(i+1), szTemp1, &lLevel1)==SPL_NOERROR &&
SpellWord(szWord.Mid(i+1), szTemp2, &lLevel2)==SPL_NOERROR)
{
m_Items.AddItem(CSuggestorItem(szWord.Left(i+1)+L' '+szWord.Mid(i+1), FSMAX(lLevel1, lLevel2)));
}
}
}
// Delete following blocks: le[nnu][nnu]jaam
for (i=2; i<=3; i++){
for (j=0; j<ipWordLength-i-i; j++){
if (memcmp((const FSWCHAR *)szWordHigh+j, (const FSWCHAR *)szWordHigh+j+i, i*sizeof(FSWCHAR))==0){
szTemp=szWordHigh.Left(j)+szWordHigh.Mid(j+i);
CheckAndAdd(szTemp);
}
}
}
// Change following letters: abb -> aab & aab -> abb
for (i=1; i<ipWordLength-1; i++){
if (szWordHigh[i]==szWordHigh[i+1]){
szTemp=szWordHigh;
szTemp[i]=szTemp[i-1];
if (FSIsLetterEst(szTemp[i])) CheckAndAdd(szTemp);
}
else if (szWordHigh[i]==szWordHigh[i-1]){
szTemp=szWordHigh;
szTemp[i]=szTemp[i+1];
if (FSIsLetterEst(szTemp[i])) CheckAndAdd(szTemp);
}
}
// Exchange letters: van[na]ema -> van[an]ema
szTemp=szWordHigh;
for (i=1; i<ipWordLength; i++){
if (szTemp[i]!=szTemp[i-1]){
FSWCHAR ch=szTemp[i];
szTemp[i]=szTemp[i-1];
szTemp[i-1]=ch;
CheckAndAdd(szTemp);
szTemp[i-1]=szTemp[i];
szTemp[i]=ch;
}
}
//.........这里部分代码省略.........