本文整理汇总了C++中CFSWString::ToUpper方法的典型用法代码示例。如果您正苦于以下问题:C++ CFSWString::ToUpper方法的具体用法?C++ CFSWString::ToUpper怎么用?C++ CFSWString::ToUpper使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFSWString
的用法示例。
在下文中一共展示了CFSWString::ToUpper方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: palat_vru
CFSWString palat_vru (CFSWString s) {
CFSWString res;
bool m = false;
if (s == L"är'") res = L"ärq";
else
if (s == L"ar'") res = L"arq";
else
if (s == L"jäl'") res = L"jälq";
else
if (s == L"jal'") res = L"jalq";
else
if (s == L"kül'") res = L"külq";
else
if (s == L"pan'") res = L"panq";
else
if (s == L"tul'") res = L"tulq";
else
if (s == L"ol'") res = L"olq";
else
for (INTPTR i = s.GetLength()-1; i >= 0; i--) {
CFSWString c = s.GetAt(i);
if (c == L"'") {
m = true;
} else
if (must(c)) {
res = c + res;
m = true;
}
else
if (m) {
if (can_palat_vr(c)) {
c = c.ToUpper();
res = c + res;
} else {
res = c + res;
m = false;
}
} else {
res = c + res;
}
}
return res;
}
示例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;
}
}
//.........这里部分代码省略.........