aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--parsingtoolbox.cpp19
-rw-r--r--parsingtoolbox.h2
2 files changed, 17 insertions, 4 deletions
diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp
index 1e8819c..e04dcbe 100644
--- a/parsingtoolbox.cpp
+++ b/parsingtoolbox.cpp
@@ -316,7 +316,8 @@ bool ParsingToolBox::readNumber(QString& str, qint64& myNumber)
if(number.isEmpty())
{
- return readVariable(str,myNumber);
+ QString reason;
+ return readVariable(str,myNumber,reason);
}
bool ok;
@@ -381,7 +382,7 @@ bool ParsingToolBox::readString(QString &str, QString& strResult)
return false;
}
-bool ParsingToolBox::readVariable(QString &str, qint64 &myNumber)
+bool ParsingToolBox::readVariable(QString &str, qint64 &myNumber, QString& reasonFail)
{
if(str.isEmpty())
return false;
@@ -395,6 +396,7 @@ bool ParsingToolBox::readVariable(QString &str, qint64 &myNumber)
if(NULL!=m_variableHash)
{
+ qDebug() << m_variableHash->keys();
if(m_variableHash->contains(key))
{
QString value = m_variableHash->value(key);
@@ -406,10 +408,21 @@ bool ParsingToolBox::readVariable(QString &str, qint64 &myNumber)
str=str.remove(0,post+1);
return true;
}
+ else
+ {
+ reasonFail = QStringLiteral("Variable value is %1, not a number").arg(value);
+ }
}
+ else
+ {
+ reasonFail = QStringLiteral("Variable not found");
+ }
+ }
+ else
+ {
+ reasonFail = QStringLiteral("No Variables are defined");
}
-
return false;
diff --git a/parsingtoolbox.h b/parsingtoolbox.h
index 75c01c2..6bfffd0 100644
--- a/parsingtoolbox.h
+++ b/parsingtoolbox.h
@@ -110,7 +110,7 @@ public:
* @param myNumber
* @return
*/
- static bool readVariable(QString& str,qint64& myNumber);
+ static bool readVariable(QString& str,qint64& myNumber, QString& reasonFail);
/**
* @brief readOpenParentheses
* @param str