maskfld.cpp Corretta picture data degli edit_field

relation.cpp Corretta write dei record_array


git-svn-id: svn://10.65.10.50/trunk@2623 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-02-21 09:01:24 +00:00
parent f63419ff75
commit 772fee0c03
2 changed files with 22 additions and 16 deletions

View File

@ -551,7 +551,8 @@ const char* TMask_field::picture_data(
if (video) if (video)
{ {
fpark = data; fpark = data;
smart_trim(fpark, byte(_flags.trim)); const byte t = _flags.trim;
smart_trim(fpark, t);
if (_flags.uppercase) if (_flags.uppercase)
fpark.upper(); fpark.upper();
return fpark; return fpark;
@ -628,8 +629,9 @@ TString& TMask_field::get() const
gpark = get_window_data(); gpark = get_window_data();
else else
gpark = get_field_data(); gpark = get_field_data();
smart_trim(gpark,(byte) _flags.trim); const byte t = _flags.trim;
smart_trim(gpark, t);
return gpark; return gpark;
} }
@ -2220,8 +2222,10 @@ const char* TEdit_field::get_field_data() const
const char* TEdit_field::format(const char* d) const const char* TEdit_field::format(const char* d) const
{ {
fpark = d; fpark = d;
smart_trim(fpark, (byte) _flags.trim);
const byte t = _flags.trim;
smart_trim(fpark, t);
if (fpark.not_empty()) if (fpark.not_empty())
{ {
@ -2262,10 +2266,8 @@ const char* TEdit_field::format(const char* d) const
const char* TEdit_field::picture_data(const char* data, bool video) const const char* TEdit_field::picture_data(const char* data, bool video) const
{ {
fpark = video ? data : format(data); format(data); // Scrive in fpark la stringa formattata
smart_trim(fpark, (byte) _flags.trim);
return fpark; return fpark;
} }

View File

@ -2059,28 +2059,32 @@ int TRecord_array::write(bool re) const
} }
else else
{ {
const int pos = i+_offset; const int pos = i+_offset;
if (pos > last_on_file)
// Se pos < last_on_file sicuramente la read fallira' per cui la riga
// non puo' esistere su file: non esistendo nemmeno in memoria non devo
// fare assolutamente nulla!
if (pos >= last_on_file) // Puo' esistere su file?
{ {
TRectype* rec = (TRectype*)key().dup(); TRectype* rec = (TRectype*)key().dup();
CHECK(!rec->empty(), "TRecord_array has an empty key"); CHECK(!rec->empty(), "TRecord_array has an empty key");
rec->put(_num, pos); rec->put(_num, pos);
err = rec->read(f, _isgteq); err = rec->read(f, _isgteq);
if (err == NOERR && good(*rec)) // La riga c'era ma ora non piu' if (err == NOERR && good(*rec)) // Cerca una riga >= pos sul file
{ {
last_on_file = atoi(rec->get(_num)); last_on_file = atoi(rec->get(_num));
if (last_on_file == pos) if (last_on_file == pos) // La riga c'era ma ora non piu'
{ {
err = (rec->remove(f)); err = (rec->remove(f)); // Cancello il record indesiderato
if (err != NOERR) if (err != NOERR)
{ {
delete rec; delete rec; // Orrore! Un errore di cancellazione!
break; break;
} }
} }
} }
else else
last_on_file = EOR; last_on_file = EOR; // Sul file non ci sono piu' righe da cancellare
delete rec; delete rec;
} }
} }