Patch level : 4.0

Files correlati     : mg0
Ricompilazione Demo : [ ]
Commento            :
Migliorata gestione STR_CALC formule


git-svn-id: svn://10.65.10.50/trunk@15474 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2007-07-06 10:17:28 +00:00
parent 61b9ba448d
commit a9c174ce00
3 changed files with 17 additions and 9 deletions

View File

@ -118,7 +118,7 @@ protected:
void init_mask();
// @cmember Legge la pagina da file
WINDOW read_page(TScanner& scanner, bool toolbar = false);
WINDOW insert_page(const char* title, int where);
WINDOW insert_page(const char* title, int pos);
// @cmember Aggiunge i tags ad una pagina
void add_tag_button(byte pag, TToken_string& tags, byte sel);

View File

@ -1403,9 +1403,16 @@ bool TEditable_field::parse_item(TScanner& scanner)
return yesnofatal_box("Numero di parametri VALIDATE errato nel campo %d: %d",
_ctl_data._dlg, nparms);
#endif
for (int i = 0; i < nparms; i++)
_validate->_parms.add(scanner.operand());
{
// per risolvere problemi nelle formule
// l'ultimo parametro viene letto fino in fondo alla riga
if (i == nparms-1)
_validate->_parms.add(scanner.line().trim());
else
_validate->_parms.add(scanner.operand());
}
return TRUE;
}

View File

@ -25,7 +25,7 @@ HIDDEN bool _expr_val(TMask_field& f, KEY)
const char* s = e.varname(i);
if (s[0] != '#')
{
TString err; err << TR("Non esiste la variabile ") << s << TR(" nell'espressione ") << e;
TString err; err << TR("Le variabili devono cominciare con #") << ": " << s << '\n' << e;
return f.error_box((const char*)err);
}
s++;
@ -474,15 +474,16 @@ HIDDEN bool _date_cmp(TMask_field& f, KEY)
return FALSE;
}
HIDDEN bool _fixlen_val(TMask_field& f, KEY)
HIDDEN bool _fixlen_val(TMask_field& f, KEY)
{
const TFixed_string s(f.get());
if (s.empty()) return TRUE;
if (f.empty())
return true;
const TString& s = f.get();
const int length = atoi(get_val_param(0));
const bool ok = s.len() == length;
if (!ok) f.error_box(FR("Lunghezza errata: deve essere %d"), length);
if (!ok)
f.error_box(FR("La lunghezza del campo deve essere %d"), length);
return ok;
}