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); err=CBuildKey(isfd->r, isfd->knum, record.string(),key,TRUE);
if (err == NOERR) if (err == NOERR)
{ {
err=DB_seek(isfd->fhnd,key); err = DB_seek(isfd->fhnd,key);
if (err != NOERR)err=get_error(err); 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 else
{ {
@ -581,7 +585,7 @@ int TBaseisamfile::next(word lockop)
if (_lasterr != NOERR) if (_lasterr != NOERR)
{ {
_lasterr = get_error(_lasterr); _lasterr = get_error(_lasterr);
if (_lasterr != _islocked) if (_lasterr != _islocked && _lasterr != _iseof)
fatal_box("Errore nella next %d : non posso riposizionarmi", _lasterr); 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) if (sheet_mask().id2pos(FIRST_FIELD -1) != -1)
attr |= XI_ATR_SELECTABLE; 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" : ""); attr & XI_ATR_SELECTABLE ? "X" : "");
coldef->v.column->heading_platform = TRUE; 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(); 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) 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(); const int next = m.next_fld();
@ -503,11 +504,8 @@ HIDDEN bool _autoexit_val(TMask_field& f, KEY key)
one_not_empty = TRUE; 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; return TRUE;
} }