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(); void init_mask();
// @cmember Legge la pagina da file // @cmember Legge la pagina da file
WINDOW read_page(TScanner& scanner, bool toolbar = false); 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 // @cmember Aggiunge i tags ad una pagina
void add_tag_button(byte pag, TToken_string& tags, byte sel); void add_tag_button(byte pag, TToken_string& tags, byte sel);

View File

@ -1405,7 +1405,14 @@ bool TEditable_field::parse_item(TScanner& scanner)
#endif #endif
for (int i = 0; i < nparms; i++) for (int i = 0; i < nparms; i++)
{
// 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()); _validate->_parms.add(scanner.operand());
}
return TRUE; return TRUE;
} }

View File

@ -25,7 +25,7 @@ HIDDEN bool _expr_val(TMask_field& f, KEY)
const char* s = e.varname(i); const char* s = e.varname(i);
if (s[0] != '#') 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); return f.error_box((const char*)err);
} }
s++; s++;
@ -476,13 +476,14 @@ HIDDEN bool _date_cmp(TMask_field& f, KEY)
HIDDEN bool _fixlen_val(TMask_field& f, KEY) HIDDEN bool _fixlen_val(TMask_field& f, KEY)
{ {
const TFixed_string s(f.get()); if (f.empty())
return true;
if (s.empty()) return TRUE;
const TString& s = f.get();
const int length = atoi(get_val_param(0)); const int length = atoi(get_val_param(0));
const bool ok = s.len() == length; 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; return ok;
} }