isam.cpp Corretta _isgreat e _isnext nella cisread

msksheet.cpp Corretta gestione numero di riga maggiore di 99
validate.cpp Riaggiustata validate autoexit_func


git-svn-id: svn://10.65.10.50/trunk@2099 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-11-07 10:05:30 +00:00
parent 01f6871d6b
commit 24492c5ec1
3 changed files with 15 additions and 13 deletions

View File

@ -261,10 +261,14 @@ HIDDEN int cisread(isfdptr isfd, TRectype & record, int mode)
err=CBuildKey(isfd->r, isfd->knum, record.string(),key,TRUE);
if (err == NOERR)
{
err=DB_seek(isfd->fhnd,key);
if (err != NOERR)err=get_error(err);
err = DB_seek(isfd->fhnd,key);
if (rmode == _isgreat && err == NOERR)
err = DB_next(isfd->fhnd);
if (err != NOERR)
err = get_error(err);
}
if (rmode != _isequal && err == _iskeynotfound) err = NOERR;
if (rmode != _isequal && err == _iskeynotfound)
err = NOERR;
}
else
{
@ -581,7 +585,7 @@ int TBaseisamfile::next(word lockop)
if (_lasterr != NOERR)
{
_lasterr = get_error(_lasterr);
if (_lasterr != _islocked)
if (_lasterr != _islocked && _lasterr != _iseof)
fatal_box("Errore nella next %d : non posso riposizionarmi", _lasterr);
}
}

View File

@ -364,7 +364,7 @@ TSpreadsheet::TSpreadsheet(
if (sheet_mask().id2pos(FIRST_FIELD -1) != -1)
attr |= XI_ATR_SELECTABLE;
XI_OBJ_DEF* coldef = xi_add_column_def(listdef, 0, attr, 0, NUMBER_WIDTH, NUMBER_WIDTH,
XI_OBJ_DEF* coldef = xi_add_column_def(listdef, 0, attr, 0, NUMBER_WIDTH, NUMBER_WIDTH+1,
attr & XI_ATR_SELECTABLE ? "X" : "");
coldef->v.column->heading_platform = TRUE;

View File

@ -396,7 +396,7 @@ HIDDEN bool _xtz_cf_val(TMask_field& f, KEY key)
}
HIDDEN bool _notempty_val(TMask_field& f, KEY)
HIDDEN bool _notempty_val(TMask_field& f, KEY)
{
return f.mask().query_mode() || f.get().not_empty();
}
@ -472,9 +472,10 @@ HIDDEN bool _reqif_val(TMask_field& f, KEY k)
HIDDEN bool _autoexit_val(TMask_field& f, KEY key)
{
TMask& m = f.mask();
TMask& m = f.mask();
if (m.mode() != MODE_QUERY) return TRUE;
if (!m.query_mode() || key == K_ENTER)
return TRUE;
const int next = m.next_fld();
@ -503,11 +504,8 @@ HIDDEN bool _autoexit_val(TMask_field& f, KEY key)
one_not_empty = TRUE;
}
if (key == K_TAB)
{
if (one_not_empty)
f.mask().stop_run(K_AUTO_ENTER);
}
if (one_not_empty)
f.mask().stop_run(K_AUTO_ENTER);
return TRUE;
}