Corretti errori 0397 in parte, MI1034 e MI4011

git-svn-id: svn://10.65.10.50/trunk@491 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-10-31 11:13:07 +00:00
parent 7393952fab
commit aff1df6bf0

View File

@ -589,7 +589,7 @@ TCursor_sheet::TCursor_sheet(TCursor* cursor, const char* fields,
TToken_string fldlst(fields); TToken_string fldlst(fields);
int campi = 0; int campi = 0;
for (const char* t = fldlst.get(0); t; t = fldlst.get(), campi++) for (const char* t = fldlst.get(0); t; t = fldlst.get(), campi++)
if (*t > ' ' && *t != '\"') if (*t > ' ' && *t != '"')
{ {
TFieldref fr(t, 0); TFieldref fr(t, 0);
TRecfield* rf = new TRecfield(_cursor->curr(fr.file()), TRecfield* rf = new TRecfield(_cursor->curr(fr.file()),
@ -705,14 +705,16 @@ bool TBrowse_sheet::on_key(KEY k)
{ {
WINDOW ctl = get_ctl_window(win(), 100); WINDOW ctl = get_ctl_window(win(), 100);
const bool alnum = (k >= '0' && k <= '9') || const bool alnum = k < 256 && isprint(k);
(k >= 'A' && k <= 'Z') ||
(k >= 'a' && k <= 'z') ||
k == ' ';
if (alnum || k == K_BACKSPACE || k == K_DEL) if (alnum || k == K_BACKSPACE || k == K_DEL)
{ {
const long oldsel = selected(); const long oldsel = selected();
const TString80 old(_field->get()); // const TString80 old(_field->get());
WINDOW fwin = get_ctl_window(_field->parent(), _field->dlg());
TString80 old;
get_title(fwin, (char *) (const char *) old, 80);
old.ltrim();
TString80 val((const char*)old); TString80 val((const char*)old);
if (alnum) if (alnum)
@ -722,14 +724,17 @@ bool TBrowse_sheet::on_key(KEY k)
val << char(k); val << char(k);
} }
else val.rtrim(1); else val.rtrim(1);
field().set(val); // field().set(val);
set_title(fwin, (char *) (const char*) val);
((TBrowse*)field().browse())->do_input(FALSE); ((TBrowse*)field().browse())->do_input(FALSE);
_cursor->read(); _cursor->read();
if (_cursor->file().bad()) if (_cursor->file().bad())
{ {
beep(); beep();
field().set(val = old); // field().set(val = old);
val = old;
set_title(fwin, (char *) (const char *)val);
*_cursor = oldsel; *_cursor = oldsel;
} }
else else
@ -740,7 +745,7 @@ bool TBrowse_sheet::on_key(KEY k)
} }
else else
{ {
field().reset(); field().set("");
if (ctl != NULL_WIN) set_title(ctl, ""); if (ctl != NULL_WIN) set_title(ctl, "");
} }