Exemplo n.º 1
0
__Array* CSVParser::parse(const char* fileName)
{
	auto sharedFileUtils = FileUtils::getInstance();

	string pathKey = sharedFileUtils->fullPathForFilename(fileName);

	string content = sharedFileUtils->getStringFromFile(pathKey);
	__String* contentStr  = __String::create(content);

	__Array* rows = contentStr->componentsSeparatedByString("\n");

	__Array* ret = __Array::createWithCapacity(rows->count());

	Ref *obj = nullptr;
	CCARRAY_FOREACH(rows, obj)
	{
		auto fieldStr = static_cast<__String*>(obj);
		__Array* fields = fieldStr->componentsSeparatedByString(",");
		ret->addObject(fields);
	}
Exemplo n.º 2
0
bool LDLibraryUpdateInfo::parseUpdateLine(const char *updateLine)
{
	int partCount;
	char **updateParts = componentsSeparatedByString(updateLine, "\t",
		partCount);
	bool retValue = false;

	if (updateParts && partCount > 4)
	{
		if (stringHasPrefix(updateParts[0], "COMPLETE"))
		{
			m_updateType = LDLibraryFullUpdate;
		}
		else if (stringHasPrefix(updateParts[0], "UPDATE"))
		{
			m_updateType = LDLibraryPartialUpdate;
		}
		else if (stringHasPrefix(updateParts[0], "BASE"))
		{
			m_updateType = LDLibraryBaseUpdate;
		}
	}
	if (m_updateType != LDLibraryUnknownUpdate)
	{
		if (stringHasPrefix(updateParts[1], "ARJ"))
		{
			m_format = LDLibraryExeFormat;
		}
		else if (stringHasPrefix(updateParts[1], "ZIP"))
		{
			m_format = LDLibraryZipFormat;
		}
	}
	if (m_format != LDLibraryUnknownFormat)
	{
		m_date = copyString(updateParts[2]);
	}
	if (m_date && m_date[0])
	{
		m_url = copyString(updateParts[3]);
	}
	if (m_url && m_url[0])
	{
		char *spot = strrchr(m_url, '/');
		
		if (spot)
		{
			m_name = copyString(spot + 1);
			spot = strchr(m_name, '.');
			if (spot)
			{
				*spot = 0;
			}
			else
			{
				m_name[0] = 0;
			}
		}
	}
	if (m_name && m_name[0])
	{
		if (sscanf(updateParts[4], "%d", &m_size) == 1)
		{
			retValue = true;
		}
	}
	deleteStringArray(updateParts, partCount);
	return retValue;
}