本文整理汇总了C++中WideString::length方法的典型用法代码示例。如果您正苦于以下问题:C++ WideString::length方法的具体用法?C++ WideString::length怎么用?C++ WideString::length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WideString
的用法示例。
在下文中一共展示了WideString::length方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
PyObject *
PyIMEngine::py_get_surrounding_text (PyIMEngineObject *self, PyObject *args)
{
PyObject *tuple;
int maxlen_before = -1;
int maxlen_after = -1;
if (!PyArg_ParseTuple (args, "|ii:get_surrounding_text", &maxlen_before, &maxlen_after))
return NULL;
WideString text;
int cursor;
int provided = self->engine.get_surrounding_text(text, cursor, maxlen_before, maxlen_after);
tuple = PyTuple_New (2);
if (!provided) {
text = L"";
cursor = 0;
}
#if Py_UNICODE_SIZE == 4
PyTuple_SET_ITEM (tuple, 0, PyUnicode_FromUnicode ((Py_UNICODE *)text.c_str(), text.length()));
#else
gunichar2 *utf16_str = g_ucs4_to_utf16 (text.c_str(), -1, NULL, NULL, NULL);
PyTuple_SET_ITEM (tuple, 0, PyUnicode_FromUnicode ((Py_UNICODE *)utf16_str, text.length()));
#endif
PyTuple_SET_ITEM (tuple, 1, PyInt_FromLong ((long) cursor));
return tuple;
}
示例2: setRichText
void RichEditFrame::setRichText(WideString text)
{
EditStreamCookie cookie;
cookie.str = text;
cookie.pos = 0;
EDITSTREAM es;
es.dwCookie = (DWORD_PTR) &cookie;
es.dwError = 0;
es.pfnCallback = StreamCallback;
SendMessage(hWnd, EM_EXLIMITTEXT, 0, (text.length() < 32768 ? 32768 : text.length() + 1));
SendMessage(hWnd, EM_STREAMIN, SF_RTF, (uint32) &es);
}
示例3: translateToXML
//---------------------------------
WideString StringUtils::translateToXML ( const WideString &srcString )
{
WideString returnString;
for ( unsigned int i=0; i<srcString.length(); ++i )
{
switch ( srcString[i])
{
case '\r':
returnString += L"
";
break;
case '<':
returnString += L"<";
break;
case '>':
returnString += L">";
break;
case '&':
returnString += L"&";
break;
case '"':
returnString += L""";
break;
case '\'':
returnString += L"'";
break;
default :
returnString += srcString[i];
}
}
return returnString;
}
示例4: TextFieldKeyPressed
bool LodDistanceControl::TextFieldKeyPressed(UITextField * textField, int32 replacementLocation, int32 replacementLength, const WideString & replacementString)
{
if (replacementLength < 0)
{
return true;
}
WideString newText = textField->GetAppliedChanges(replacementLocation, replacementLength, replacementString);
bool allOk;
int pointsCount = 0;
for (int i = 0; i < newText.length(); i++)
{
allOk = false;
if (newText[i] == L'-' && i == 0)
{
allOk = true;
}
else if(newText[i] >= L'0' && newText[i] <= L'9')
{
allOk = true;
}
else if(newText[i] == L'.' && pointsCount == 0)
{
allOk = true;
pointsCount++;
}
if (!allOk)
{
return false;
}
}
return true;
};
示例5:
void
HangulInstance::hangul_update_preedit_string ()
{
WideString wstr = get_preedit_string ();
if (wstr.length ()) {
AttributeList attrs;
attrs.push_back(Attribute(0, m_preedit.length(), SCIM_ATTR_DECORATE, SCIM_ATTR_DECORATE_UNDERLINE));
attrs.push_back(Attribute(m_preedit.length(), wstr.length() - m_preedit.length(), SCIM_ATTR_DECORATE, SCIM_ATTR_DECORATE_REVERSE));
show_preedit_string ();
update_preedit_string (wstr, attrs);
update_preedit_caret (wstr.length());
} else {
hide_preedit_string ();
}
}
示例6: getTextSize
SIZE FontSys::getTextSize(HFONT font, WideString text)
{
SIZE sz;
SelectObject(instance.hDC, font);
GetTextExtentPoint32(instance.hDC, text, text.length(), &sz);
return sz;
}
示例7:
AttributeList
SKKCandList::get_attributes (int index) const
{
AttributeList al = CommonLookupTable::get_attributes(index);
if (annot_view && annot_pos &&
(annot_target || get_cursor_pos() == index)) {
WideString annot = get_annot(index);
WideString cand = get_cand(index);
if (annot_highlight && !annot.empty()) {
al.push_back(Attribute(cand.length(), annot.length(),
SCIM_ATTR_BACKGROUND,
annot_bgcolor));
}
}
return al;
}
示例8: append_candidate
bool
SKKCandList::append_candidate (const WideString &cand,
const WideString &annot,
const WideString &cand_orig,
const AttributeList &attrs)
{
if (cand.length() == 0)
return false;
if (m_candvec.size() < candvec_size) {
m_candvec.push_back(CandEnt(cand, annot, cand_orig));
return true;
} else {
m_annot_buf->m_index.push_back(m_annot_buf->m_buffer.size());
if (!annot.empty())
m_annot_buf->m_buffer.insert(m_annot_buf->m_buffer.end(),
annot.begin(), annot.end());
m_cand_orig_buf->m_index.push_back(m_cand_orig_buf->m_buffer.size());
if (!cand_orig.empty())
m_cand_orig_buf->m_buffer.insert(m_cand_orig_buf->m_buffer.end(),
cand_orig.begin(),
cand_orig.end());
return CommonLookupTable::append_candidate(cand, attrs);
}
}
示例9:
CScValue *CScValue::GetProp(char *Name) {
if (m_Type == VAL_VARIABLE_REF) return m_ValRef->GetProp(Name);
if (m_Type == VAL_STRING && strcmp(Name, "Length") == 0) {
Game->m_ScValue->m_Type = VAL_INT;
if (Game->m_TextEncoding == TEXT_ANSI) {
Game->m_ScValue->SetInt(strlen(m_ValString));
} else {
WideString wstr = StringUtil::Utf8ToWide(m_ValString);
Game->m_ScValue->SetInt(wstr.length());
}
return Game->m_ScValue;
}
CScValue *ret = NULL;
if (m_Type == VAL_NATIVE && m_ValNative) ret = m_ValNative->ScGetProperty(Name);
if (ret == NULL) {
m_ValIter = m_ValObject.find(Name);
if (m_ValIter != m_ValObject.end()) ret = m_ValIter->second;
}
return ret;
}
示例10: WideString2QStrint
QString WideString2QStrint(const WideString& str)
{
#ifdef __DAVAENGINE_MACOS__
return QString::fromStdWString(str);
#else
return QString((const QChar*)str.c_str(), str.length());
#endif
}
示例11:
bool
NativeLookupTable::append_entry (const WideString &entry)
{
if (entry.length () > 0) {
m_strings.push_back (entry);
return true;
}
return false;
}
示例12: resetSize
void LinkFrame::resetSize()
{
HDC hDC = GetDC(hWnd);
SelectObject(hDC, hFont);
SIZE sz;
WideString text = getText();
GetTextExtentPoint32(hDC, text, text.length(), &sz);
ReleaseDC(hWnd, hDC);
setSize(sz.cx, sz.cy);
}
示例13: equalsIgnoreCase
//--------------------------------
bool StringUtils::equalsIgnoreCase ( const WideString& s1, const WideString& s2 )
{
if ( s1.length() != s2.length() )
return false;
WideString::const_iterator it1=s1.begin();
WideString::const_iterator it2=s2.begin();
// has the end of at least one of the strings been reached?
while ( (it1!=s1.end()) && (it2!=s2.end()) )
{
if(::toupper(*it1) != ::toupper(*it2)) //letters differ?
return false;
// proceed to the next character in each string
++it1;
++it2;
}
return true;
}
示例14:
void
ArrayInstance::space_key_press()
{
// space is the page down key when keying symbols and phrases
if (m_lookup_table.number_of_candidates() > m_lookup_table.get_page_size())
{
lookup_table_page_down();
return;
}
WideString inkey = m_preedit_string;
// If the user is already press the space before,
// commit the first candidate in the lookup table
if (commit_press_count == 1)
{
WideString str = m_lookup_table.get_candidate_in_current_page (0);
if (str.compare(utf8_mbstowcs(SCIM_ARRAY_EMPTY_CHAR)) == 0) {
hide_lookup_table();
return;
}
if (str.length()) {
send_commit_string(inkey, str);
return;
}
}
create_lookup_table(_ScimArray::Array_Table);
update_lookup_table(m_lookup_table);
if (m_lookup_table.number_of_candidates() > 1)
{
show_lookup_table();
commit_press_count++;
return;
}
hide_lookup_table();
WideString str = m_lookup_table.get_candidate_in_current_page (0);
if (str.length() && str.compare(utf8_mbstowcs(SCIM_ARRAY_EMPTY_CHAR))) {
send_commit_string(inkey, str);
return;
}
}
示例15: CreateGlobalText
HGLOBAL CreateGlobalText(WideString text)
{
HGLOBAL data = GlobalAlloc(GMEM_MOVEABLE, (text.length() + 1) * 2);
wchar_t* ptr = (wchar_t*) GlobalLock(data);
if (ptr)
{
wcscpy(ptr, text.c_str());
GlobalUnlock(data);
}
return data;
}