Patch level : 2.0 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@11732 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
05314c3ac4
commit
8cd8fe5fe2
@ -130,18 +130,35 @@ const TString& TTextRecord::GetValue(const TString& name) const
|
||||
const TXmlItem* f = FindField(name);
|
||||
if (f != NULL)
|
||||
return GetFieldValue(*f);
|
||||
return EMPTY_STRING;
|
||||
return name;
|
||||
}
|
||||
|
||||
const TString& TTextRecord::Evaluate(TExpression& exp) const
|
||||
{
|
||||
for (int i = exp.numvar()-1; i >= 0; i--)
|
||||
TString& str = (TString&)m_str;
|
||||
|
||||
str = exp.string();
|
||||
if (str.starts_with("BEFORE(AFTER"))
|
||||
{
|
||||
const TString& name = exp.varname(i);
|
||||
const TString& value = GetValue(name);
|
||||
exp.setvar(i, value);
|
||||
int i = 0;
|
||||
i++;
|
||||
}
|
||||
return exp.as_string();
|
||||
|
||||
const int nv = exp.numvar();
|
||||
if (nv > 0)
|
||||
{
|
||||
for (int i = nv-1; i >= 0; i--)
|
||||
{
|
||||
const TString& name = exp.varname(i);
|
||||
const TString& value = GetValue(name);
|
||||
exp.setvar(i, value);
|
||||
}
|
||||
str = exp.as_string();
|
||||
}
|
||||
else
|
||||
str = exp.string(); // Nessuna variabile = costante!
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -272,11 +289,17 @@ ofstream& TCasaEditrice::ChooseOutput(const TTextRecord& rec)
|
||||
TCasaEditrice::TCasaEditrice(const TXmlItem& trc, const char* name) : m_trc(trc), m_exprSuffix(NULL)
|
||||
{
|
||||
const TFilename path(name);
|
||||
m_strExt = path.ext();
|
||||
m_strPrefix = path.name();
|
||||
const int dot = m_strPrefix.find('.');
|
||||
const int dot = path.rfind('.');
|
||||
if (dot >= 0)
|
||||
m_strPrefix.cut(dot);
|
||||
{
|
||||
m_strPrefix = path.left(dot);
|
||||
m_strExt = path.mid(dot+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_strPrefix = path;
|
||||
m_strExt.cut(0);
|
||||
}
|
||||
|
||||
const TXmlItem* pOutFile = m_trc.FindFirst("Output");
|
||||
CHECK(pOutFile, "NULL Output tag");
|
||||
|
Loading…
x
Reference in New Issue
Block a user