/* * functions.cpp * * Created on: Oct 6, 2011 * Author: Gapchich Vladislav */ #include "functions.h" #include #include #include #include #include #include int getNumFromString( QString *aString, const QString &aFirstStr, const QString &aSecondStr, bool *anOkFlag ) { int numPos = aString->indexOf(aFirstStr) + aFirstStr.size(); if (numPos < 0) { *anOkFlag = 0; return -1; /* NOTREACHED */ } int numLength = -1; for (int i = numPos; i < aString->size(); i++) { if (aSecondStr == aString->at(i)) { numLength = i - numPos; break; } } if (numLength <= 0) { *anOkFlag = 0; return -1; /* NOTREACHED */ } QString numString = aString->mid(numPos, numLength); if (numString.isEmpty()) { *anOkFlag = 0; return -1; /* NOTREACHED */ } bool ok = 0; int num = numString.toInt(&ok, 10); if (!ok) { *anOkFlag = 0; return -1; /* NOTREACHED */ } *anOkFlag = 1; return num; } /* * adds given suffix to the file name */ QString alterFileName(const QString &aFilename, const QString &aSuffix) { /* altering the name of a new file */ QString newFileName = aFilename; int dotPos = newFileName.lastIndexOf('.'); if (-1 == dotPos) dotPos = newFileName.size(); else newFileName.remove(dotPos, newFileName.size() - dotPos); newFileName.insert(dotPos, aSuffix); return newFileName; } QString removePath(const QString &aFilename) { QString newFileName = aFilename; int slashPos = newFileName.lastIndexOf('/'); newFileName.remove(0, slashPos + 1); return newFileName; } QString getPathFromFilename(const QString &aFilename) { QString path = aFilename; int slashPos = path.lastIndexOf('/'); path = path.mid(0, slashPos + 1); return path; } QString getDirFromPath(const QString *aPath) { int lastSlash = aPath->lastIndexOf("/"); int symbolCount = aPath->size() - (aPath->size() - lastSlash); QString dir = aPath->mid(0, symbolCount); return dir; } QString getFilenameFromPath(const QString *aPath) { int lastSlash = aPath->lastIndexOf("/") + 1; int strLen = aPath->size() - lastSlash; QString dir = aPath->mid(lastSlash, strLen); return dir; } /* * */