Example #1
0
BOOL CEmoticons::Load()
{
    Clear();
    m_pImage.Create( EMOTICON_SIZE, EMOTICON_SIZE, ILC_COLOR32|ILC_MASK, 1, 8 ) ||
    m_pImage.Create( EMOTICON_SIZE, EMOTICON_SIZE, ILC_COLOR24|ILC_MASK, 1, 8 ) ||
    m_pImage.Create( EMOTICON_SIZE, EMOTICON_SIZE, ILC_COLOR16|ILC_MASK, 1, 8 );

    if ( ! LoadXML( Settings.General.Path + _T("\\Data\\Emoticons.xml") ) )		// Settings.General.DataPath ?
        return FALSE;

    BuildTokens();

    return TRUE;
}
Example #2
0
void StringTokenizer::BuildTokens(std::string string_, std::string token_, jtoken_flag_t flag_, bool return_tokens_)
{
	/*
	char *s = (char *)string_.c_str(),
		 *t = (char *)token_.c_str(),
		 *token = strtok(s, t);
	
	while (token != NULL) {
		_tokens.push_back(token);
		
		token = strtok(NULL, t);
	}
	*/

	if (flag_ == TOKEN_FLAG) {
		unsigned long idx = 0; 
		
		while (true) {
			if (idx < string_.size()) {
				std::string::size_type s = string_.find_first_of(token_, idx);
				std::string::size_type e = string_.find_first_not_of(token_, idx);
				if ( !(s == idx && return_tokens_) ) {
					s = e;
					e = string_.find_first_of(token_, s);
				} else {
					e = s + 1;
				}
				
				idx = e;
				
				if (idx == std::string::npos) {
					break;
				}
			
				_tokens.push_back(string_.substr(s, e-s));
			} else {
				break;
			}
		}
	} else if (flag_ == SPLIT_FLAG) {
		unsigned int pos = string_.find(token_);

		/*
		// CHANGE:: remove pos != 0, caso entre em loop
		if (pos != 0 && pos != std::string::npos) {
			_tokens.push_back(string_.substr(0, pos));
			
			if (return_tokens_ == true) {
				_tokens.push_back(token_);
			}
			
			BuildTokens(string_.substr(pos+token_.size(), string_.length()), token_, flag_, return_tokens_);
		} else {
			_tokens.push_back(string_);
		}
		*/

		if (pos != std::string::npos) {
			_tokens.push_back(string_.substr(0, pos));
			
			if (return_tokens_ == true) {
				_tokens.push_back(token_);
			}
			
			BuildTokens(string_.substr(pos+token_.size(), string_.length()), token_, flag_, return_tokens_);
		} else {
			_tokens.push_back(string_);
		}
	} else {
		throw RuntimeException("Unknown token flag");
	}
}
Example #3
0
StringTokenizer::StringTokenizer(std::string string_, std::string token_, jtoken_flag_t flag_, bool return_tokens_)
{
	jcommon::Object::SetClassName("jcommon::StringTokenizer");
	
	BuildTokens(string_, token_, flag_, return_tokens_);
}