Corretto errore MI0159
git-svn-id: svn://10.65.10.50/trunk@1192 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0fded21259
commit
8be9148697
@ -2026,6 +2026,15 @@ bool TEdit_field::validate(KEY k)
|
|||||||
// Certified 90%
|
// Certified 90%
|
||||||
bool TEdit_field::on_hit()
|
bool TEdit_field::on_hit()
|
||||||
{
|
{
|
||||||
|
if (_validate_func >= 0 &&
|
||||||
|
(_validate_func == AUTOEXIT_FUNC ||
|
||||||
|
_validate_func == NUMCALC_FUNC ||
|
||||||
|
_validate_func == STRCALC_FUNC))
|
||||||
|
{
|
||||||
|
set(get());
|
||||||
|
bool ok = validate(is_edit() ? K_TAB : K_SPACE); // Check validation expression
|
||||||
|
if (!ok) return FALSE;
|
||||||
|
}
|
||||||
if (_handler)
|
if (_handler)
|
||||||
{
|
{
|
||||||
bool ok = _handler(*this, is_edit() ? K_TAB : K_SPACE);
|
bool ok = _handler(*this, is_edit() ? K_TAB : K_SPACE);
|
||||||
@ -2056,9 +2065,10 @@ bool TEdit_field::on_key(KEY key)
|
|||||||
switch(key)
|
switch(key)
|
||||||
{
|
{
|
||||||
case K_TAB:
|
case K_TAB:
|
||||||
if (_validate_func == AUTOEXIT_FUNC ||
|
if (_validate_func >= 0 &&
|
||||||
_validate_func == NUMCALC_FUNC ||
|
(_validate_func == AUTOEXIT_FUNC ||
|
||||||
_validate_func == STRCALC_FUNC)
|
_validate_func == NUMCALC_FUNC ||
|
||||||
|
_validate_func == STRCALC_FUNC))
|
||||||
set_focusdirty(); // Forza validate
|
set_focusdirty(); // Forza validate
|
||||||
if (to_check(K_TAB, TRUE))
|
if (to_check(K_TAB, TRUE))
|
||||||
{
|
{
|
||||||
|
@ -472,7 +472,21 @@ HIDDEN bool _reqif_val(TEdit_field& f, KEY k)
|
|||||||
|
|
||||||
HIDDEN bool _autoexit_val(TEdit_field& f, KEY key)
|
HIDDEN bool _autoexit_val(TEdit_field& f, KEY key)
|
||||||
{
|
{
|
||||||
if (f.mask().mode() != MODE_QUERY) return TRUE;
|
TMask& m = f.mask();
|
||||||
|
|
||||||
|
if (m.mode() != MODE_QUERY) return TRUE;
|
||||||
|
|
||||||
|
const int next = m.next_fld();
|
||||||
|
|
||||||
|
if (next != DLG_NULL && next != f.dlg() && m.field(next).in_key(0))
|
||||||
|
{
|
||||||
|
const byte last = m.num_keys();
|
||||||
|
|
||||||
|
for (byte k = 1; k <= last; k++)
|
||||||
|
if (f.in_key(k) && m.field(next).in_key(k))
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
const int nparms = get_val_param_num();
|
const int nparms = get_val_param_num();
|
||||||
bool one_not_empty = FALSE;
|
bool one_not_empty = FALSE;
|
||||||
for (int i = nparms; i-- > 0;)
|
for (int i = nparms; i-- > 0;)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user